Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/entity/data/model/EntityDataModelProvider.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/entity/data/model/EntityDataModelProvider.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/entity/data/model/EntityDataModelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/entity/data/model/EntityDataModelProvider.java
index 02f10f9d6f..7473cf8aaa 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/entity/data/model/EntityDataModelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/entity/data/model/EntityDataModelProvider.java
@@ -30,9 +30,9 @@ import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.Signature;
import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
import org.eclipse.jpt.core.JpaFacet;
-import org.eclipse.jpt.core.JpaFile;
import org.eclipse.jpt.core.JpaProject;
import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.resource.xml.JpaXmlResource;
import org.eclipse.jpt.ui.JptUiPlugin;
import org.eclipse.jpt.ui.internal.wizards.entity.EntityWizardMsg;
import org.eclipse.jpt.ui.internal.wizards.entity.data.operation.NewEntityClassOperation;
@@ -273,19 +273,26 @@ public class EntityDataModelProvider extends NewJavaClassDataModelProvider imple
if (getBooleanProperty(XML_SUPPORT)) {
String projectName = this.model.getStringProperty(PROJECT_NAME);
IProject project = ProjectUtilities.getProject(projectName);
- JpaFile jpaFile = null;
if (project != null && ! StringTools.stringIsEmpty(xmlName)) {
- //TODO need to check content type as well since user can type in a file name, should have a different error message for invalid content type
- jpaFile = JptCorePlugin.getJpaFile(project, new Path(xmlName));
- if (jpaFile == null) {
+ JpaXmlResource ormXmlResource = getOrmXmlResource(xmlName);
+ if (ormXmlResource == null) {
return new Status(
IStatus.ERROR, JptUiPlugin.PLUGIN_ID,
EntityWizardMsg.INVALID_XML_NAME);
}
+ else if (getTargetJpaProject().getJpaFile(ormXmlResource.getFile()).rootStructureNodesSize() == 0) {
+ return new Status(
+ IStatus.ERROR, JptUiPlugin.PLUGIN_ID,
+ EntityWizardMsg.MAPPING_FILE_NOT_LISTED_ERROR);
+ }
}
}
return Status.OK_STATUS;
}
+
+ protected JpaXmlResource getOrmXmlResource(String xmlName) {
+ return getTargetJpaProject().getMappingFileXmlResource(new Path(xmlName));
+ }
/**
* This method is intended for internal use only. It will be used to validate the entity fields

Back to the top