Skip to content

Commit

Permalink
JBIDE-20446: Add Hibernate 5.0 support
Browse files Browse the repository at this point in the history
  • Loading branch information
koentsje committed Mar 16, 2016
1 parent beb5f87 commit e4ef139
Show file tree
Hide file tree
Showing 84 changed files with 4,982 additions and 142 deletions.
1 change: 1 addition & 0 deletions features/org.hibernate.eclipse.feature/feature.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
<plugin id="org.jboss.tools.hibernate.runtime.v_3_6" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jboss.tools.hibernate.runtime.v_4_0" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jboss.tools.hibernate.runtime.v_4_3" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jboss.tools.hibernate.runtime.v_5_0" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jboss.tools.hibernate.jpt.core" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jboss.tools.hibernate.jpt.ui" download-size="0" install-size="0" version="0.0.0" unpack="false"/>

Expand Down
8 changes: 8 additions & 0 deletions features/org.hibernate.eclipse.test.feature/feature.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@
download-size="0"
install-size="0"
version="0.0.0"/>

<plugin
id="org.jboss.tools.hibernate.runtime.v_5_0.test"
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"
unpack="false"/>

<plugin
id="org.jboss.tools.hibernate.runtime.v_4_3.test"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public boolean exists() {
return false;
}

@SuppressWarnings("rawtypes")
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter( Class adapter ) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void setQuery(String source) {
setContents(source);
}

@SuppressWarnings("rawtypes")
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter( Class key ) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ public static IEditorPart run(ConsoleConfiguration consoleConfig, IProperty comp
}
if (editorPart == null) {
final String title = HibernateConsoleMessages.OpenMappingAction_open_mapping_file;
final String msg = NLS.bind(HibernateConsoleMessages.OpenMappingAction_mapping_file_for_property_not_found, compositeProperty.getNodeName());
final String msg = NLS.bind(HibernateConsoleMessages.OpenMappingAction_mapping_file_for_property_not_found, compositeProperty.getName());
MessageDialog.openError(null, title, msg);
throw new FileNotFoundException(msg);
}
Expand Down Expand Up @@ -303,7 +303,7 @@ public static boolean updateEditorSelection(IEditorPart editorPart, IProperty co
if (propRegion == null) {
return false;
}
int length = compositeProperty.getNodeName().length();
int length = compositeProperty.getName().length();
int offset = propRegion.getOffset() + propRegion.getLength() - length - 1;
propRegion = new Region(offset, length);
if (editorPart instanceof MultiPageEditorPart) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -760,7 +760,7 @@ public static IRegion findSelectRegion(IJavaProject proj, FindReplaceDocumentAda
//ignore
}
if (classRegion != null) {
int length = persistentClass.getNodeName().length();
int length = persistentClass.getEntityName().length();
int offset = classRegion.getOffset() + classRegion.getLength() - length - 1;
res = new Region(offset, length);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,7 @@

import org.eclipse.jpt.jpa.ui.JpaPlatformUiProvider;
import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
import org.eclipse.jpt.jpa.ui.details.JpaDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.AbstractJpaPlatformUiProvider;
import org.eclipse.jpt.jpa.ui.internal.details.java.JavaPersistentAttributeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.java.JavaPersistentTypeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.EntityMappingsDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
import org.jboss.tools.hibernate.jpt.ui.internal.details.java.JavaPackageInfoDetailsProvider;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.HibernateJavaResourceUiDefinition;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.PackageInfoResourceUIDefinition;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm.HibernateOrmXmlUiDefinition;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,11 +224,7 @@ public void readFromJDBC() {
@Override
public IMapping buildMapping() {
if (mapping == null) {
Object targetMapping = Util.invokeMethod(
getTarget(),
"buildMapping",
new Class[] {},
new Object[] {});
Object targetMapping = createTargetMapping();
if (targetMapping != null) {
mapping = getFacadeFactory().createMapping(targetMapping);
}
Expand Down Expand Up @@ -345,8 +341,24 @@ protected Object buildTargetDialect() {
new Object[] { getProperties() });
}

private void initializeClassMappings() {
classMappings = new HashMap<String, IPersistentClass>();
protected void setClassMappings(HashMap<String, IPersistentClass> classMappings) {
this.classMappings = classMappings;
}

protected void setTableMappings(HashSet<ITable> tableMappings) {
this.tableMappings = tableMappings;
}

protected Object createTargetMapping() {
return Util.invokeMethod(
getTarget(),
"buildMapping",
new Class[] {},
new Object[] {});
}

protected void initializeClassMappings() {
HashMap<String, IPersistentClass> classMappings = new HashMap<String, IPersistentClass>();
Iterator<?> origin = (Iterator<?>)Util.invokeMethod(
getTarget(),
"getClassMappings",
Expand All @@ -356,10 +368,11 @@ private void initializeClassMappings() {
IPersistentClass pc = getFacadeFactory().createPersistentClass(origin.next());
classMappings.put(pc.getEntityName(), pc);
}
setClassMappings(classMappings);
}

private void initializeTableMappings() {
tableMappings = new HashSet<ITable>();
protected void initializeTableMappings() {
HashSet<ITable> tableMappings = new HashSet<ITable>();
Iterator<?> origin = (Iterator<?>)Util.invokeMethod(
getTarget(),
"getTableMappings",
Expand All @@ -368,6 +381,7 @@ private void initializeTableMappings() {
while (origin.hasNext()) {
tableMappings.add(getFacadeFactory().createTable(origin.next()));
}
setTableMappings(tableMappings);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,6 @@ public boolean isInstanceOfSubclass() {
return getSubclassClass().isAssignableFrom(getTarget().getClass());
}

@Override
public String getNodeName() {
return (String)Util.invokeMethod(
getTarget(),
"getNodeName",
new Class[] {},
new Object[] {});
}

@Override
public IPersistentClass getRootClass() {
if (rootClass == null) {
Expand All @@ -129,7 +120,7 @@ public Iterator<IProperty> getPropertyClosureIterator() {

@Override
public IPersistentClass getSuperclass() {
if (superClass != null) {
if (superClass == null) {
Object targetSuperclass = Util.invokeMethod(
getTarget(),
"getSuperclass",
Expand All @@ -141,6 +132,10 @@ public IPersistentClass getSuperclass() {
}
return superClass;
}

public void setSuperClass(IPersistentClass superClass) {
this.superClass = superClass;
}

@Override
public Iterator<IProperty> getPropertyIterator() {
Expand Down Expand Up @@ -616,24 +611,6 @@ public String getLoaderName() {
new Object[] {});
}

@Override
public String getTemporaryIdTableDDL() {
return (String)Util.invokeMethod(
getTarget(),
"getTemporaryIdTableDDL",
new Class[] {},
new Object[] {});
}

@Override
public String getTemporaryIdTableName() {
return (String)Util.invokeMethod(
getTarget(),
"getTemporaryIdTableName",
new Class[] {},
new Object[] {});
}

@Override
public String getWhere() {
return (String)Util.invokeMethod(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,15 +101,6 @@ public String getName() {
new Object[] {});
}

@Override
public String getNodeName() {
return (String)Util.invokeMethod(
getTarget(),
"getNodeName",
new Class[] {},
new Object[] {});
}

@Override
public boolean classIsPropertyClass() {
return getTarget().getClass() == getPropertyClass();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ protected void generate() {
if (propVal != null && propVal.isCollection()) {
IValue collection = propVal;
component = collection.getElement();
} else if (propVal.isComponent()) {
} else if (propVal != null && propVal.isComponent()) {
component = propVal;
}
if (component != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ Bundle-SymbolicName: org.jboss.tools.hibernate.runtime.spi;singleton:=true
Bundle-Version: 5.0.1.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: org.jboss.tools.hibernate.runtime.spi
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.10.0"
Require-Bundle: org.eclipse.core.runtime
Bundle-Activator: org.jboss.tools.hibernate.spi.internal.HibernateServicePlugin
Bundle-ActivationPolicy: lazy
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ public interface IPersistentClass {
boolean hasIdentifierProperty();
boolean isInstanceOfRootClass();
boolean isInstanceOfSubclass();
String getNodeName();
IPersistentClass getRootClass();
Iterator<IProperty> getPropertyClosureIterator();
IPersistentClass getSuperclass();
Expand Down Expand Up @@ -64,8 +63,6 @@ public interface IPersistentClass {
String getDiscriminatorValue();
String getLoaderName();
int getOptimisticLockMode();
String getTemporaryIdTableDDL();
String getTemporaryIdTableName();
String getWhere();
ITable getRootTable();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ public interface IProperty {
String getPropertyAccessorName();
String getName();
boolean classIsPropertyClass();
String getNodeName();
IType getType();
void setValue(IValue value);
void setPropertyAccessorName(String string);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,14 @@
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import org.hibernate.internal.util.StringHelper;
import org.jboss.logging.Logger;

import org.hibernate.HibernateException;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.cfg.Configuration;
Expand All @@ -56,14 +48,15 @@
import org.hibernate.internal.CoreMessageLogger;
import org.hibernate.internal.util.ConfigHelper;
import org.hibernate.internal.util.ReflectHelper;
import org.hibernate.internal.util.StringHelper;
import org.hibernate.internal.util.config.ConfigurationHelper;
import org.hibernate.metamodel.source.MetadataImplementor;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.hibernate.service.classloading.spi.ClassLoaderService;
import org.hibernate.service.config.spi.ConfigurationService;
import org.hibernate.service.internal.StandardServiceRegistryImpl;
import org.hibernate.service.jdbc.connections.spi.ConnectionProvider;
import org.jboss.logging.Logger;

/**
* Commandline tool to export table schema to the database. This class may also be called from inside an application.
Expand Down Expand Up @@ -475,33 +468,6 @@ public String getName() {
}
}

private void execute(boolean script, boolean export, Writer fileOutput, Statement statement, final String sql)
throws IOException, SQLException {
final SqlExceptionHelper sqlExceptionHelper = new SqlExceptionHelper();

String formatted = formatter.format( sql );
if (delimiter != null) formatted += delimiter;
if (script) System.out.println(formatted);
LOG.debug(formatted);
if ( outputFile != null ) {
fileOutput.write( formatted + "\n" );
}
if ( export ) {

statement.executeUpdate( sql );
try {
SQLWarning warnings = statement.getWarnings();
if ( warnings != null) {
sqlExceptionHelper.logAndClearWarnings( connectionHelper.getConnection() );
}
}
catch( SQLException sqle ) {
LOG.unableToLogSqlWarnings(sqle);
}
}

}

private static StandardServiceRegistryImpl createServiceRegistry(Properties properties) {
Environment.verifyProperties( properties );
ConfigurationHelper.resolvePlaceHolders( properties );
Expand Down Expand Up @@ -615,7 +581,7 @@ else if ( args[i].startsWith( "--naming=" ) ) {
*
* @return A List containig the Exceptions occured during the export
*/
public List getExceptions() {
public List<?> getExceptions() {
return exceptions;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.JDBCMetaDataConfiguration;
import org.hibernate.cfg.JDBCReaderFactory;
import org.hibernate.cfg.NamingStrategy;
import org.hibernate.cfg.Settings;
import org.hibernate.cfg.reveng.DefaultDatabaseCollector;
import org.hibernate.cfg.reveng.DefaultReverseEngineeringStrategy;
Expand Down Expand Up @@ -233,7 +232,7 @@ public ITypeFactory newTypeFactory() {
@Override
public INamingStrategy newNamingStrategy(String strategyClassName) {
try {
NamingStrategy ns = (NamingStrategy) ReflectHelper.classForName(
Object ns = ReflectHelper.classForName(
strategyClassName).newInstance();
return facadeFactory.createNamingStrategy(ns);
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
Expand Down
16 changes: 16 additions & 0 deletions plugins/org.jboss.tools.hibernate.runtime.v_5_0/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?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/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/"/>
<classpathentry exported="true" kind="lib" path="lib/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-5.0.1.Final.jar"/>
<classpathentry exported="true" kind="lib" path="lib/hibernate-core-5.0.8.Final.jar"/>
<classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-5.0.8.Final.jar"/>
<classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.1-api-1.0.0.Final.jar"/>
<classpathentry exported="true" kind="lib" path="lib/hibernate-tools-5.0.0.Alpha3.jar"/>
<classpathentry exported="true" kind="lib" path="lib/javassist-3.18.1-GA.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.3.0.Final.jar"/>
<classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.6.1.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
1 change: 1 addition & 0 deletions plugins/org.jboss.tools.hibernate.runtime.v_5_0/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lib/
Loading

0 comments on commit e4ef139

Please sign in to comment.