Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortle2008-11-12 19:28:23 +0000
committertle2008-11-12 19:28:23 +0000
commitb70b07c9803e1a7f37cbcfc680080078d3c40603 (patch)
tree8edb4bf4f15795bff7ec22220ee00e12ca3f7888
parent9b40d0ab99efd0c89a7e685999db73f567230cdb (diff)
downloadwebtools.dali-b70b07c9803e1a7f37cbcfc680080078d3c40603.tar.gz
webtools.dali-b70b07c9803e1a7f37cbcfc680080078d3c40603.tar.xz
webtools.dali-b70b07c9803e1a7f37cbcfc680080078d3c40603.zip
247113 - Same mapping files can be registered with XML Mapping Files of the General tab
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java17
2 files changed, 31 insertions, 4 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java
index 09cac00811..acb6b247a0 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java
@@ -32,8 +32,8 @@ import org.eclipse.jpt.ui.internal.JpaMappingImageHelper;
import org.eclipse.jpt.ui.internal.JptUiIcons;
import org.eclipse.jpt.ui.internal.JptUiMessages;
import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.widgets.Pane;
import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane;
+import org.eclipse.jpt.ui.internal.widgets.Pane;
import org.eclipse.jpt.ui.internal.widgets.AddRemovePane.Adapter;
import org.eclipse.jpt.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter;
@@ -98,11 +98,25 @@ public class PersistenceUnitClassesComposite extends Pane<PersistenceUnit>
IType type = chooseType();
if (type != null) {
+ String className = type.getFullyQualifiedName('.');
+ if(classRefExists(className)) {
+ return;
+ }
ClassRef classRef = getSubject().addSpecifiedClassRef();
- classRef.setClassName(type.getFullyQualifiedName('.'));
+ classRef.setClassName(className);
listSelectionModel.setSelectedValue(classRef);
}
}
+
+ private boolean classRefExists(String className) {
+ for ( ListIterator<ClassRef> i = getSubject().specifiedClassRefs(); i.hasNext(); ) {
+ ClassRef classRef = i.next();
+ if( classRef.getClassName().equals(className)) {
+ return true;
+ }
+ }
+ return false;
+ }
private Adapter buildAdapter() {
return new AddRemoveListPane.AbstractAdapter() {
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java
index 01a6ad979e..60518d703e 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java
@@ -244,15 +244,28 @@ public abstract class PersistenceUnitMappingFilesComposite extends Pane<Persiste
for (Object result : dialog.getResult()) {
IFile file = (IFile) result;
IPath filePath = removeSourcePath(file);
-
+ String fileName = filePath.toPortableString();
+ if(mappingFileRefExists(fileName)) {
+ continue;
+ }
MappingFileRef mappingFileRef = getSubject().addSpecifiedMappingFileRef(index++);
- mappingFileRef.setFileName(filePath.toPortableString());
+ mappingFileRef.setFileName(fileName);
listSelectionModel.addSelectedValue(mappingFileRef);
}
}
};
}
+
+ private boolean mappingFileRefExists(String fileName) {
+ for ( ListIterator<MappingFileRef> i = getSubject().specifiedMappingFileRefs(); i.hasNext(); ) {
+ MappingFileRef mappingFileRef = i.next();
+ if( mappingFileRef.getFileName().equals(fileName)) {
+ return true;
+ }
+ }
+ return false;
+ }
private ISelectionStatusValidator buildValidator() {
return new ISelectionStatusValidator() {

Back to the top