Author: dgeraskov
Date: 2011-08-10 09:33:27 -0400 (Wed, 10 Aug 2011)
New Revision: 33766
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java
Log:
https://issues.jboss.org/browse/JBIDE-9485
Validate typeDef
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -37,6 +37,7 @@
import org.eclipse.jpt.jpa.core.context.java.JavaTable;
import org.eclipse.jpt.jpa.core.internal.AbstractJpaFactory;
import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation;
+import org.eclipse.jpt.jpa.core.resource.java.JavaResourceAnnotatedElement;
import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePackage;
import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation;
@@ -87,6 +88,7 @@
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueryAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
/**
* @author Dmitry Geraskov
@@ -116,8 +118,8 @@
return new JavaGenericGeneratorImpl(parent, annotation);
}
- public JavaTypeDef buildJavaTypeDef(JavaJpaContextNode parent) {
- return new JavaTypeDefImpl(parent);
+ public JavaTypeDef buildJavaTypeDef(JavaJpaContextNode parent, TypeDefAnnotation
typeDefResource) {
+ return new JavaTypeDefImpl(parent, typeDefResource);
}
@Override
@@ -218,8 +220,8 @@
return new HibernateJavaGeneratorContainerImpl(parent, owner);
}
- public HibernateJavaTypeDefContainer buildJavaTypeDefContainer(JavaJpaContextNode
parent) {
- return new HibernateJavaTypeDefContainerImpl(parent);
+ public HibernateJavaTypeDefContainer buildJavaTypeDefContainer(JavaJpaContextNode
parent, JavaResourceAnnotatedElement annotatedElement) {
+ return new HibernateJavaTypeDefContainerImpl(parent, annotatedElement);
}
public JavaIndex buildIndex(JavaJpaContextNode parent, IndexAnnotation annotation) {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -24,8 +24,8 @@
import org.hibernate.console.ConsoleConfiguration;
import org.hibernate.console.KnownConfigurations;
import org.hibernate.eclipse.console.properties.HibernatePropertiesConstants;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
import org.osgi.service.prefs.Preferences;
/**
@@ -89,7 +89,7 @@
*/
protected void validateConsoleConfiguration(List<IMessage> messages) {
if (KnownConfigurations.getInstance().find(getDefaultConsoleConfigurationName()) ==
null){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
Messages.CC_NOT_EXISTS, new String[]{getDefaultConsoleConfigurationName()},
getResource());
messages.add(message);
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -40,7 +40,6 @@
import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceUnit;
import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
@@ -53,6 +52,7 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaTypeDef;
import
org.jboss.tools.hibernate.jpt.core.internal.context.persistence.HibernateClassRef;
import
org.jboss.tools.hibernate.jpt.core.internal.context.persistence.HibernatePersistenceUnitPropertiesBuilder;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -258,14 +258,14 @@
int resType= res.getType();
if (resType != IResource.FILE) {
Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ IMessage message =
HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
NOT_A_FILE, new String[]{configFile}, getResource());
message.setLineNo(prop.getValidationTextRange().getLineNumber());
messages.add(message);
}
} else {
Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ IMessage message =
HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
CONFIG_FILE_NOT_FOUND, new String[]{configFile}, getResource());
message.setLineNo(prop.getValidationTextRange().getLineNumber());
messages.add(message);
@@ -273,19 +273,6 @@
}
}
- /**
- * Hack class needed to make JPA/Validation API pick up our classloader instead of its
own.
- *
- * @author max
- *
- */
- static public class LocalMessage extends Message {
-
- public LocalMessage(int severity, String message,
- String[] strings, Object resource) {
- super(Messages.class.getName(), severity, message, strings, resource);
- }
- }
//
// // ********** specified package-info refs **********
//
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -16,28 +16,32 @@
*/
public interface Messages {
- String NOT_A_FILE = "NOT_A_FILE"; //$NON-NLS-1$
+ public static final String BUNDLE_NAME = "Messages";//$NON-NLS-1$
- String CONFIG_FILE_NOT_FOUND = "CONFIG_FILE_NOT_FOUND"; //$NON-NLS-1$
+ public static final String NOT_A_FILE = "NOT_A_FILE"; //$NON-NLS-1$
- String STRATEGY_CLASS_NOT_FOUND = "STRATEGY_CLASS_NOT_FOUND"; //$NON-NLS-1$
+ public static final String CONFIG_FILE_NOT_FOUND = "CONFIG_FILE_NOT_FOUND";
//$NON-NLS-1$
- String STRATEGY_CANT_BE_EMPTY = "STRATEGY_CANT_BE_EMPTY"; //$NON-NLS-1$
+ public static final String STRATEGY_CLASS_NOT_FOUND =
"STRATEGY_CLASS_NOT_FOUND"; //$NON-NLS-1$
- String STRATEGY_INTERFACE = "STRATEGY_INTERFACE"; //$NON-NLS-1$
+ public static final String STRATEGY_CANT_BE_EMPTY = "STRATEGY_CANT_BE_EMPTY";
//$NON-NLS-1$
+
+ public static final String STRATEGY_INTERFACE = "STRATEGY_INTERFACE";
//$NON-NLS-1$
- String NAMING_STRATEGY_EXCEPTION = "NAMING_STRATEGY_EXCEPTION";
//$NON-NLS-1$
+ public static final String NAMING_STRATEGY_EXCEPTION =
"NAMING_STRATEGY_EXCEPTION"; //$NON-NLS-1$
- String UNRESOLVED_FOREIGN_KEY_NAME = "UNRESOLVED_FOREIGN_KEY_NAME";
//$NON-NLS-1$
+ public static final String UNRESOLVED_FOREIGN_KEY_NAME =
"UNRESOLVED_FOREIGN_KEY_NAME"; //$NON-NLS-1$
- String CC_NOT_EXISTS = "CC_NOT_EXISTS"; //$NON-NLS-1$
+ public static final String CC_NOT_EXISTS = "CC_NOT_EXISTS"; //$NON-NLS-1$
- String TYPE_CANT_BE_EMPTY = "TYPE_CANT_BE_EMPTY"; //$NON-NLS-1$
+ public static final String TYPE_CANT_BE_EMPTY = "TYPE_CANT_BE_EMPTY";
//$NON-NLS-1$
- String USER_TYPE_INTERFACE = "USER_TYPE_INTERFACE"; //$NON-NLS-1$
+ public static final String USER_TYPE_INTERFACE = "USER_TYPE_INTERFACE";
//$NON-NLS-1$
- String TYPE_CLASS_NOT_FOUND = "TYPE_CLASS_NOT_FOUND"; //$NON-NLS-1$
+ public static final String TYPE_CLASS_NOT_FOUND = "TYPE_CLASS_NOT_FOUND";
//$NON-NLS-1$
- String NAME_CANT_BE_EMPTY = "NAME_CANT_BE_EMPTY";//$NON-NLS-1$
+ public static final String NAME_CANT_BE_EMPTY =
"NAME_CANT_BE_EMPTY";//$NON-NLS-1$
+
+ public static final String TYPE_DEF_DUPLICATE_NAME=
"TYPE_DEF_DUPLICATE_NAME";//$NON-NLS-1$
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties 2011-08-10
13:33:27 UTC (rev 33766)
@@ -9,4 +9,5 @@
TYPE_CANT_BE_EMPTY=Type could not be empty.
USER_TYPE_INTERFACE = Type class \"{0}\" should implement interface
\"org.hibernate.usertype.UserType\".
TYPE_CLASS_NOT_FOUND = Type class \"{0}\" could not be found.
-NAME_CANT_BE_EMPTY = Name could not be empty.
\ No newline at end of file
+NAME_CANT_BE_EMPTY = Name could not be empty.
+TYPE_DEF_DUPLICATE_NAME=Duplicate type definition named \"{0}\" defined in this
persistence unit
\ No newline at end of file
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -15,12 +15,11 @@
import org.eclipse.jpt.jpa.core.context.Relationship;
import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -76,8 +75,8 @@
return ns.collectionTableName(ownerEntityName, targetTable.getName(),
targetEntityName, targetTable.getName(), propName);
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -24,8 +24,8 @@
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -50,7 +50,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.setName_(annotation.getName());
- this.setInverseName(annotation.getInverseName());
+ this.setInverseName_(annotation.getInverseName());
}
private ForeignKeyAnnotation getResourceForeignKey() {
@@ -139,7 +139,8 @@
private void validateForeignKeyName(List<IMessage> messages, String name,
TextRange range) {
if (name == null || name.trim().length() == 0) {
- messages.add(creatErrorMessage(Messages.NAME_CANT_BE_EMPTY, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
Messages.NAME_CANT_BE_EMPTY,
+ getResource(), range));
} else {
AttributeMapping mapping = (AttributeMapping) getParent();
Table table = mapping.getTypeMapping().getPrimaryDbTable();
@@ -153,17 +154,8 @@
return;
}
}
- creatErrorMessage(Messages.UNRESOLVED_FOREIGN_KEY_NAME, range);
+ messages.add(HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
Messages.UNRESOLVED_FOREIGN_KEY_NAME,
+ getResource(), range));
}
}
-
- protected IMessage creatErrorMessage(String strmessage, TextRange range){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, new String[0], getResource());
- message.setLineNo(range.getLineNumber());
- message.setOffset(range.getOffset());
- message.setLength(range.getLength());
- return message;
- }
-
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -22,6 +22,5 @@
*/
public interface HibernateJavaBasicMapping extends JavaBasicMapping, Generated,
IndexHolder, TypeHolder {
- HibernateJavaTypeDefContainer getTypeDefContainer();
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -42,8 +42,6 @@
new
CompositeIterable<JavaConverter.Adapter>(JavaTypeConverter.Adapter.instance(),
new ArrayIterable<JavaConverter.Adapter>(CONVERTER_ADAPTER_ARRAY));
- protected final HibernateJavaTypeDefContainer typeDefContainer;
-
protected GenerationTime specifiedGenerationTime;
protected JavaIndex index;
@@ -52,7 +50,6 @@
public HibernateJavaBasicMappingImpl(JavaPersistentAttribute parent) {
super(parent);
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
this.index = this.buildIndex();
this.type = this.buildType();
}
@@ -70,7 +67,6 @@
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
- this.typeDefContainer.initialize(this.getResourcePersistentAttribute());
this.specifiedGenerationTime = this.getResourceGenerationTime();
this.syncIndex();
this.syncType();
@@ -79,7 +75,6 @@
@Override
public void update() {
super.update();
- this.typeDefContainer.update(this.getResourcePersistentAttribute());
this.setGenerationTime_(this.getResourceGenerationTime());
if (this.index != null){
this.index.update();
@@ -89,10 +84,6 @@
}
}
- public HibernateJavaTypeDefContainer getTypeDefContainer() {
- return this.typeDefContainer;
- }
-
public GeneratedAnnotation getGeneratedAnnotation() {
return (GeneratedAnnotation)
getResourcePersistentAttribute().getAnnotation(GeneratedAnnotation.ANNOTATION_NAME);
}
@@ -275,11 +266,6 @@
if (result != null) {
return result;
}
- result = this.getTypeDefContainer().javaCompletionProposals(pos,
- filter, astRoot);
- if (result != null) {
- return result;
- }
if (this.getType() != null) {
result = this.getType().javaCompletionProposals(pos, filter,
astRoot);
@@ -303,7 +289,6 @@
public void validate(List<IMessage> messages, IReporter reporter,
CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
- this.typeDefContainer.validate(messages, reporter, astRoot);
if (this.index != null){
this.index.validate(messages, reporter, astRoot);
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -15,13 +15,12 @@
import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaColumn;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -63,8 +62,8 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -82,8 +81,8 @@
try {
return ns.propertyToColumnName(super.buildDefaultName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -108,8 +107,8 @@
try {
return ns.tableName(getSpecifiedTable());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -65,8 +64,8 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -83,7 +82,7 @@
if (this.connectionProfileIsActive()) {
if ( ! this.isResolved()) {
messages.add(
- DefaultJpaValidationMessages.buildMessage(
+ HibernateJpaValidationMessage.buildMessage(
IMessage.HIGH_SEVERITY,
JpaValidationMessages.DISCRIMINATOR_COLUMN_UNRESOLVED_NAME,
new String[] {this.getDBColumnName()},
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -39,10 +39,10 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.DiscriminatorFormulaAnnotation;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -61,7 +61,7 @@
public HibernateJavaEntityImpl(JavaPersistentType parent, EntityAnnotation
mappingAnnotation) {
super(parent, mappingAnnotation);
this.discriminatorFormula = this.buildDiscriminatorFormula();
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
+ this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent,
this.getResourcePersistentType());
this.cacheable = this.buildJavaCachable();
}
@@ -75,7 +75,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.cacheable.synchronizeWithResourceModel();
- this.typeDefContainer.initialize(this.getResourcePersistentType());
+ this.typeDefContainer.synchronizeWithResourceModel();
this.syncDiscriminatorFormula();
}
@@ -83,7 +83,7 @@
public void update() {
super.update();
this.cacheable.update();
- this.typeDefContainer.update(this.getResourcePersistentType());
+ this.typeDefContainer.update();
if (discriminatorFormula != null){
this.discriminatorFormula.update();
}
@@ -251,8 +251,8 @@
}
return name ;
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m =HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -23,7 +23,5 @@
public interface HibernateJavaIdMapping extends JavaIdMapping, IndexHolder,
HibernateIdMapping, TypeHolder {
HibernateJavaGeneratorContainer getGeneratorContainer();
-
- HibernateJavaTypeDefContainer getTypeDefContainer();
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -30,8 +30,6 @@
public class HibernateJavaIdMappingImpl extends AbstractJavaIdMapping
implements HibernateJavaIdMapping {
- protected final HibernateJavaTypeDefContainer typeDefContainer;
-
protected JavaIndex index;
protected JavaType type;
@@ -41,7 +39,6 @@
*/
public HibernateJavaIdMappingImpl(JavaPersistentAttribute parent) {
super(parent);
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
this.index = this.buildIndex();
this.type = this.buildType();
}
@@ -66,7 +63,6 @@
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
- this.typeDefContainer.synchronizeWithResourceModel();
this.syncIndex();
this.syncType();
}
@@ -74,7 +70,6 @@
@Override
public void update() {
super.update();
- this.typeDefContainer.update(this.getResourcePersistentAttribute());
if (this.index != null){
this.index.update();
}
@@ -93,11 +88,6 @@
return this.getColumn().getDBColumnName();
}
- public HibernateJavaTypeDefContainer getTypeDefContainer() {
- return this.typeDefContainer;
- }
-
-
// *** index
public JavaIndex getIndex() {
return this.index;
@@ -228,7 +218,6 @@
public void validate(List<IMessage> messages, IReporter reporter,
CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
- this.typeDefContainer.validate(messages, reporter, astRoot);
if (this.index != null){
this.index.validate(messages, reporter, astRoot);
}
@@ -237,21 +226,4 @@
}
}
- /* (non-Javadoc)
- * @see
org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaIdMapping#javaCompletionProposals(int,
org.eclipse.jpt.common.utility.Filter, org.eclipse.jdt.core.dom.CompilationUnit)
- */
- @Override
- public Iterator<String> javaCompletionProposals(int pos,
- Filter<String> filter, CompilationUnit astRoot) {
- Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
- result = this.getTypeDefContainer().javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
- return null;
- }
-
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -101,8 +100,8 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -134,8 +133,8 @@
try {
return ns.columnName(this.specifiedReferencedColumnName);
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -18,14 +18,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -64,8 +63,8 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -10,11 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaManyToOneMapping;
import org.eclipse.jpt.jpa.db.Table;
@@ -23,8 +21,6 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
/**
*
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -10,11 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaMappingRelationship;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaOneToManyMapping;
@@ -24,8 +22,6 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
/**
* @author Dmitry Geraskov
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -10,11 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaOneToOneMapping;
import org.eclipse.jpt.jpa.db.Table;
@@ -23,8 +21,6 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
/**
*
* @author Dmitry Geraskov (geraskov(a)gmail.com)
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -10,30 +10,18 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import java.util.ListIterator;
import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.SubIterableWrapper;
-import org.eclipse.jpt.common.utility.internal.iterators.CompositeIterator;
-import org.eclipse.jpt.jpa.core.context.Query;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.jpa.core.context.java.JavaQuery;
import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaQueryContainer;
-import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
-import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.core.resource.java.NestableAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -20,13 +20,12 @@
import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation;
import org.eclipse.jpt.jpa.db.Schema;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -70,8 +69,8 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -18,13 +18,12 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -75,8 +74,8 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -90,8 +89,8 @@
try {
return ns.classToTableName(getDefaultName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -13,7 +13,6 @@
import java.util.ListIterator;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourceAnnotatedElement;
/**
* @author Dmitry Geraskov
@@ -29,7 +28,7 @@
* Return a list iterator of the typeDefs.
* This will not be null.
*/
- ListIterator<? extends JavaTypeDef> typeDefs();
+ ListIterator<JavaTypeDef> typeDefs();
/**
* Return the number of typeDefs.
@@ -42,6 +41,11 @@
JavaTypeDef addTypeDef(int index);
/**
+ * Add a typeDef to the entity return the object representing it.
+ */
+ JavaTypeDef addTypeDef();
+
+ /**
* Remove the typeDef at the index from the entity.
*/
void removeTypeDef(int index);
@@ -56,12 +60,4 @@
*/
void moveTypeDef(int targetIndex, int sourceIndex);
- void initialize(JavaResourceAnnotatedElement jrpm);
-
- /**
- * Update the JavaGeneratorContainer context model object to match the
JavaResourcePersistentMember
- * resource model object. see {@link org.eclipse.jpt.jpa.core.JpaProject#update()}
- */
- void update(JavaResourceAnnotatedElement jrpm);
-
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -10,17 +10,20 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import java.util.Vector;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.Filter;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
+import org.eclipse.jpt.common.utility.internal.iterators.SubIteratorWrapper;
+import org.eclipse.jpt.common.utility.internal.iterators.SuperIteratorWrapper;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.jpt.jpa.core.resource.java.JavaResourceAnnotatedElement;
import org.eclipse.jpt.jpa.core.resource.java.NestableAnnotation;
@@ -39,150 +42,161 @@
protected JavaResourceAnnotatedElement javaResourcePersistentElement;
- protected final List<JavaTypeDef> typeDefs;
+ protected final Vector<JavaTypeDef> typeDefs = new Vector<JavaTypeDef>();
+ protected TypeDefContainerAdapter typeDefContainerAdapter = new
TypeDefContainerAdapter();
- public HibernateJavaTypeDefContainerImpl(JavaJpaContextNode parent) {
+
+ public HibernateJavaTypeDefContainerImpl(JavaJpaContextNode parent,
JavaResourceAnnotatedElement javaResourcePersistentElement) {
super(parent);
- this.typeDefs = new ArrayList<JavaTypeDef>();
+ this.javaResourcePersistentElement = javaResourcePersistentElement;
+ this.initializeTypeDefs();
}
public HibernateAbstractJpaFactory getJpaFactory(){
return (HibernateAbstractJpaFactory)super.getJpaFactory();
}
-
- public void initialize(JavaResourceAnnotatedElement jrpe) {
- this.javaResourcePersistentElement = jrpe;
- this.initializeTypeDefs();
+
+ protected JavaResourceAnnotatedElement getResourceAnnotatedElement() {
+ return this.javaResourcePersistentElement;
}
- public void update(JavaResourceAnnotatedElement jrpm) {
- this.javaResourcePersistentElement = jrpm;
- this.updateTypeDefs();
+ // ********** synchronize/update **********
+
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ this.syncTypeDefs();
}
- public JavaTypeDef addTypeDef(int index) {
- JavaTypeDef newTypeDef = getJpaFactory().buildJavaTypeDef(this);
- this.typeDefs.add(index, newTypeDef);
- TypeDefAnnotation typeDefAnnotation =
(TypeDefAnnotation)this.javaResourcePersistentElement
- .addAnnotation(index, TypeDefAnnotation.ANNOTATION_NAME,
TypeDefsAnnotation.ANNOTATION_NAME);
- newTypeDef.initialize(typeDefAnnotation);
- fireItemAdded(TYPE_DEFS_LIST, index, newTypeDef);
- return newTypeDef;
+ @Override
+ public void update() {
+ super.update();
+ this.updateNodes(this.getTypeDefs());
}
-
- protected void addTypeDef(JavaTypeDef typeDef) {
- this.addTypeDef(typeDefsSize(), typeDef);
- }
-
- protected void addTypeDef(int index, JavaTypeDef typeDef) {
- addItemToList(index, typeDef, this.typeDefs, TYPE_DEFS_LIST);
- }
+ // ********** type defs **********
+
public ListIterator<JavaTypeDef> typeDefs() {
- return new CloneListIterator<JavaTypeDef>(typeDefs);
+ return this.getTypeDefs().iterator();
}
+ protected ListIterable<JavaTypeDef> getTypeDefs() {
+ return new LiveCloneListIterable<JavaTypeDef>(this.typeDefs);
+ }
+
public int typeDefsSize() {
return this.typeDefs.size();
}
- public void moveTypeDef(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.typeDefs, targetIndex, sourceIndex);
- this.javaResourcePersistentElement.moveAnnotation(targetIndex, sourceIndex,
TypeDefsAnnotation.ANNOTATION_NAME);
- fireItemMoved(TYPE_DEFS_LIST, targetIndex, sourceIndex);
+ public JavaTypeDef addTypeDef() {
+ return this.addTypeDef(this.typeDefs.size());
}
- public void removeTypeDef(int index) {
- JavaTypeDef removedTypeDef = this.typeDefs.remove(index);
- this.javaResourcePersistentElement.removeAnnotation(index,
TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
- fireItemRemoved(TYPE_DEFS_LIST, index, removedTypeDef);
+ public JavaTypeDef addTypeDef(int index) {
+ TypeDefAnnotation annotation = this.buildTypeDefAnnotation(index);
+ return this.addTypeDef_(index, annotation);
}
+ protected TypeDefAnnotation buildTypeDefAnnotation(int index) {
+ return (TypeDefAnnotation) this.getResourceAnnotatedElement().addAnnotation(index,
TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
+ }
+
public void removeTypeDef(JavaTypeDef typeDef) {
- removeTypeDef(this.typeDefs.indexOf(typeDef));
+ this.removeTypeDef(this.typeDefs.indexOf(typeDef));
}
- protected void removeTypeDef_(JavaTypeDef typeDef) {
- removeItemFromList(typeDef, this.typeDefs, TYPE_DEFS_LIST);
+ public void removeTypeDef(int index) {
+ this.getResourceAnnotatedElement().removeAnnotation(index,
TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
+ this.removeTypeDef_(index);
}
+ protected void removeTypeDef_(int index) {
+ this.removeItemFromList(index, this.typeDefs, TYPE_DEFS_LIST);
+ }
+
+ public void moveTypeDef(int targetIndex, int sourceIndex) {
+ this.getResourceAnnotatedElement().moveAnnotation(targetIndex, sourceIndex,
TypeDefsAnnotation.ANNOTATION_NAME);
+ this.moveItemInList(targetIndex, sourceIndex, this.typeDefs, TYPE_DEFS_LIST);
+ }
+
protected void initializeTypeDefs() {
- for (Iterator<NestableAnnotation> stream =
this.javaResourcePersistentElement.annotations(
- TypeDefAnnotation.ANNOTATION_NAME,
- TypeDefsAnnotation.ANNOTATION_NAME);
- stream.hasNext(); ) {
- this.typeDefs.add(buildTypeDef((TypeDefAnnotation) stream.next()));
+ for (TypeDefAnnotation annotation : this.getTypeDefAnnotations()) {
+ this.typeDefs.add(this.buildTypeDef(annotation));
}
}
-
- protected JavaTypeDef buildTypeDef(TypeDefAnnotation typeDefResource) {
- JavaTypeDef typeDef = getJpaFactory().buildJavaTypeDef(this);
- typeDef.initialize(typeDefResource);
- return typeDef;
+
+ protected JavaTypeDef buildTypeDef(TypeDefAnnotation typeDefAnnotation) {
+ return this.getJpaFactory().buildJavaTypeDef(this, typeDefAnnotation);
}
-
- protected void addTypeDefsTo(ArrayList<JavaTypeDef> typeDefs) {
- for (JavaTypeDef typeDef : typeDefs) {
- typeDefs.add(typeDef);
- }
+
+ protected void syncTypeDefs() {
+ ContextContainerTools.synchronizeWithResourceModel(this.typeDefContainerAdapter);
}
-
- protected void updateTypeDefs() {
- ListIterator<JavaTypeDef> typeDefs = typeDefs();
- Iterator<NestableAnnotation> resourceTypeDefs =
- this.javaResourcePersistentElement.annotations(
- TypeDefAnnotation.ANNOTATION_NAME,
- TypeDefsAnnotation.ANNOTATION_NAME);
- while (typeDefs.hasNext()) {
- JavaTypeDef typeDef = typeDefs.next();
- if (resourceTypeDefs.hasNext()) {
- typeDef.update((TypeDefAnnotation) resourceTypeDefs.next());
- }
- else {
- removeTypeDef_(typeDef);
- }
- }
+ protected Iterable<TypeDefAnnotation> getTypeDefAnnotations() {
+ return CollectionTools.iterable(this.typeDefAnnotations());
+ }
- while (resourceTypeDefs.hasNext()) {
- addTypeDef(buildTypeDef((TypeDefAnnotation) resourceTypeDefs.next()));
- }
+ protected Iterator<TypeDefAnnotation> typeDefAnnotations() {
+ return new
SuperIteratorWrapper<TypeDefAnnotation>(this.nestableTypeDefAnnotations());
}
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter,
- CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateTypeDefs(messages, reporter, astRoot);
+
+ protected Iterator<TypeDefAnnotation> nestableTypeDefAnnotations() {
+ return new SubIteratorWrapper<NestableAnnotation,
TypeDefAnnotation>(this.nestableTypeDefAnnotations_());
}
+ protected Iterator<NestableAnnotation> nestableTypeDefAnnotations_() {
+ return
this.getResourceAnnotatedElement().annotations(TypeDefAnnotation.ANNOTATION_NAME,
TypeDefsAnnotation.ANNOTATION_NAME);
+ }
- protected void validateTypeDefs(List<IMessage> messages, IReporter reporter,
CompilationUnit astRoot) {
- ListIterator<JavaTypeDef> typeDefs = typeDefs();
- while (typeDefs.hasNext()) {
- typeDefs.next().validate(messages, reporter, astRoot);
- }
+ protected void moveTypeDef_(int index, JavaTypeDef typeDef) {
+ this.moveItemInList(index, typeDef, this.typeDefs, TYPE_DEFS_LIST);
}
+ protected JavaTypeDef addTypeDef_(int index, TypeDefAnnotation typeDefAnnotation) {
+ JavaTypeDef typeDef = this.buildTypeDef(typeDefAnnotation);
+ this.addItemToList(index, typeDef, this.typeDefs, TYPE_DEFS_LIST);
+ return typeDef;
+ }
+
+ protected void removeTypeDef_(JavaTypeDef typeDef) {
+ this.removeTypeDef_(this.typeDefs.indexOf(typeDef));
+ }
+
+ // ********** validation **********
+
@Override
- public Iterator<String> javaCompletionProposals(int pos, Filter<String>
filter,
- CompilationUnit astRoot) {
- Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
+ public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit
astRoot) {
+ super.validate(messages, reporter, astRoot);
+ for (JavaTypeDef typeDef : typeDefs) {
+ typeDef.validate(messages, reporter, astRoot);
}
- ListIterator<JavaTypeDef> typeDefs = typeDefs();
- while (typeDefs.hasNext()) {
- result = typeDefs.next()
- .javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
- }
- return null;
}
public TextRange getValidationTextRange(CompilationUnit astRoot) {
return this.javaResourcePersistentElement.getTextRange(astRoot);
}
+
+ protected class TypeDefContainerAdapter
+ implements ContextContainerTools.Adapter<JavaTypeDef, TypeDefAnnotation>
+ {
+ public Iterable<JavaTypeDef> getContextElements() {
+ return HibernateJavaTypeDefContainerImpl.this.getTypeDefs();
+ }
+ public Iterable<TypeDefAnnotation> getResourceElements() {
+ return HibernateJavaTypeDefContainerImpl.this.getTypeDefAnnotations();
+ }
+ public TypeDefAnnotation getResourceElement(JavaTypeDef contextElement) {
+ return contextElement.getTypeDefAnnotation();
+ }
+ public void moveContextElement(int index, JavaTypeDef element) {
+ HibernateJavaTypeDefContainerImpl.this.moveTypeDef_(index, element);
+ }
+ public void addContextElement(int index, TypeDefAnnotation resourceElement) {
+ HibernateJavaTypeDefContainerImpl.this.addTypeDef_(index, resourceElement);
+ }
+ public void removeContextElement(JavaTypeDef element) {
+ HibernateJavaTypeDefContainerImpl.this.removeTypeDef_(element);
+ }
}
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -16,6 +16,8 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.common.core.JptCommonCorePlugin;
+import org.eclipse.jpt.common.core.JptResourceType;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.utility.Filter;
import org.eclipse.jpt.jpa.core.JpaFile;
@@ -55,7 +57,7 @@
super(owner);
this.resourcePackage = resourcePackage;
this.name = resourcePackage.getName();
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(this);
+ this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(this,
getResourceAnnotatedElement());
this.generatorContainer = this.buildGeneratorContainer();
this.queryContainer = this.buildQueryContainer();
}
@@ -80,7 +82,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.setName(this.resourcePackage.getName());
- this.typeDefContainer.initialize(this.getResourcePackage());
+ this.typeDefContainer.synchronizeWithResourceModel();
this.generatorContainer.synchronizeWithResourceModel();
this.queryContainer.synchronizeWithResourceModel();
}
@@ -88,10 +90,24 @@
@Override
public void update() {
super.update();
- this.typeDefContainer.update(this.getResourcePackage());
+ this.typeDefContainer.update();
this.generatorContainer.update();
this.queryContainer.update();
+ this.registerRootStructureNode();
}
+
+ protected void registerRootStructureNode() {
+ JpaFile jpaFile = this.getJpaFile();
+ // the JPA file can be null if the resource type is "external"
+ if (jpaFile != null) {
+ jpaFile.addRootStructureNode(this.name, this);
+ }
+ }
+
+ @Override
+ public JptResourceType getResourceType() {
+ return JptCommonCorePlugin.JAVA_SOURCE_PACKAGE_INFO_RESOURCE_TYPE;
+ }
// ********** name **********
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -34,11 +34,11 @@
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov (geraskov(a)gmail.com)
@@ -89,8 +89,6 @@
@Override
public void update() {
super.update();
- this.setName_(this.generatorAnnotation.getName());
- this.setStrategy_(this.generatorAnnotation.getStrategy());
this.updateNodes(this.getParameters());
}
@@ -154,16 +152,26 @@
if (this.strategy != null) {
TextRange range = getStrategyTextRange(astRoot) == null ? TextRange.Empty.instance() :
getStrategyTextRange(astRoot);
if (this.strategy.trim().length() == 0) {
- messages.add(creatErrorMessage(STRATEGY_CANT_BE_EMPTY, new String[]{}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
STRATEGY_CANT_BE_EMPTY, getResource(), range));
} else if (!generatorClasses.contains(this.strategy)){
IType lwType = null;
try {
lwType = getJpaProject().getJavaProject().findType(this.strategy);
if (lwType == null || !lwType.isClass()){
- messages.add(creatErrorMessage(STRATEGY_CLASS_NOT_FOUND, new
String[]{this.strategy}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ STRATEGY_CLASS_NOT_FOUND,
+ new String[]{this.strategy},
+ getResource(),
+ range));
} else {
if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType,
"org.hibernate.id.IdentifierGenerator")){//$NON-NLS-1$
- messages.add(creatErrorMessage(STRATEGY_INTERFACE, new String[]{this.strategy},
range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ STRATEGY_INTERFACE,
+ new String[]{this.strategy},
+ getResource(),
+ range));
}
}
} catch (JavaModelException e) {
@@ -173,15 +181,6 @@
}
}
- protected IMessage creatErrorMessage(String strmessage, String[] params, TextRange
range){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, params, getResource());
- message.setLineNo(range.getLineNumber());
- message.setOffset(range.getOffset());
- message.setLength(range.getLength());
- return message;
- }
-
@Override
protected HibernateAbstractJpaFactory getJpaFactory() {
return (HibernateAbstractJpaFactory) super.getJpaFactory();
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -15,6 +15,7 @@
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.jpa.core.resource.java.NamedNativeQueryAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
@@ -30,40 +31,17 @@
// **************** defaultForType class **************************************
- String getDefaultForType();
+ String getDefaultForTypeClass();
- String getSpecifiedDefaultForType();
- void setSpecifiedDefaultForType(String value);
- String SPECIFIED_DEF_FOR_TYPE_PROPERTY = "specifiedDefaultForTypeClass";
//$NON-NLS-1$
+ void setDefaultForTypeClass(String value);
+ String DEF_FOR_TYPE_PROPERTY = "defaultForTypeClass"; //$NON-NLS-1$
- String getDefaultDefaultForType();
- String DEFAULT_DEF_FOR_TYPE_PROPERTY = "defaultDefaultForTypeClass";
//$NON-NLS-1$
-
- /**
- * If the DefaultForType class is specified, this will return it fully qualified. If
not
- * specified, it returns the default for type class, which is always fully qualified
- */
- String getFullyQualifiedDefaultForType();
- String FULLY_QUALIFIED_DEF_FOR_TYPE_PROPERTY =
"fullyQualifiedDefaultForTypeClass"; //$NON-NLS-1$
-
-
// **************** type class **************************************
String getTypeClass();
- String getSpecifiedTypeClass();
- void setSpecifiedTypeClass(String value);
- String SPECIFIED_TYPE_CLASS_PROPERTY = "specifiedTypeClass"; //$NON-NLS-1$
-
- String getDefaultTypeClass();
- String DEFAULT_TYPE_CLASS_PROPERTY = "defaultTypeClass"; //$NON-NLS-1$
-
- /**
- * If the type class is specified, this will return it fully qualified. If not
- * specified, it returns the default type class, which is always fully qualified
- */
- String getFullyQualifiedTypeClass();
- String FULLY_QUALIFIED_TYPE_CLASS_PROPERTY = "fullyQualifiedTypeClass";
//$NON-NLS-1$
+ void setTypeClass(String value);
+ String TYPE_CLASS_PROPERTY = "specifiedTypeClass"; //$NON-NLS-1$
//************************ parameters ***********************
@@ -103,8 +81,6 @@
TextRange getNameTextRange(CompilationUnit astRoot);
- void initialize(TypeDefAnnotation generator);
-
- void update(TypeDefAnnotation generator);
+ TypeDefAnnotation getTypeDefAnnotation();
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -10,104 +10,82 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
+import java.util.Vector;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
-import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.core.context.Entity;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.TypeMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
*
*/
-public class JavaTypeDefImpl extends AbstractJavaJpaContextNode implements JavaTypeDef {
+public class JavaTypeDefImpl extends AbstractJavaJpaContextNode implements JavaTypeDef,
Messages {
protected TypeDefAnnotation typeDefAnnotation;
protected String name;
- protected String specifiedTypeClass;
- protected String defaultTypeClass;
- protected String fullyQualifiedTypeClass;
- protected PersistentType resolvedTypeType;
+ protected String typeClass;
- protected String specifiedDefaultForType;
- protected String defaultDefaultForType;
- protected String fullyQualifiedDefaultForType;
- protected PersistentType resolvedTargetType;
+ protected String defaultForTypeClass;
- protected final List<JavaParameter> parameters;
-
+ protected final Vector<JavaParameter> parameters = new
Vector<JavaParameter>();
- public JavaTypeDefImpl(JavaJpaContextNode parent) {
+ public JavaTypeDefImpl(JavaJpaContextNode parent, TypeDefAnnotation typeDefAnnotation)
{
super(parent);
- this.parameters = new ArrayList<JavaParameter>();
+ this.typeDefAnnotation = typeDefAnnotation;
+ this.name = typeDefAnnotation.getName();
+ this.typeClass = typeDefAnnotation.getTypeClass();
+ this.defaultForTypeClass = typeDefAnnotation.getDefaultForType();
+ this.initializeParameters();
}
public HibernatePersistenceUnit getPersistenceUnit() {
return (HibernatePersistenceUnit)this.getParent().getPersistenceUnit();
}
- public void initialize(TypeDefAnnotation typeDefAnnotation) {
- this.typeDefAnnotation = typeDefAnnotation;
-
- this.name = typeDefAnnotation.getName();
-
- this.defaultTypeClass = this.buildDefaultTypeClass();
- this.specifiedTypeClass = this.getResourceTypeClass();
- this.fullyQualifiedTypeClass = this.buildFullyQualifiedTypeClass();
- this.resolvedTypeType = this.buildResolvedTypeType();
-
- this.defaultDefaultForType = this.buildDefaultDefaultForType();
- this.specifiedDefaultForType = this.getResourceDefaultForType();
- this.fullyQualifiedDefaultForType = this.buildFullyQualifiedDefaultForType();
- this.resolvedTargetType = this.buildResolvedTargetType();
-
- this.initializeParameters();
+ @Override
+ public TypeDefAnnotation getTypeDefAnnotation() {
+ return this.typeDefAnnotation;
}
- public void update(TypeDefAnnotation typeDefAnnotation) {
- this.typeDefAnnotation = typeDefAnnotation;
-
- this.setName_(typeDefAnnotation.getName());
-
- this.setDefaultTypeClass(this.buildDefaultTypeClass());
- this.setSpecifiedTypeClass_(this.getResourceTypeClass());
- this.setFullyQualifiedTypeClass(this.buildFullyQualifiedTypeClass());
- this.resolvedTypeType = this.buildResolvedTypeType();
-
- this.setDefaultDefaultForType(this.buildDefaultDefaultForType());
- this.setSpecifiedDefaultForType_(this.getResourceDefaultForType());
- this.setFullyQualifiedDefaultForType(this.buildFullyQualifiedDefaultForType());
- this.resolvedTargetType = this.buildResolvedTargetType();
-
+ // ********** synchronize/update **********
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ this.setName_(this.typeDefAnnotation.getName());
+ this.setTypeClass_(typeDefAnnotation.getTypeClass());
+ this.setDefaultForTypeClass_(typeDefAnnotation.getDefaultForType());
this.updateParameters();
-
- this.getPersistenceUnit().addTypeDef(this);
}
- protected IMessage creatErrorMessage(String strmessage, String[] params, int lineNum){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, params, getResource());
- message.setLineNo(lineNum);
- return message;
+ @Override
+ public void update() {
+ super.update();
+ this.getPersistenceUnit().addTypeDef(this);
+ this.updateNodes(this.getParameters());
}
+
@Override
protected HibernateAbstractJpaFactory getJpaFactory() {
@@ -121,10 +99,8 @@
}
public void setName(String name) {
- String old = this.name;
- this.name = name;
this.typeDefAnnotation.setName(name);
- this.firePropertyChanged(TYPE_DEF_NAME, old, name);
+ this.setName_(name);
}
protected void setName_(String name) {
@@ -132,166 +108,57 @@
this.name = name;
this.firePropertyChanged(TYPE_DEF_NAME, old, name);
}
-
// ********** type class **********
public String getTypeClass() {
- return (this.specifiedTypeClass != null) ? this.specifiedTypeClass :
this.defaultTypeClass;
+ return this.typeClass;
}
- public String getSpecifiedTypeClass() {
- return this.specifiedTypeClass;
- }
-
- public void setSpecifiedTypeClass(String typeClass) {
- String old = this.specifiedTypeClass;
- this.specifiedTypeClass = typeClass;
+ public void setTypeClass(String typeClass) {
this.typeDefAnnotation.setTypeClass(typeClass);
- this.firePropertyChanged(SPECIFIED_TYPE_CLASS_PROPERTY, old, typeClass);
+ this.setTypeClass_(typeClass);
}
- protected void setSpecifiedTypeClass_(String typeClass) {
- String old = this.specifiedTypeClass;
- this.specifiedTypeClass = typeClass;
- this.firePropertyChanged(SPECIFIED_TYPE_CLASS_PROPERTY, old, typeClass);
+ protected void setTypeClass_(String typeClass) {
+ String old = this.typeClass;
+ this.typeClass = typeClass;
+ this.firePropertyChanged(TYPE_CLASS_PROPERTY, old, typeClass);
}
protected String getResourceTypeClass() {
return this.typeDefAnnotation.getTypeClass();
}
- public String getDefaultTypeClass() {
- return this.defaultTypeClass;
- }
-
- protected void setDefaultTypeClass(String typeClass) {
- String old = this.defaultTypeClass;
- this.defaultTypeClass = typeClass;
- this.firePropertyChanged(DEFAULT_TYPE_CLASS_PROPERTY, old, typeClass);
- }
-
- protected String buildDefaultTypeClass() {
- return null;
- }
-
- public String getFullyQualifiedTypeClass() {
- return this.fullyQualifiedTypeClass;
- }
-
- protected void setFullyQualifiedTypeClass(String typeClass) {
- String old = this.fullyQualifiedTypeClass;
- this.fullyQualifiedTypeClass = typeClass;
- this.firePropertyChanged(FULLY_QUALIFIED_TYPE_CLASS_PROPERTY, old, typeClass);
- }
-
- protected String buildFullyQualifiedTypeClass() {
- return (this.specifiedTypeClass == null) ?
- this.defaultTypeClass :
- this.typeDefAnnotation.getFullyQualifiedTypeClassName();
- }
-
- public PersistentType getResolvedTypeType() {
- return this.resolvedTypeType;
- }
-
- protected PersistentType buildResolvedTypeType() {
- return (this.fullyQualifiedTypeClass == null) ? null :
this.getPersistenceUnit().getPersistentType(this.fullyQualifiedTypeClass);
- }
-
public char getTypeClassEnclosingTypeSeparator() {
return '.';
}
-
// ********** target class **********
-
- public String getDefaultForType() {
- return (this.specifiedDefaultForType != null) ? this.specifiedDefaultForType :
this.defaultDefaultForType;
+ public String getDefaultForTypeClass() {
+ return this.defaultForTypeClass;
}
- public String getSpecifiedDefaultForType() {
- return this.specifiedDefaultForType;
- }
-
- public void setSpecifiedDefaultForType(String defaultForType) {
- String old = this.specifiedDefaultForType;
- this.specifiedDefaultForType = defaultForType;
+ public void setDefaultForTypeClass(String defaultForType) {
this.typeDefAnnotation.setDefaultForType(defaultForType);
- this.firePropertyChanged(SPECIFIED_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
+ this.setDefaultForTypeClass_(defaultForType);
}
- protected void setSpecifiedDefaultForType_(String defaultForType) {
- String old = this.specifiedDefaultForType;
- this.specifiedDefaultForType = defaultForType;
- this.firePropertyChanged(SPECIFIED_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
+ protected void setDefaultForTypeClass_(String defaultForType) {
+ String old = this.defaultForTypeClass;
+ this.defaultForTypeClass = defaultForType;
+ this.firePropertyChanged(DEF_FOR_TYPE_PROPERTY, old, defaultForType);
}
- protected String getResourceDefaultForType() {
- return this.typeDefAnnotation.getDefaultForType();
- }
-
- public String getDefaultDefaultForType() {
- return this.defaultDefaultForType;
- }
-
- protected void setDefaultDefaultForType(String defaultForType) {
- String old = this.defaultDefaultForType;
- this.defaultDefaultForType = defaultForType;
- this.firePropertyChanged(DEFAULT_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
- }
-
- protected String buildDefaultDefaultForType() {
- return void.class.getName();
- }
-
- public String getFullyQualifiedDefaultForType() {
- return this.fullyQualifiedDefaultForType;
- }
-
- protected void setFullyQualifiedDefaultForType(String defaultForType) {
- String old = this.fullyQualifiedDefaultForType;
- this.fullyQualifiedDefaultForType = defaultForType;
- this.firePropertyChanged(FULLY_QUALIFIED_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
- }
-
- protected String buildFullyQualifiedDefaultForType() {
- return (this.specifiedDefaultForType == null) ?
- this.defaultDefaultForType :
- this.typeDefAnnotation.getFullyQualifiedDefaultForTypeClassName();
- }
-
-
- public PersistentType getResolvedTargetType() {
- return this.resolvedTargetType;
- }
-
- protected PersistentType buildResolvedTargetType() {
- return (this.fullyQualifiedDefaultForType == null) ? null :
this.getPersistenceUnit().getPersistentType(this.fullyQualifiedDefaultForType);
- }
-
- protected Embeddable buildResolvedTargetEmbeddable() {
- if (this.resolvedTargetType == null) {
- return null;
- }
- TypeMapping typeMapping = this.resolvedTargetType.getMapping();
- return (typeMapping instanceof Embeddable) ? (Embeddable) typeMapping : null;
- }
-
- protected Entity buildResolvedTargetEntity() {
- if (this.resolvedTargetType == null) {
- return null;
- }
- TypeMapping typeMapping = this.resolvedTargetType.getMapping();
- return (typeMapping instanceof Entity) ? (Entity) typeMapping : null;
- }
-
-
- public char getDefaultForTypeEnclosingTypeSeparator() {
+ public char getDefaultForTypeClassEnclosingTypeSeparator() {
return '.';
}
//************************ parameters ***********************
+
+ public ListIterable<JavaParameter> getParameters() {
+ return new LiveCloneListIterable<JavaParameter>(this.parameters);
+ }
public JavaParameter addParameter(int index) {
JavaParameter parameter = getJpaFactory().buildJavaParameter(this);
@@ -383,5 +250,61 @@
public TextRange getNameTextRange(CompilationUnit astRoot) {
return this.typeDefAnnotation.getNameTextRange(astRoot);
}
+
+ public TextRange getTypeClassTextRange(CompilationUnit astRoot) {
+ return this.typeDefAnnotation.getTypeClassTextRange(astRoot);
+ }
+
+ @Override
+ public void validate(List<IMessage> messages, IReporter reporter,
+ CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+
+ if (StringTools.stringIsEmpty(this.name)){
+ messages.add(
+ HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ NAME_CANT_BE_EMPTY,
+ this,
+ this.getNameTextRange(astRoot))
+
+ );
+ }
+
+ IType lwType = null;
+ try {
+ lwType = getJpaProject().getJavaProject().findType(typeClass);
+ if (lwType == null || !lwType.isClass()){
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{typeClass}, this,
this.getTypeClassTextRange(astRoot)));
+ } else {
+ if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType,
"org.hibernate.usertype.UserType")){//$NON-NLS-1$
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,USER_TYPE_INTERFACE, new String[]{typeClass}, this,
this.getTypeClassTextRange(astRoot)));
+ }
+ }
+ } catch (JavaModelException e) {
+ // just ignore it!
+ }
+
+ for (ListIterator<JavaTypeDef> stream = this.getPersistenceUnit().typeDefs();
stream.hasNext(); ) {
+ JavaTypeDef typeDef = stream.next();
+ if (this != typeDef){
+ if (this.name.equals(typeDef.getName())) {
+ messages.add(
+ HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ TYPE_DEF_DUPLICATE_NAME,
+ new String[]{this.name},
+ this,
+ this.getNameTextRange(astRoot))
+
+ );
+ break;
+ }
+ }
+ }
+
+ }
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -26,9 +26,9 @@
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeAnnotation;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -138,16 +138,20 @@
if (type != null) {
TextRange range = getTypeTextRange(astRoot) == null ? TextRange.Empty.instance() :
getTypeTextRange(astRoot);
if (type.trim().length() == 0) {
- messages.add(creatErrorMessage(TYPE_CANT_BE_EMPTY, new String[]{}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ TYPE_CANT_BE_EMPTY, this, range));
} else if (!getPersistenceUnit().hasTypeDef(type)) {
IType lwType = null;
try {
lwType = getJpaProject().getJavaProject().findType(type);
if (lwType == null || !lwType.isClass()){
- messages.add(creatErrorMessage(TYPE_CLASS_NOT_FOUND, new String[]{type}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{type}, this, range));
} else {
if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType,
"org.hibernate.usertype.UserType")){//$NON-NLS-1$
- messages.add(creatErrorMessage(USER_TYPE_INTERFACE, new String[]{type}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,USER_TYPE_INTERFACE, new String[]{type}, this, range));
}
}
} catch (JavaModelException e) {
@@ -156,14 +160,5 @@
}
}
}
-
- protected IMessage creatErrorMessage(String strmessage, String[] params, TextRange
range){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, params, getResource());
- message.setLineNo(range.getLineNumber());
- message.setOffset(range.getOffset());
- message.setLength(range.getLength());
- return message;
- }
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -19,8 +19,8 @@
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -45,8 +45,9 @@
try {
return ns.propertyToColumnName(getName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -16,13 +16,12 @@
import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmColumn;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -60,8 +59,9 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -97,8 +97,9 @@
try {
return ns.tableName(getSpecifiedTable());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -33,7 +33,6 @@
import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.jpa.core.resource.orm.XmlEntity;
import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
@@ -41,9 +40,9 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -196,8 +195,9 @@
? getTable().getName() : parentEntity.getPrimaryTableName());
return name;
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION,null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -18,13 +18,12 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.core.resource.orm.XmlId;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -50,8 +49,9 @@
try {
return namingStrategy.propertyToColumnName(getName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -78,8 +77,9 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -111,8 +111,9 @@
try {
return ns.columnName(this.specifiedReferencedColumnName);
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -19,14 +19,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -65,8 +64,9 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import
org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -78,8 +77,9 @@
try {
return ns.classToTableName(getDefaultName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -105,8 +105,9 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java 2011-08-10
13:22:45 UTC (rev 33765)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -11,6 +11,7 @@
package org.jboss.tools.hibernate.jpt.core.internal.resource.java;
import java.util.ListIterator;
+import java.util.Map;
import java.util.Vector;
import org.eclipse.jdt.core.IAnnotation;
@@ -55,18 +56,18 @@
private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new
SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
- private final AnnotationElementAdapter<String> nameAdapter;
+ private DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
+ private AnnotationElementAdapter<String> nameAdapter;
private String name;
- private static final DeclarationAnnotationElementAdapter<String>
TYPE_CLASS_ADAPTER = buildTypeClassAdapter();
- private final AnnotationElementAdapter<String> typeClassAdapter;
+ private DeclarationAnnotationElementAdapter<String> typeClassDeclarationAdapter;
+ private AnnotationElementAdapter<String> typeClassAdapter;
private String typeClass;
String fullyQualifiedTypeClassName;
- private static final DeclarationAnnotationElementAdapter<String>
DEF_FOR_TYPE_ADAPTER = buildDefForTypeAdapter();
- private final AnnotationElementAdapter<String> defaultForTypeAdapter;
+ private DeclarationAnnotationElementAdapter<String> defForTypeDeclarationAdapter;
+ private AnnotationElementAdapter<String> defaultForTypeAdapter;
private String defaultForType;
String fullyQualifiedDefaultForTypeClassName;
@@ -81,10 +82,12 @@
public TypeDefAnnotationImpl(JavaResourceNode parent, AnnotatedElement member,
DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
super(parent, member, daa, annotationAdapter);
- this.nameDeclarationAdapter = this.buildNameAdapter(daa);
- this.nameAdapter = new ShortCircuitAnnotationElementAdapter<String>(member,
this.nameDeclarationAdapter);
- this.typeClassAdapter = new
AnnotatedElementAnnotationElementAdapter<String>(member, TYPE_CLASS_ADAPTER);
- this.defaultForTypeAdapter = new
AnnotatedElementAnnotationElementAdapter<String>(member, DEF_FOR_TYPE_ADAPTER);
+ this.nameDeclarationAdapter = this.buildNameDeclarationAdapter();
+ this.nameAdapter = this.buildNameAdapter();
+ this.typeClassDeclarationAdapter = this.buildTypeClassDeclarationAdapter();
+ this.typeClassAdapter = this.buildTypeClassAdapter();
+ this.defForTypeDeclarationAdapter = this.buildDefForTypeDeclarationAdapter();
+ this.defaultForTypeAdapter = this.buildDefForTypeAdapter();
}
public void initialize(CompilationUnit astRoot) {
@@ -104,7 +107,35 @@
this.syncFullyQualifiedDefaultForTypeClassName(this.buildFullyQualifiedDefaultForTypeClassName(astRoot));
AnnotationContainerTools.synchronize(this.parametersContainer, astRoot);
}
+
+ // ********** misc **********
+ @Override
+ protected void rebuildAdapters() {
+ super.rebuildAdapters();
+ this.nameDeclarationAdapter = this.buildNameDeclarationAdapter();
+ this.nameAdapter = this.buildNameAdapter();
+ this.typeClassDeclarationAdapter = this.buildTypeClassDeclarationAdapter();
+ this.typeClassAdapter = this.buildTypeClassAdapter();
+ this.defForTypeDeclarationAdapter = this.buildDefForTypeDeclarationAdapter();
+ this.defaultForTypeAdapter = this.buildDefForTypeAdapter();
+ }
+
+ @Override
+ public void storeOn(Map<String, Object> map) {
+ super.storeOn(map);
+ map.put(TYPE_CLASS_PROPERTY, this.typeClass);
+ this.typeClass = null;
+ map.put(DEF_FOR_TYPE_PROPERTY, this.defaultForType);
+ this.defaultForType = null;
+ }
+ @Override
+ public void restoreFrom(Map<String, Object> map) {
+ super.restoreFrom(map);
+ this.setTypeClass((String) map.get(TYPE_CLASS_PROPERTY));
+ this.setDefaultForType((String) map.get(DEF_FOR_TYPE_PROPERTY));
+ }
+
// ********** TypeDefAnnotation implementation **********
// ***** name
@@ -161,7 +192,7 @@
}
public TextRange getTypeClassTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(TYPE_CLASS_ADAPTER, astRoot);
+ return this.getElementTextRange(typeClassDeclarationAdapter, astRoot);
}
// ***** fully-qualified type entity class name
@@ -202,7 +233,7 @@
}
public TextRange getDefaultForTypeTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(DEF_FOR_TYPE_ADAPTER, astRoot);
+ return this.getElementTextRange(defForTypeDeclarationAdapter, astRoot);
}
// ***** fully-qualified default for type entity class name
@@ -305,9 +336,13 @@
sb.append(this.name);
}
- private DeclarationAnnotationElementAdapter<String>
buildNameAdapter(DeclarationAnnotationAdapter daa) {
+ private DeclarationAnnotationElementAdapter<String> buildNameDeclarationAdapter()
{
return ConversionDeclarationAnnotationElementAdapter.forStrings(daa,
Hibernate.TYPE_DEF__NAME);
}
+
+ private AnnotationElementAdapter<String> buildNameAdapter() {
+ return this.buildStringElementAdapter(this.nameDeclarationAdapter);
+ }
/**
* adapt the AnnotationContainer interface to the override's join columns
@@ -378,18 +413,29 @@
return new NestedIndexedDeclarationAnnotationAdapter(hibernateTypeDefsAdapter, index,
Hibernate.TYPE_DEF);
}
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildTypeClassAdapter()
{
- return buildTypeClassAdapter(DECLARATION_ANNOTATION_ADAPTER,
Hibernate.TYPE_DEF__TYPE_CLASS);
+
+ private DeclarationAnnotationElementAdapter<String>
buildTypeClassDeclarationAdapter() {
+ return new ConversionDeclarationAnnotationElementAdapter<String>(daa,
+ Hibernate.TYPE_DEF__TYPE_CLASS,
+ SimpleTypeStringExpressionConverter.instance());
}
+
+ private AnnotationElementAdapter<String> buildTypeClassAdapter() {
+ return this.buildStringElementAdapter(this.typeClassDeclarationAdapter);
+ }
- private static DeclarationAnnotationElementAdapter<String>
buildDefForTypeAdapter() {
- return buildTypeClassAdapter(DECLARATION_ANNOTATION_ADAPTER,
Hibernate.TYPE_DEF__DEF_FOR_TYPE);
+ private DeclarationAnnotationElementAdapter<String>
buildDefForTypeDeclarationAdapter() {
+ return new ConversionDeclarationAnnotationElementAdapter<String>(daa,
+ Hibernate.TYPE_DEF__DEF_FOR_TYPE,
+ SimpleTypeStringExpressionConverter.instance());
}
+
+ private AnnotationElementAdapter<String> buildDefForTypeAdapter() {
+ return this.buildStringElementAdapter(this.defForTypeDeclarationAdapter);
+ }
private static DeclarationAnnotationElementAdapter<String>
buildTypeClassAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName)
{
- // TODO what about QualifiedType?
return buildAnnotationElementAdapter(annotationAdapter, elementName,
SimpleTypeStringExpressionConverter.instance());
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java 2011-08-10
13:33:27 UTC (rev 33766)
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.validation;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationPreferences;
+import org.eclipse.wst.validation.internal.core.Message;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
+import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpaValidationMessage {
+
+ private static String[] DEFAULT_PARMS = new String[0];
+ private static TextRange DEFAULT_TEXT_RANGE = TextRange.Empty.instance();
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, Object targetObject) {
+ return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject);
+ }
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, String[] parms, Object targetObject) {
+ return buildMessage(defaultSeverity, messageId, parms, targetObject,
DEFAULT_TEXT_RANGE);
+ }
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, Object targetObject, TextRange textRange) {
+ return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject,
textRange);
+ }
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, String[] parms, Object targetObject, TextRange
textRange) {
+
+ //determine whether default severity should be overridden
+ int severity = defaultSeverity;
+ int severityPreference =
JpaValidationPreferences.getProblemSeverityPreference(targetObject, messageId);
+ if (severityPreference != -1){
+ severity = severityPreference;
+ }
+ IMessage message = new LocalMessage(severity, messageId, parms, targetObject);
+ message.setMarkerId(JptJpaCorePlugin.VALIDATION_MARKER_ID);
+ if (textRange == null) {
+ //log an exception and then continue without setting location information
+ //At least the user will still get the validation message and will
+ //be able to see other validation messages with valid textRanges
+ HibernateJptPlugin.logException(new NullPointerException("Null text range for
message ID: " + messageId)); //$NON-NLS-1$
+ }
+ else {
+ message.setLineNo(textRange.getLineNumber());
+ message.setOffset(textRange.getOffset());
+ message.setLength(textRange.getLength());
+ }
+ return message;
+ }
+
+
+ private HibernateJpaValidationMessage() {
+ super();
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Hack class needed to make JPA/Validation API pick up our classloader instead of its
own.
+ *
+ * @author max
+ *
+ */
+ static class LocalMessage extends Message {
+
+ public LocalMessage(int severity, String message,
+ String[] strings, Object resource) {
+ super(Messages.class.getName(), severity, message, strings, resource);
+ }
+ }
+
+}