Author: vyemialyanchyk
Date: 2010-05-14 16:01:00 -0400 (Fri, 14 May 2010)
New Revision: 22092
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Embeddable.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Entity.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/MappedSuperclass.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/spi/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/spi/PersistenceUnitTransactionType.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/Ejb3Configuration.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/HibernatePersistence.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/ClassFilter.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Entry.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/FileFilter.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Filter.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitor.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitorFactory.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/NamedInputStream.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PackageFilter.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceMetadata.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceXmlLoader.java
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/utils/OpenMappingUtils.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse/src/org/hibernate/console/ConsoleConfiguration.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/.classpath
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Document.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Element.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Visitor.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/base/HObject.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/stubs/util/OpenMappingUtilsEjb3.java
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/mapping/Column.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-6070 - fix bugs, fix with Hibernate 3.5, fix
issues with open mapping
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse/src/org/hibernate/console/ConsoleConfiguration.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse/src/org/hibernate/console/ConsoleConfiguration.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse/src/org/hibernate/console/ConsoleConfiguration.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -447,7 +447,15 @@
build();
buildSessionFactory();
}
- return configStub.getEntityResolver();
+ EntityResolver res = (EntityResolver)execute(new ExecutionContext.Command() {
+ public Object execute() {
+ if (configStub != null) {
+ return configStub.getEntityResolver();
+ }
+ return null;
+ }
+ } );
+ return res;
}
public HQLCodeAssist getHQLCodeAssist() {
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/utils/OpenMappingUtils.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/utils/OpenMappingUtils.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/utils/OpenMappingUtils.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -241,7 +241,6 @@
* @param table
* @return
*/
- @SuppressWarnings("unchecked")
public static boolean tableInFile(ConsoleConfiguration consoleConfig, IFile file, Table
table) {
EntityResolver entityResolver = consoleConfig.getEntityResolver();
Document doc = getDocument(file.getLocation().toFile(), entityResolver);
@@ -446,7 +445,6 @@
* @param element
* @return
*/
- @SuppressWarnings("unchecked")
public static IFile searchInMappingFiles(ConsoleConfiguration consoleConfig, Object
element) {
IFile file = null;
if (consoleConfig == null) {
@@ -991,7 +989,7 @@
final Cfg2HbmTool tool = Cfg2HbmTool.newInstance();
String toolTag = ""; //$NON-NLS-1$
PersistentClass pc = property.getPersistentClass();
- if (pc != null && pc.getIdentifierProperty() == property) {
+ if (pc != null && property.equals(pc.getIdentifierProperty())) {
if (property.isComposite()) {
toolTag = "composite-id"; //$NON-NLS-1$
} else {
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/.classpath
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/.classpath 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/.classpath 2010-05-14
20:01:00 UTC (rev 22092)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="lib"
path="lib/hibernate/cglib-2.2.jar"/>
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Embeddable.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Embeddable.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Embeddable.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,12 @@
+package javax.persistence.mediator.x;
+
+import org.hibernate.mediator.base.HObject;
+
+public class Embeddable extends HObject {
+
+ public static final String CL = "javax.persistence.Embeddable"; //$NON-NLS-1$
+
+ protected Embeddable(Object embeddable) {
+ super(embeddable, CL);
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Entity.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Entity.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/Entity.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,12 @@
+package javax.persistence.mediator.x;
+
+import org.hibernate.mediator.base.HObject;
+
+public class Entity extends HObject {
+
+ public static final String CL = "javax.persistence.Entity"; //$NON-NLS-1$
+
+ protected Entity(Object entity) {
+ super(entity, CL);
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/MappedSuperclass.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/MappedSuperclass.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/MappedSuperclass.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,12 @@
+package javax.persistence.mediator.x;
+
+import org.hibernate.mediator.base.HObject;
+
+public class MappedSuperclass extends HObject {
+
+ public static final String CL = "javax.persistence.MappedSuperclass";
//$NON-NLS-1$
+
+ protected MappedSuperclass(Object mappedSuperclass) {
+ super(mappedSuperclass, CL);
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/spi/PersistenceUnitTransactionType.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/spi/PersistenceUnitTransactionType.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/javax/persistence/mediator/x/spi/PersistenceUnitTransactionType.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,19 @@
+package javax.persistence.mediator.x.spi;
+
+import org.hibernate.mediator.base.HObject;
+
+public class PersistenceUnitTransactionType extends HObject {
+
+ public static final String CL =
"javax.persistence.spi.PersistenceUnitTransactionType"; //$NON-NLS-1$
+
+ public static final PersistenceUnitTransactionType RESOURCE_LOCAL =
+ new PersistenceUnitTransactionType(readStaticFieldValue(CL,
"RESOURCE_LOCAL"));
+
+ public static final PersistenceUnitTransactionType JTA =
+ new PersistenceUnitTransactionType(readStaticFieldValue(CL, "JTA"));
+
+ protected PersistenceUnitTransactionType(Object persistenceUnitTransactionType) {
+ super(persistenceUnitTransactionType, CL);
+ }
+
+}
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Document.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Document.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Document.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -23,6 +23,6 @@
@Override
public void accept(Visitor visitor) {
- visitor.visit(this);
+ invoke(mn(), visitor.Obj());
}
}
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Element.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Element.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Element.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -59,7 +59,11 @@
}
public Attribute attribute(String name) {
- return new Attribute(invoke(mn(), name));
+ Object obj = invoke(mn(), name);
+ if (obj == null) {
+ return null;
+ }
+ return new Attribute(obj);
}
public String getName() {
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Visitor.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Visitor.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/dom4j/mediator/x/Visitor.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -1,7 +1,63 @@
package org.dom4j.mediator.x;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+
+import org.hibernate.mediator.HibernateConsoleRuntimeException;
+import org.hibernate.mediator.stubs.util.ClassHelper;
+import org.hibernate.mediator.stubs.util.ReflectHelper;
+
public abstract class Visitor {
+ public static final String CL = "org.dom4j.Visitor"; //$NON-NLS-1$
+
+ protected Object visitor;
+
+ public Visitor() {
+ Class<?> clazz;
+ try {
+ clazz = ReflectHelper.classForName(CL);
+ } catch (ClassNotFoundException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ InvocationHandler handler = new InvocationHandler() {
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ if ("visit".equals(method.getName())) { //$NON-NLS-1$
+ Visitor.visit(Visitor.this, args[0]);
+ }
+ return null;
+ }
+ };
+ visitor = Proxy.newProxyInstance(clazz.getClassLoader(),
+ new Class[] { clazz }, handler);
+ }
+
+ // type of store object
+ public final Class<?> Cl() {
+ return visitor.getClass();
+ }
+
+ //
+ public final Object Obj() {
+ return visitor;
+ }
+
+ @SuppressWarnings("unchecked")
+ protected static void visit(Visitor visitor, Object obj) {
+ if (obj == null) {
+ return;
+ }
+ final Class cl = obj.getClass();
+ if (ClassHelper.isClassOrOffspring(cl, Document.CL)) {
+ visitor.visit(new Document(obj));
+ } else if (ClassHelper.isClassOrOffspring(cl, Element.CL)) {
+ visitor.visit(new Element(obj));
+ } else if (ClassHelper.isClassOrOffspring(cl, Attribute.CL)) {
+ visitor.visit(new Attribute(obj));
+ }
+ }
+
public void visit(Document document) {
}
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/base/HObject.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/base/HObject.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/base/HObject.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -45,6 +45,16 @@
return obj;
}
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj instanceof HObject) {
+ return (this.obj == ((HObject)obj).obj);
+ }
+ return false;
+ }
+
//
public Object invoke(final String methodName) {
return invoke(methodName, new HObject[0]);
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/stubs/util/OpenMappingUtilsEjb3.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/stubs/util/OpenMappingUtilsEjb3.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/stubs/util/OpenMappingUtilsEjb3.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -11,23 +11,23 @@
import java.util.Set;
import java.util.StringTokenizer;
-import javax.persistence.Embeddable;
-import javax.persistence.Entity;
-import javax.persistence.MappedSuperclass;
-import javax.persistence.spi.PersistenceUnitTransactionType;
+import javax.persistence.mediator.x.Embeddable;
+import javax.persistence.mediator.x.Entity;
+import javax.persistence.mediator.x.MappedSuperclass;
+import javax.persistence.mediator.x.spi.PersistenceUnitTransactionType;
-import org.hibernate.ejb.Ejb3Configuration;
-import org.hibernate.ejb.HibernatePersistence;
-import org.hibernate.ejb.packaging.ClassFilter;
-import org.hibernate.ejb.packaging.Entry;
-import org.hibernate.ejb.packaging.FileFilter;
-import org.hibernate.ejb.packaging.Filter;
-import org.hibernate.ejb.packaging.JarVisitor;
-import org.hibernate.ejb.packaging.JarVisitorFactory;
-import org.hibernate.ejb.packaging.NamedInputStream;
-import org.hibernate.ejb.packaging.PackageFilter;
-import org.hibernate.ejb.packaging.PersistenceMetadata;
-import org.hibernate.ejb.packaging.PersistenceXmlLoader;
+import org.hibernate.mediator.x.ejb.Ejb3Configuration;
+import org.hibernate.mediator.x.ejb.HibernatePersistence;
+import org.hibernate.mediator.x.ejb.packaging.ClassFilter;
+import org.hibernate.mediator.x.ejb.packaging.Entry;
+import org.hibernate.mediator.x.ejb.packaging.FileFilter;
+import org.hibernate.mediator.x.ejb.packaging.Filter;
+import org.hibernate.mediator.x.ejb.packaging.JarVisitor;
+import org.hibernate.mediator.x.ejb.packaging.JarVisitorFactory;
+import org.hibernate.mediator.x.ejb.packaging.NamedInputStream;
+import org.hibernate.mediator.x.ejb.packaging.PackageFilter;
+import org.hibernate.mediator.x.ejb.packaging.PersistenceMetadata;
+import org.hibernate.mediator.x.ejb.packaging.PersistenceXmlLoader;
import org.hibernate.mediator.stubs.util.CollectionHelper;
import org.xml.sax.EntityResolver;
@@ -63,7 +63,7 @@
if (xmls == null || !xmls.hasMoreElements()) {
return null;
}
- final String IMPLEMENTATION_NAME = HibernatePersistence.class.getName();
+ final String IMPLEMENTATION_NAME = HibernatePersistence.CL;
List<String> res = null;
while (xmls.hasMoreElements() && res == null) {
URL url = xmls.nextElement();
@@ -164,9 +164,8 @@
* @param metadata
* @throws IOException
*/
- @SuppressWarnings("unchecked")
private static void addMetadataFromVisitor(JarVisitor visitor, String addPath,
PersistenceMetadata metadata) throws IOException {
- Set[] entries = visitor.getMatchingEntries();
+ Set<Entry>[] entries = visitor.getMatchingEntries();
Filter[] filters = visitor.getFilters();
int size = filters.length;
List<String> classes = metadata.getClasses();
@@ -174,14 +173,13 @@
List<NamedInputStream> hbmFiles = metadata.getHbmfiles();
List<String> mappingFiles = metadata.getMappingFiles();
for (int index = 0; index < size; index++) {
- for (Object o : entries[index]) {
- Entry entry = (Entry) o;
+ for (Entry entry : entries[index]) {
if (filters[index] instanceof ClassFilter) {
classes.add(entry.getName());
} else if (filters[index] instanceof PackageFilter) {
packages.add(entry.getName());
} else if (filters[index] instanceof FileFilter) {
- hbmFiles.add(new NamedInputStream(addPath + "/" + entry.getName(),
//$NON-NLS-1$
+ hbmFiles.add(NamedInputStream.create(addPath + "/" + entry.getName(),
//$NON-NLS-1$
entry.getInputStream()));
if (mappingFiles != null) {
mappingFiles.remove(entry.getName());
@@ -251,30 +249,27 @@
int size = (detectedArtifacts[0] ? 2 : 0) + ((searchORM || detectedArtifacts[1] ||
mappingFilesSize > 0) ? 1 : 0);
Filter[] filters = new Filter[size];
if (detectedArtifacts[0]) {
- filters[0] = new PackageFilter(false, null) {
+ filters[0] = PackageFilter.newInstance(false, null, new Filter.IAcceptHolder() {
public boolean accept(String javaElementName) {
return true;
}
- };
- filters[1] = new ClassFilter(
- false, new Class[] {
- Entity.class,
- MappedSuperclass.class,
- Embeddable.class}
- ) {
- public boolean accept(String javaElementName) {
- return true;
- }
- };
+ });
+ filters[1] = ClassFilter.newInstance(false,
+ new Class[] { Entity.class, MappedSuperclass.class, Embeddable.class },
+ new Filter.IAcceptHolder() {
+ public boolean accept(String javaElementName) {
+ return true;
+ }
+ });
}
if (detectedArtifacts[1] || searchORM || mappingFilesSize > 0) {
- filters[size - 1] = new FileFilter(true) {
+ filters[size - 1] = FileFilter.newInstance(true, new Filter.IAcceptHolder() {
public boolean accept(String javaElementName) {
return (detectedArtifacts[1] &&
javaElementName.endsWith("hbm.xml")) //$NON-NLS-1$
|| (searchORM && javaElementName.endsWith(META_INF_ORM_XML))
|| (mappingFilesSize > 0 && mappingFiles.contains(javaElementName));
}
- };
+ });
}
return filters;
}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/Ejb3Configuration.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/Ejb3Configuration.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/Ejb3Configuration.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,13 @@
+package org.hibernate.mediator.x.ejb;
+
+import org.hibernate.mediator.base.HObject;
+
+public class Ejb3Configuration extends HObject {
+
+ public static final String CL = "org.hibernate.ejb.Ejb3Configuration";
//$NON-NLS-1$
+
+ protected Ejb3Configuration(Object ejb3Configuration) {
+ super(ejb3Configuration, CL);
+ }
+
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/HibernatePersistence.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/HibernatePersistence.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/HibernatePersistence.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,15 @@
+package org.hibernate.mediator.x.ejb;
+
+import org.hibernate.mediator.base.HObject;
+
+public class HibernatePersistence extends HObject {
+
+ public static final String CL = "org.hibernate.ejb.HibernatePersistence";
//$NON-NLS-1$
+
+ protected HibernatePersistence(Object hibernatePersistence) {
+ super(hibernatePersistence, CL);
+ }
+
+ public static final String AUTODETECTION = (String)HObject.readStaticFieldValue(CL,
"AUTODETECTION"); //$NON-NLS-1$
+
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/ClassFilter.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/ClassFilter.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/ClassFilter.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,38 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.Enhancer;
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+import org.hibernate.mediator.HibernateConsoleRuntimeException;
+import org.hibernate.mediator.stubs.util.ReflectHelper;
+
+public class ClassFilter extends Filter {
+
+ public static final String CL = "org.hibernate.ejb.packaging.ClassFilter";
//$NON-NLS-1$
+
+ protected ClassFilter(Object classFilter) {
+ super(classFilter, CL);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static ClassFilter newInstance(boolean retrieveStream, Class[] annotations, final
IAcceptHolder acceptHolder) {
+ Class<?> clazz;
+ try {
+ clazz = ReflectHelper.classForName(CL);
+ } catch (ClassNotFoundException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ MethodInterceptor mi = new MethodInterceptor() {
+ public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy)
throws Throwable {
+ return acceptHolder.accept((String)args[0]);
+ }
+ };
+ Enhancer e = createEnhancer(clazz, mi);
+ Object packageFilter = e.create(new Class[] { boolean.class, Class[].class },
+ new Object[] { retrieveStream, annotations } );
+ return new ClassFilter(packageFilter);
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Entry.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Entry.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Entry.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,23 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.io.InputStream;
+
+import org.hibernate.mediator.base.HObject;
+
+public class Entry extends HObject {
+
+ public static final String CL = "org.hibernate.ejb.packaging.Entry";
//$NON-NLS-1$
+
+ protected Entry(Object entry) {
+ super(entry, CL);
+ }
+
+ public String getName() {
+ return (String)invoke(mn());
+ }
+
+ public InputStream getInputStream() {
+ return (InputStream)invoke(mn());
+ }
+
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/FileFilter.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/FileFilter.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/FileFilter.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,38 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.Enhancer;
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+import org.hibernate.mediator.HibernateConsoleRuntimeException;
+import org.hibernate.mediator.stubs.util.ReflectHelper;
+
+public class FileFilter extends Filter {
+
+ public static final String CL = "org.hibernate.ejb.packaging.FileFilter";
//$NON-NLS-1$
+
+ protected FileFilter(Object fileFilter) {
+ super(fileFilter, CL);
+ }
+
+ public static FileFilter newInstance(boolean retrieveStream, final IAcceptHolder
acceptHolder) {
+ Class<?> clazz;
+ try {
+ clazz = ReflectHelper.classForName(CL);
+ } catch (ClassNotFoundException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ MethodInterceptor mi = new MethodInterceptor() {
+ public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy)
throws Throwable {
+ return acceptHolder.accept((String)args[0]);
+ }
+ };
+ Enhancer e = createEnhancer(clazz, mi);
+ Object packageFilter = e.create(new Class[] { boolean.class },
+ new Object[] { retrieveStream } );
+ return new FileFilter(packageFilter);
+ }
+
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Filter.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Filter.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/Filter.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,46 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.Callback;
+import net.sf.cglib.proxy.CallbackFilter;
+import net.sf.cglib.proxy.Enhancer;
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.NoOp;
+
+import org.hibernate.mediator.base.HObject;
+
+public class Filter extends HObject {
+
+ public static final String CL = "org.hibernate.ejb.packaging.Filter";
//$NON-NLS-1$
+
+ protected Filter(Object filter) {
+ super(filter, CL);
+ }
+
+ protected Filter(Object filter, String cn) {
+ super(filter, cn);
+ }
+
+ public interface IAcceptHolder {
+ public boolean accept(String javaElementName);
+ }
+
+
+ private static final CallbackFilter baseNodeFilter = new CallbackFilter() {
+ public int accept(Method method) {
+ if ("accept".equals(method.getName() ) ) {
+ return 1;
+ }
+ return 0;
+ }
+ };
+
+ public static Enhancer createEnhancer(Class<?> clazz, MethodInterceptor mi) {
+ Enhancer e = new Enhancer();
+ e.setSuperclass(clazz);
+ e.setCallbacks(new Callback[] { NoOp.INSTANCE, mi });
+ e.setCallbackFilter(baseNodeFilter);
+ return e;
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitor.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitor.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitor.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,43 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.hibernate.mediator.base.HObject;
+
+public class JarVisitor extends HObject {
+
+ public static final String CL = "org.hibernate.ejb.packaging.JarVisitor";
//$NON-NLS-1$
+
+ protected JarVisitor(Object jarVisitor) {
+ super(jarVisitor, CL);
+ }
+
+ public String getUnqualifiedJarName() {
+ return (String)invoke(mn());
+ }
+
+ @SuppressWarnings("unchecked")
+ public Set<Entry>[] getMatchingEntries() {
+ Set[] objs = (Set[])invoke(mn());
+ Set[] res = new Set[objs.length];
+ for (int i = 0; i < objs.length; i++) {
+ Set<Entry> newSet = new HashSet<Entry>();
+ for (Object o : objs[i]) {
+ newSet.add(new Entry(o));
+ }
+ res[i] = newSet;
+ }
+ return res;
+ }
+
+ public Filter[] getFilters() {
+ Object[] objs = (Object[])invoke(mn());
+ Filter[] res = new Filter[objs.length];
+ for (int i = 0; i < objs.length; i++) {
+ res[i] = new Filter(objs[i]);
+ }
+ return res;
+ }
+
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitorFactory.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitorFactory.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/JarVisitorFactory.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,68 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.URL;
+
+import org.hibernate.mediator.HibernateConsoleRuntimeException;
+import org.hibernate.mediator.base.HObject;
+import org.hibernate.mediator.stubs.util.ReflectHelper;
+import org.hibernate.mediator.util.MReflectionUtils;
+
+public class JarVisitorFactory extends HObject {
+
+ public static final String CL =
"org.hibernate.ejb.packaging.JarVisitorFactory"; //$NON-NLS-1$
+
+ protected JarVisitorFactory(Object jarVisitorFactory) {
+ super(jarVisitorFactory, CL);
+ }
+
+ public static URL getJarURLFromURLEntry(URL url, String entry) {
+ return (URL)invokeStaticMethod(CL, mn(), url, entry);
+ }
+
+
+ public static Object invokeStaticGetVisitor(URL jarUrl, Filter[] filters) {
+ Class<?>[] signature = new Class<?>[2];
+ Object[] vals = new Object[2];
+ //
+ signature[0] = jarUrl.getClass();
+ vals[0] = jarUrl;
+ //
+ Class<?> clazz;
+ try {
+ clazz = ReflectHelper.classForName(Filter.CL);
+ } catch (ClassNotFoundException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ signature[1] = java.lang.reflect.Array.newInstance(clazz, 0).getClass();
+ Object[] objFilters = (Object[])java.lang.reflect.Array.newInstance(clazz,
filters.length);
+ for (int i = 0; i < filters.length; i++) {
+ objFilters[i] = filters[i].Obj();
+ }
+ vals[1] = objFilters;
+ //
+ try {
+ clazz = ReflectHelper.classForName(CL);
+ } catch (ClassNotFoundException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ Method method = MReflectionUtils.getMethod(clazz, "getVisitor", signature );
+ Object res;
+ try {
+ res = method.invoke(null, vals);
+ } catch (IllegalArgumentException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ } catch (IllegalAccessException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ } catch (InvocationTargetException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ return res;
+ }
+
+ public static JarVisitor getVisitor(URL jarUrl, Filter[] filters) {
+ //return new JarVisitor(invokeStaticMethod(CL, mn(), jarUrl, filters));
+ return new JarVisitor(invokeStaticGetVisitor(jarUrl, filters));
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/NamedInputStream.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/NamedInputStream.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/NamedInputStream.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,31 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.io.InputStream;
+
+import org.hibernate.mediator.base.HObject;
+
+public class NamedInputStream extends HObject {
+
+ public static final String CL =
"org.hibernate.ejb.packaging.NamedInputStream"; //$NON-NLS-1$
+
+ protected NamedInputStream(Object namedInputStream) {
+ super(namedInputStream, CL);
+ }
+
+ public static NamedInputStream newInstance() {
+ return new NamedInputStream(HObject.newInstance(CL));
+ }
+
+ public static NamedInputStream create(String name, InputStream stream) {
+ return (NamedInputStream)newInstance(CL, name, stream);
+ }
+
+ public String getName() {
+ return (String)invoke(mn());
+ }
+
+ public InputStream getStream() {
+ return (InputStream)invoke(mn());
+ }
+
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PackageFilter.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PackageFilter.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PackageFilter.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,38 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.Enhancer;
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+import org.hibernate.mediator.HibernateConsoleRuntimeException;
+import org.hibernate.mediator.stubs.util.ReflectHelper;
+
+public class PackageFilter extends Filter {
+
+ public static final String CL = "org.hibernate.ejb.packaging.PackageFilter";
//$NON-NLS-1$
+
+ protected PackageFilter(Object packageFilter) {
+ super(packageFilter, CL);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static PackageFilter newInstance(boolean retrieveStream, Class[] annotations,
final IAcceptHolder acceptHolder) {
+ Class<?> clazz;
+ try {
+ clazz = ReflectHelper.classForName(CL);
+ } catch (ClassNotFoundException e) {
+ throw new HibernateConsoleRuntimeException(e);
+ }
+ MethodInterceptor mi = new MethodInterceptor() {
+ public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy)
throws Throwable {
+ return acceptHolder.accept((String)args[0]);
+ }
+ };
+ Enhancer e = createEnhancer(clazz, mi);
+ Object packageFilter = e.create(new Class[] { boolean.class, Class[].class },
+ new Object[] { retrieveStream, annotations } );
+ return new PackageFilter(packageFilter);
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceMetadata.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceMetadata.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceMetadata.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,61 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.hibernate.mediator.base.HObject;
+
+public class PersistenceMetadata extends HObject {
+
+ public static final String CL =
"org.hibernate.ejb.packaging.PersistenceMetadata"; //$NON-NLS-1$
+
+ protected PersistenceMetadata(Object persistenceMetadata) {
+ super(persistenceMetadata, CL);
+ }
+
+ public String getName() {
+ return (String)invoke(mn());
+ }
+
+ public void setName(Object name) {
+ invoke(mn(), name);
+ }
+
+ public String getProvider() {
+ return (String)invoke(mn());
+ }
+
+ public boolean getExcludeUnlistedClasses() {
+ return (Boolean)invoke(mn());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<String> getClasses() {
+ return (List<String>)invoke(mn());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<String> getPackages() {
+ return (List<String>)invoke(mn());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<String> getMappingFiles() {
+ return (List<String>)invoke(mn());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<NamedInputStream> getHbmfiles() {
+ List list = (List)invoke(mn());
+ List<NamedInputStream> res = new ArrayList<NamedInputStream>();
+ for (Object obj : list) {
+ res.add(new NamedInputStream(obj));
+ }
+ return res;
+ }
+
+ public Properties getProps() {
+ return (Properties)invoke(mn());
+ }
+}
Added:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceXmlLoader.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceXmlLoader.java
(rev 0)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/ejb/packaging/PersistenceXmlLoader.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -0,0 +1,31 @@
+package org.hibernate.mediator.x.ejb.packaging;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.mediator.x.spi.PersistenceUnitTransactionType;
+
+import org.hibernate.mediator.base.HObject;
+import org.xml.sax.EntityResolver;
+
+public class PersistenceXmlLoader extends HObject {
+
+ public static final String CL =
"org.hibernate.ejb.packaging.PersistenceXmlLoader"; //$NON-NLS-1$
+
+ protected PersistenceXmlLoader(Object persistenceXmlLoader) {
+ super(persistenceXmlLoader, CL);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static List<PersistenceMetadata> deploy(URL url, Map overrides,
EntityResolver resolver,
+ PersistenceUnitTransactionType defaultTransactionType) {
+ List list = (List)invokeStaticMethod(CL, mn(), url, overrides, resolver,
defaultTransactionType);
+ List<PersistenceMetadata> res = new ArrayList<PersistenceMetadata>();
+ for (Object o : list) {
+ res.add(new PersistenceMetadata(o));
+ }
+ return res;
+ }
+}
Modified:
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/mapping/Column.java
===================================================================
---
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/mapping/Column.java 2010-05-14
18:53:05 UTC (rev 22091)
+++
branches/hibernatetools-multiversion/hibernatetools/plugins/org.hibernate.mediator/src/org/hibernate/mediator/x/mapping/Column.java 2010-05-14
20:01:00 UTC (rev 22092)
@@ -7,9 +7,9 @@
public class Column extends Selectable {
public static final String CL = "org.hibernate.mapping.Column"; //$NON-NLS-1$
- public static final int DEFAULT_LENGTH = 255;
- public static final int DEFAULT_PRECISION = 19;
- public static final int DEFAULT_SCALE = 2;
+ public static final int DEFAULT_LENGTH = (Integer)readStaticFieldValue(CL,
"DEFAULT_LENGTH");
+ public static final int DEFAULT_PRECISION = (Integer)readStaticFieldValue(CL,
"DEFAULT_PRECISION");
+ public static final int DEFAULT_SCALE = (Integer)readStaticFieldValue(CL,
"DEFAULT_SCALE");
protected Column(Object column) {
super(column, CL);