diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core')
5 files changed, 113 insertions, 81 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation.properties index da6a2b35da..42a4ea6438 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation.properties +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation.properties @@ -29,7 +29,6 @@ EXCEPTION_HANDLER_CLASS_NOT_SPECIFIED=An exception handler class should be speci EXCEPTION_HANDLER_CLASS_NOT_EXIST=The exception handler class \"{0}\" does not exist on the project classpath EXCEPTION_HANDLER_CLASS_NOT_VALID=The exception handler class \"{0}\" must have a public, zero-argument constructor EXCEPTION_HANDLER_CLASS_IMPLEMENTS_EXCEPTION_HANDLER=The exception handler class \"{0}\" does not implement the org.eclipse.persistence.exceptions.ExceptionHandler interface -GENERATOR_DUPLICATE_NAME=Multiple generators named \"{0}\" defined in this persistence unit GENERATOR_EQUIVALENT=Equivalent generator \"{0}\" defined in this persistence unit, which may not be portable ID_MAPPING_UNRESOLVED_CONVERTER_NAME=The specified converter \"{0}\" for mapping \"{1}\" cannot be resolved MULTIPLE_OBJECT_VALUES_FOR_DATA_VALUE=Multiple object values are specified for the data value \"{0}\" @@ -37,7 +36,6 @@ PERSISTENT_ATTRIBUTE_INVALID_VERSION_MAPPING_TYPE=The persistent field or proper PERSISTENCE_UNIT_LEGACY_DESCRIPTOR_CUSTOMIZER=\"{0}\" is a legacy descriptor customizer property. Consider migration to the EclipseLink customizer settings via annotation or XML mapping file PERSISTENCE_UNIT_LEGACY_ENTITY_CACHING=\"{0}\" is a legacy entity caching property. Consider migration to JPA 2.0 and EclipseLink cache settings via annotation or XML mapping file PERSISTENCE_UNIT_CACHING_PROPERTY_IGNORED=Property \"{0}\" will be ignored as shared-cache-mode is set to NONE -QUERY_DUPLICATE_NAME=Multiple queries named \"{0}\" defined in this persistence unit QUERY_EQUIVALENT=Equivalent query \"{0}\" defined in this persistence unit, which may not be portable SESSION_CUSTOMIZER_CLASS_NOT_SPECIFIED=A session customizer class should be specified SESSION_CUSTOMIZER_CLASS_NOT_EXIST=The session customizer class \"{0}\" does not exist on the project classpath diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation_description.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation_description.properties index f6072a022d..a9a1edbedd 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation_description.properties +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/property_files/jpt_jpa_eclipselink_core_validation_description.properties @@ -13,58 +13,56 @@ # NB: The entries in this file must be kept in sync with the validation messages in # jpt_jpa_eclipselink_core_validation.properties. -CACHE_EXPIRY_AND_EXPIRY_TIME_OF_DAY_BOTH_SPECIFIED= -CONVERTER_CLASS_EXISTS= -CONVERTER_CLASS_DEFINED= -CONVERTER_CLASS_IMPLEMENTS_CONVERTER= -STRUCT_CONVERTER_CLASS_IMPLEMENTS_STRUCT_CONVERTER= -CONVERTER_DUPLICATE_NAME= -CONVERTER_NAME_UNDEFINED= -RESERVED_CONVERTER_NAME= -DESCRIPTOR_CUSTOMIZER_CLASS_NOT_SPECIFIED= -DESCRIPTOR_CUSTOMIZER_CLASS_NOT_EXIST= -DESCRIPTOR_CUSTOMIZER_CLASS_NOT_VALID= -DESCRIPTOR_CUSTOMIZER_CLASS_IMPLEMENTS_DESCRIPTOR_CUSTOMIZER= -EXCEPTION_HANDLER_CLASS_NOT_SPECIFIED= -EXCEPTION_HANDLER_CLASS_NOT_EXIST= -EXCEPTION_HANDLER_CLASS_NOT_VALID= -EXCEPTION_HANDLER_CLASS_IMPLEMENTS_EXCEPTION_HANDLER= -GENERATOR_DUPLICATE_NAME= -GENERATOR_EQUIVALENT= -ID_MAPPING_UNRESOLVED_CONVERTER_NAME= -MULTIPLE_OBJECT_VALUES_FOR_DATA_VALUE= -PERSISTENT_ATTRIBUTE_INVALID_VERSION_MAPPING_TYPE= -PERSISTENCE_UNIT_LEGACY_DESCRIPTOR_CUSTOMIZER= -PERSISTENCE_UNIT_LEGACY_ENTITY_CACHING= -PERSISTENCE_UNIT_CACHING_PROPERTY_IGNORED= -QUERY_DUPLICATE_NAME= -QUERY_EQUIVALENT= -SESSION_CUSTOMIZER_CLASS_NOT_SPECIFIED= -SESSION_CUSTOMIZER_CLASS_NOT_EXIST= -SESSION_CUSTOMIZER_CLASS_NOT_VALID= -SESSION_CUSTOMIZER_CLASS_IMPLEMENTS_SESSION_CUSTOMIZER= -SESSION_LOGGER_CLASS_NOT_SPECIFIED= -SESSION_LOGGER_CLASS_NOT_EXIST= -SESSION_LOGGER_CLASS_IMPLEMENTS_SESSION_LOG= -SESSION_PROFILER_CLASS_NOT_SPECIFIED= -SESSION_PROFILER_CLASS_NOT_EXIST= -SESSION_PROFILER_CLASS_NOT_VALID= -SESSION_PROFILER_CLASS_IMPLEMENTS_SESSION_PROFILER= -BASIC_COLLECTION_MAPPING_DEPRECATED= -BASIC_MAP_MAPPING_DEPRECATED= -TYPE_MAPPING_MEMBER_CLASS_NOT_STATIC= -TENANT_DISCRIMINATOR_COLUMN_UNRESOLVED_NAME= -VIRTUAL_TENANT_DISCRIMINATOR_COLUMN_UNRESOLVED_NAME= -VIRTUAL_ATTRIBUTE_TENANT_DISCRIMINATOR_COLUMN_UNRESOLVED_NAME= -TENANT_DISCRIMINATOR_COLUMN_TABLE_NOT_VALID= -VIRTUAL_TENANT_DISCRIMINATOR_COLUMN_TABLE_NOT_VALID= -VIRTUAL_ATTRIBUTE_TENANT_DISCRIMINATOR_COLUMN_TABLE_NOT_VALID= -MULTITENANT_NOT_SPECIFIED_WITH_TENANT_DISCRIMINATOR_COLUMNS= -MULTITENANT_METADATA_CANNOT_BE_SPECIFIED_ON_NON_ROOT_ENTITY= -MULTITENANT_TABLE_PER_TENANT_NOT_SUPPORTED= -MULTITENANT_VPD_MIGHT_NOT_BE_NOT_SUPPORTED= -MULTITENANT_VPD_NOT_SUPPORTED_ON_NON_ORACLE_DATABASE_PLATFORM= -MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED= -VIRTUAL_ATTRIBUTE_NO_ATTRIBUTE_TYPE_SPECIFIED= -VIRTUAL_ATTRIBUTE_ATTRIBUTE_TYPE_DOES_NOT_EXIST= -VIRTUAL_TYPE_PARENT_CLASS_DOES_NOT_EXIST= +CACHE_EXPIRY_AND_EXPIRY_TIME_OF_DAY_BOTH_SPECIFIED=Cache expiry and expiry time-of-day cannot both be specified +CONVERTER_CLASS_EXISTS=Converter class is not on classpath +CONVERTER_CLASS_DEFINED=Converter class is undefined +CONVERTER_CLASS_IMPLEMENTS_CONVERTER=Converter class does not implement Converter interface +STRUCT_CONVERTER_CLASS_IMPLEMENTS_STRUCT_CONVERTER=Struct converter class does not implement StructConverter interface +CONVERTER_DUPLICATE_NAME=Duplicate converter name +CONVERTER_NAME_UNDEFINED=Converter does not have a name +RESERVED_CONVERTER_NAME=Converter name is reserved +DESCRIPTOR_CUSTOMIZER_CLASS_NOT_SPECIFIED=Entity customizer class is not specified +DESCRIPTOR_CUSTOMIZER_CLASS_NOT_EXIST=Entity customizer class is not on classpath +DESCRIPTOR_CUSTOMIZER_CLASS_NOT_VALID=Entity customizer class must define public zero-argument constructor +DESCRIPTOR_CUSTOMIZER_CLASS_IMPLEMENTS_DESCRIPTOR_CUSTOMIZER=Entity customizer class does not implement DescriptorCustomizer interface +EXCEPTION_HANDLER_CLASS_NOT_SPECIFIED=Exception handler class is not specified +EXCEPTION_HANDLER_CLASS_NOT_EXIST=Exception handler class is not on classpath +EXCEPTION_HANDLER_CLASS_NOT_VALID=Exception handler class must define public zero-argument constructor +EXCEPTION_HANDLER_CLASS_IMPLEMENTS_EXCEPTION_HANDLER=Exception handler class does not implement ExceptionHandler interface +GENERATOR_EQUIVALENT=Equivalent generator +ID_MAPPING_UNRESOLVED_CONVERTER_NAME=Unresolved converter name +MULTIPLE_OBJECT_VALUES_FOR_DATA_VALUE=Multiple object values are a data value +PERSISTENT_ATTRIBUTE_INVALID_VERSION_MAPPING_TYPE=Invalid attribute type for version mapping +PERSISTENCE_UNIT_LEGACY_DESCRIPTOR_CUSTOMIZER=Deprecated descriptor customizer property +PERSISTENCE_UNIT_LEGACY_ENTITY_CACHING=Deprecated entity caching property +PERSISTENCE_UNIT_CACHING_PROPERTY_IGNORED=Property is ignored when shared-cache-mode is set to NONE +QUERY_EQUIVALENT=Equivalent query +SESSION_CUSTOMIZER_CLASS_NOT_SPECIFIED=Session customizer class is not specified +SESSION_CUSTOMIZER_CLASS_NOT_EXIST=Session customizer class is not on classpath +SESSION_CUSTOMIZER_CLASS_NOT_VALID=Session customizer class must define public zero-argument constructor +SESSION_CUSTOMIZER_CLASS_IMPLEMENTS_SESSION_CUSTOMIZER=Session customizer class does not implement SessionCustomizer interface +SESSION_LOGGER_CLASS_NOT_SPECIFIED=Session logger class is not specified +SESSION_LOGGER_CLASS_NOT_EXIST=Session logger class is not on classpath +SESSION_LOGGER_CLASS_IMPLEMENTS_SESSION_LOG=Session logger class does not implement SessionLog interface +SESSION_PROFILER_CLASS_NOT_SPECIFIED=Session profiler class is not specified +SESSION_PROFILER_CLASS_NOT_EXIST=Session profiler class is not on classpath +SESSION_PROFILER_CLASS_NOT_VALID=Session profiler class must define public zero-argument constructor +SESSION_PROFILER_CLASS_IMPLEMENTS_SESSION_PROFILER=Session profiler class does not implement SessionProfiler interface +BASIC_COLLECTION_MAPPING_DEPRECATED=Basic collection mapping is deprecated +BASIC_MAP_MAPPING_DEPRECATED=Basic map mapping is deprecated +TYPE_MAPPING_MEMBER_CLASS_NOT_STATIC=Member class must be static +TENANT_DISCRIMINATOR_COLUMN_UNRESOLVED_NAME=Tenant discriminator column is unresolved +VIRTUAL_TENANT_DISCRIMINATOR_COLUMN_UNRESOLVED_NAME=Default tenant discriminator column is unresolved +VIRTUAL_ATTRIBUTE_TENANT_DISCRIMINATOR_COLUMN_UNRESOLVED_NAME=Implied tenant discriminator column is unresolved +TENANT_DISCRIMINATOR_COLUMN_TABLE_NOT_VALID=Tenant discriminator column table is unresolved +VIRTUAL_TENANT_DISCRIMINATOR_COLUMN_TABLE_NOT_VALID=Default tenant discriminator column table is unresolved +VIRTUAL_ATTRIBUTE_TENANT_DISCRIMINATOR_COLUMN_TABLE_NOT_VALID=Implied tenant discriminator column table is unresolved +MULTITENANT_NOT_SPECIFIED_WITH_TENANT_DISCRIMINATOR_COLUMNS=Tenant discriminator columns cannot be specified without the Multitenant annotation +MULTITENANT_METADATA_CANNOT_BE_SPECIFIED_ON_NON_ROOT_ENTITY=Multitenant metadata cannot be specified on non-root entities in a SINGLE_TABLE or JOINED inheritance hierarchy +MULTITENANT_TABLE_PER_TENANT_NOT_SUPPORTED=MultitenantType.TABLE_PER_TENANT in version 2.4 or higher +MULTITENANT_VPD_MIGHT_NOT_BE_NOT_SUPPORTED=Target database is not specified in the persistence.xml, multitenancy with Oracle VPD might not be supported +MULTITENANT_VPD_NOT_SUPPORTED_ON_NON_ORACLE_DATABASE_PLATFORM=Multitenancy with Oracle VPD is only supported on Oracle platform +MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED=Include criteria is false when multitenant type is VPD +VIRTUAL_ATTRIBUTE_NO_ATTRIBUTE_TYPE_SPECIFIED=Virtual attribute must specify an attribute-type +VIRTUAL_ATTRIBUTE_ATTRIBUTE_TYPE_DOES_NOT_EXIST=Virtual attribute type does not exist +VIRTUAL_TYPE_PARENT_CLASS_DOES_NOT_EXIST=Virtual attribute declaring class does not exist diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java index 108814c82e..bf8acac6cd 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Oracle. All rights reserved. + * Copyright (c) 2012, 2013 Oracle. All rights reserved. * This program and the accompanying materials are 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. @@ -10,6 +10,7 @@ package org.eclipse.jpt.jpa.eclipselink.core; import org.eclipse.core.resources.IProject; +import org.eclipse.jpt.common.core.internal.utility.JptPlugin; import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; @@ -76,6 +77,58 @@ public final class EclipseLinkJpaPreferences { private static final String STATIC_WEAVING_PERSISTENCE_INFO = STATIC_WEAVING_ + "PERSISTENCE_INFO"; //$NON-NLS-1$ + // ********** project validation messages ********** + + /** + * @see JptPlugin#getWorkspaceValidationPreferencesOverridden(IProject) + */ + public static boolean getWorkspaceValidationOverridden(IProject project) { + return getPlugin().getWorkspaceValidationPreferencesOverridden(project); + } + + /** + * @see #getWorkspaceValidationOverridden(IProject) + */ + public static void setWorkspaceValidationOverridden(IProject project, boolean value) { + getPlugin().setWorkspaceValidationPreferencesOverridden(project, value); + } + + /** + * @see JptPlugin#getValidationMessageSeverity(IProject, String, int) + */ + public static int getValidationMessageSeverity(IProject project, String messageID, int defaultSeverity) { + return getPlugin().getValidationMessageSeverity(project, messageID, defaultSeverity); + } + + /** + * @see JptPlugin#getValidationMessageSeverityPreference(IProject, String) + */ + public static int getValidationMessageSeverity(IProject project, String messageID) { + return getPlugin().getValidationMessageSeverityPreference(project, messageID); + } + + /** + * @see #getValidationMessageSeverity(IProject, String) + */ + public static void setValidationMessageSeverity(IProject project, String messageID, int value) { + getPlugin().setValidationMessageSeverityPreference(project, messageID, value); + } + + /** + * @see JptPlugin#getValidationMessageSeverityPreference(String) + */ + public static int getValidationMessageSeverity(String messageID) { + return getPlugin().getValidationMessageSeverityPreference(messageID); + } + + /** + * @see #getValidationMessageSeverity(String) + */ + public static void setValidationMessageSeverity(String messageID, int value) { + getPlugin().setValidationMessageSeverityPreference(messageID, value); + } + + // ********** misc ********** /** diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java index 1abc1fa1ae..df894a2534 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java @@ -754,8 +754,10 @@ public class EclipseLinkPersistenceUnit handlerProperty.getValue() ) ); - } else if (!TypeTools.isSubType( - handlerProperty.getValue(), EclipseLinkCustomization.ECLIPSELINK_EXCEPTION_HANDLER_CLASS_NAME, javaProject) + } else if ( ! TypeTools.isSubType( + handlerProperty.getValue(), + org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkCustomization.ECLIPSELINK_EXCEPTION_HANDLER_CLASS_NAME, + javaProject) ) { messages.add( this.buildValidationMessage( diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/validation/JptJpaEclipseLinkCoreValidationMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/validation/JptJpaEclipseLinkCoreValidationMessages.java index 46aded1a88..47ee15cb18 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/validation/JptJpaEclipseLinkCoreValidationMessages.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/validation/JptJpaEclipseLinkCoreValidationMessages.java @@ -9,11 +9,10 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.validation; -import org.eclipse.core.resources.IProject; import org.eclipse.jpt.common.core.internal.utility.ValidationMessageLoader; import org.eclipse.jpt.common.core.utility.ValidationMessage; -import org.eclipse.jpt.common.utility.internal.ObjectTools; import org.eclipse.jpt.jpa.core.JpaProject; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.wst.validation.internal.provisional.core.IMessage; /** @@ -46,7 +45,6 @@ public class JptJpaEclipseLinkCoreValidationMessages { public static ValidationMessage EXCEPTION_HANDLER_CLASS_NOT_VALID; public static ValidationMessage EXCEPTION_HANDLER_CLASS_IMPLEMENTS_EXCEPTION_HANDLER; - public static ValidationMessage GENERATOR_DUPLICATE_NAME; public static ValidationMessage GENERATOR_EQUIVALENT; public static ValidationMessage ID_MAPPING_UNRESOLVED_CONVERTER_NAME; @@ -60,7 +58,6 @@ public class JptJpaEclipseLinkCoreValidationMessages { public static ValidationMessage PERSISTENCE_UNIT_CACHING_PROPERTY_IGNORED; - public static ValidationMessage QUERY_DUPLICATE_NAME; public static ValidationMessage QUERY_EQUIVALENT; public static ValidationMessage SESSION_CUSTOMIZER_CLASS_NOT_SPECIFIED; @@ -102,23 +99,7 @@ public class JptJpaEclipseLinkCoreValidationMessages { // ********** static initialization ********** - private static final ValidationMessageLoader.PreferencesAdapter PREFERENCES_ADAPTER = new PreferencesAdapter(); - private static class PreferencesAdapter - implements ValidationMessageLoader.PreferencesAdapter - { - PreferencesAdapter() { - super(); - } - // TODO - public int getSeverity(IProject project, String messageID, int defaultSeverity) { - return defaultSeverity; - // return JpaEclipseLinkPreferences.getValidationMessageSeverity(project, messageID, defaultSeverity); - } - @Override - public String toString() { - return ObjectTools.toString(this); - } - } + private static final ValidationMessageLoader.PreferencesAdapter PREFERENCES_ADAPTER = new ValidationMessageLoader.PluginPreferencesAdapter(JptJpaEclipseLinkCorePlugin.instance()); private static final String MESSAGE_BUNDLE_NAME = "jpt_jpa_eclipselink_core_validation"; //$NON-NLS-1$ private static final String DESCRIPTION_BUNDLE_NAME = "jpt_jpa_eclipselink_core_validation_description"; //$NON-NLS-1$ |