You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2008/07/24 01:26:05 UTC

svn commit: r679230 - /openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java

Author: jgallimore
Date: Wed Jul 23 16:26:04 2008
New Revision: 679230

URL: http://svn.apache.org/viewvc?rev=679230&view=rev
Log:
OPENEJB-869 - publish was failing on WTP 3 due to a change in the API - ModuleFile has a slightly different hierarchy, so if we don't find the file field on the ModuleFile itself, we try the superclass. We're using reflection here as the class is internal to another plugin, is there a better way of doing this?

Modified:
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java

Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java?rev=679230&r1=679229&r2=679230&view=diff
==============================================================================
--- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java (original)
+++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java Wed Jul 23 16:26:04 2008
@@ -248,7 +248,23 @@
 			IPath relativePath = resource.getModuleRelativePath().append("/" + resource.getName());
 
 			try {
-				Field fileField = resource.getClass().getDeclaredField("file");
+				Field fileField = null;
+				try {
+					fileField = resource.getClass().getDeclaredField("file");
+				} catch (Exception e) {
+				}
+
+				if (fileField == null) {
+					try {
+						fileField = resource.getClass().getSuperclass().getDeclaredField("file");
+					} catch (Exception e) {
+					}
+				}
+				
+				if (fileField == null) {
+					return;
+				}
+				
 				fileField.setAccessible(true);
 				IFile obj = (IFile) fileField.get(resource);
 				InputStream is = obj.getContents();