Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2009-04-20 21:49:03 +0000
committerpfullbright2009-04-20 21:49:03 +0000
commit5b68dea7f326575e54523a16f0c1df271d93667d (patch)
treefaeef4a1dd5e4c866c3674f10b115e4ff658ed92
parent6cf6ce877c047467142d572c46f11f5ecda76c2e (diff)
downloadwebtools.dali-5b68dea7f326575e54523a16f0c1df271d93667d.tar.gz
webtools.dali-5b68dea7f326575e54523a16f0c1df271d93667d.tar.xz
webtools.dali-5b68dea7f326575e54523a16f0c1df271d93667d.zip
added jar files to structure view/navigator
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/icons/full/obj16/jpa-jar-file.gifbin0 -> 1013 bytes
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiIcons.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/JarFileItemLabelProvider.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemContentProviderFactory.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/JarFileRefItemLabelProvider.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemContentProviderFactory.java82
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemLabelProviderFactory.java5
8 files changed, 220 insertions, 20 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/icons/full/obj16/jpa-jar-file.gif b/jpa/plugins/org.eclipse.jpt.ui/icons/full/obj16/jpa-jar-file.gif
new file mode 100644
index 0000000000..e92828d2d9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.ui/icons/full/obj16/jpa-jar-file.gif
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiIcons.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiIcons.java
index eb5fe697ce..f113159cb0 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiIcons.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiIcons.java
@@ -31,6 +31,8 @@ public class JptUiIcons
public static final String JPA_FILE = "full/obj16/jpa-file"; //$NON-NLS-1$
+ public static final String JAR_FILE = "full/obj16/jpa-jar-file"; //$NON-NLS-1$
+
public static final String WARNING = "full/obj16/warning"; //$NON-NLS-1$
@@ -52,6 +54,8 @@ public class JptUiIcons
public static final String MAPPING_FILE_REF = "full/obj16/jpa-file"; //$NON-NLS-1$
public static final String CLASS_REF = "full/obj16/null-type-mapping"; //$NON-NLS-1$
+
+ public static final String JAR_FILE_REF = "full/obj16/jpa-jar-file"; //$NON-NLS-1$
// **************** Orm icons **********************************************
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/JarFileItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/JarFileItemLabelProvider.java
new file mode 100644
index 0000000000..128f96fbbc
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/JarFileItemLabelProvider.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.ui.internal.jface;
+
+import org.eclipse.jpt.core.context.java.JarFile;
+import org.eclipse.jpt.ui.JptUiPlugin;
+import org.eclipse.jpt.ui.internal.JptUiIcons;
+import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider;
+import org.eclipse.jpt.utility.internal.model.value.StaticPropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.graphics.Image;
+
+public class JarFileItemLabelProvider extends AbstractItemLabelProvider
+{
+ public JarFileItemLabelProvider(
+ JarFile jarFile, DelegatingContentAndLabelProvider labelProvider) {
+ super(jarFile, labelProvider);
+ }
+
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JAR_FILE));
+ }
+
+ @Override
+ protected PropertyValueModel<String> buildTextModel() {
+ return new StaticPropertyValueModel<String>(((JarFile) model()).getResource().getName());
+ }
+
+ @Override
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ JarFile jarFile = (JarFile) model();
+ return new StaticPropertyValueModel<String>(
+ jarFile.getResource().getName()
+ + " - " + jarFile.getResource().getParent().getFullPath().makeRelative().toString());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemContentProviderFactory.java
index 528b801941..2f1c558a18 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemContentProviderFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemContentProviderFactory.java
@@ -13,16 +13,17 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
-
import org.eclipse.jpt.core.context.JpaContextNode;
import org.eclipse.jpt.core.context.JpaRootContextNode;
import org.eclipse.jpt.core.context.MappingFile;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.PersistentType;
+import org.eclipse.jpt.core.context.java.JarFile;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmXml;
import org.eclipse.jpt.core.context.persistence.ClassRef;
+import org.eclipse.jpt.core.context.persistence.JarFileRef;
import org.eclipse.jpt.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.core.context.persistence.PersistenceXml;
@@ -97,6 +98,7 @@ public class GenericNavigatorItemContentProviderFactory
list.add(buildSpecifiedOrmXmlCvm());
list.add(buildImpliedMappingFileCvm());
list.add(buildPersistentTypeCvm());
+ list.add(buildJarFileCvm());
return new CompositeCollectionValueModel<CollectionValueModel<? extends JpaContextNode>, JpaContextNode>(list);
}
@@ -211,5 +213,42 @@ public class GenericNavigatorItemContentProviderFactory
}
};
}
+
+ protected CollectionValueModel<JpaContextNode> buildJarFileCvm() {
+ return new FilteringCollectionValueModel<JpaContextNode>(
+ new ListCollectionValueModelAdapter<JarFile>(
+ new TransformationListValueModelAdapter<JarFileRef, JarFile>(
+ new ItemPropertyListValueModelAdapter<JarFileRef>(buildJarFileRefCvm(), JarFileRef.JAR_FILE_PROPERTY)) {
+ @Override
+ protected JarFile transformItem(JarFileRef item) {
+ return item.getJarFile();
+ }
+ })) {
+ @Override
+ protected Iterator<JpaContextNode> filter(Iterator<? extends JpaContextNode> items) {
+ return new FilteringIterator<JpaContextNode, JpaContextNode>(items) {
+ @Override
+ protected boolean accept(JpaContextNode o) {
+ return o != null;
+ }
+ };
+ }
+ };
+ }
+
+ protected CollectionValueModel<JarFileRef> buildJarFileRefCvm() {
+ return new ListCollectionValueModelAdapter<JarFileRef>(
+ new ListAspectAdapter<PersistenceUnit, JarFileRef>(
+ PersistenceUnit.JAR_FILE_REFS_LIST, getModel()) {
+ @Override
+ protected ListIterator<JarFileRef> listIterator_() {
+ return subject.jarFileRefs();
+ }
+ @Override
+ protected int size_() {
+ return subject.jarFileRefsSize();
+ }
+ });
+ }
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java
index 7ff974ca6d..6496b7f6ee 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java
@@ -12,9 +12,11 @@ package org.eclipse.jpt.ui.internal.platform.generic;
import org.eclipse.jpt.core.context.JpaRootContextNode;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.PersistentType;
+import org.eclipse.jpt.core.context.java.JarFile;
import org.eclipse.jpt.core.context.orm.OrmXml;
import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.core.context.persistence.PersistenceXml;
+import org.eclipse.jpt.ui.internal.jface.JarFileItemLabelProvider;
import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider;
import org.eclipse.jpt.ui.jface.ItemLabelProvider;
import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory;
@@ -41,6 +43,9 @@ public class GenericNavigatorItemLabelProviderFactory
else if (item instanceof PersistentAttribute) {
return new PersistentAttributeItemLabelProvider((PersistentAttribute) item, contentAndLabelProvider);
}
+ else if (item instanceof JarFile) {
+ return new JarFileItemLabelProvider((JarFile) item, contentAndLabelProvider);
+ }
return null;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/JarFileRefItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/JarFileRefItemLabelProvider.java
new file mode 100644
index 0000000000..3154f64654
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/JarFileRefItemLabelProvider.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.ui.internal.platform.generic;
+
+import org.eclipse.jpt.core.context.persistence.JarFileRef;
+import org.eclipse.jpt.ui.JptUiPlugin;
+import org.eclipse.jpt.ui.internal.JptUiIcons;
+import org.eclipse.jpt.ui.internal.jface.AbstractItemLabelProvider;
+import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.StaticPropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.graphics.Image;
+
+public class JarFileRefItemLabelProvider extends AbstractItemLabelProvider
+{
+ public JarFileRefItemLabelProvider(
+ JarFileRef jarFileRef, DelegatingContentAndLabelProvider labelProvider) {
+ super(jarFileRef, labelProvider);
+ }
+
+
+ @Override
+ protected PropertyValueModel<String> buildTextModel() {
+ return new PropertyAspectAdapter<JarFileRef, String>(JarFileRef.FILE_NAME_PROPERTY, (JarFileRef) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getFileName();
+ }
+ };
+ }
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JAR_FILE_REF));
+ }
+
+ @Override
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new PropertyAspectAdapter<JarFileRef, String>(JarFileRef.FILE_NAME_PROPERTY, (JarFileRef) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getPersistenceUnit().getName()
+ + "/\"" + subject.getFileName()
+ + "\" - " + subject.getResource().getFullPath().makeRelative();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemContentProviderFactory.java
index ede70bab5e..af59784fd0 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemContentProviderFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemContentProviderFactory.java
@@ -13,10 +13,10 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
-
import org.eclipse.jpt.core.JpaFile;
import org.eclipse.jpt.core.JpaStructureNode;
import org.eclipse.jpt.core.context.persistence.ClassRef;
+import org.eclipse.jpt.core.context.persistence.JarFileRef;
import org.eclipse.jpt.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.core.context.persistence.Persistence;
import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
@@ -26,12 +26,14 @@ import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider;
import org.eclipse.jpt.ui.jface.TreeItemContentProvider;
import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory;
import org.eclipse.jpt.utility.internal.model.value.CollectionAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.CompositeCollectionValueModel;
+import org.eclipse.jpt.utility.internal.model.value.CollectionListValueModelAdapter;
+import org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter;
import org.eclipse.jpt.utility.internal.model.value.ListCollectionValueModelAdapter;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.internal.model.value.PropertyListValueModelAdapter;
import org.eclipse.jpt.utility.model.value.CollectionValueModel;
+import org.eclipse.jpt.utility.model.value.ListValueModel;
public class PersistenceItemContentProviderFactory
implements TreeItemContentProviderFactory
@@ -54,6 +56,9 @@ public class PersistenceItemContentProviderFactory
else if (item instanceof ClassRef) {
return new ClassRefItemContentProvider((ClassRef) item, treeContentProvider);
}
+ else if (item instanceof JarFileRef) {
+ return new JarFileRefItemContentProvider((JarFileRef) item, treeContentProvider);
+ }
return null;
}
@@ -113,8 +118,7 @@ public class PersistenceItemContentProviderFactory
@Override
protected CollectionValueModel<JpaStructureNode> buildChildrenModel() {
- CollectionValueModel<MappingFileRef> specifiedMappingFileLvm =
- new ListCollectionValueModelAdapter<MappingFileRef>(
+ ListValueModel<MappingFileRef> specifiedMappingFileLvm =
new ListAspectAdapter<PersistenceUnit, MappingFileRef>(
PersistenceUnit.SPECIFIED_MAPPING_FILE_REFS_LIST,
getModel()) {
@@ -126,10 +130,9 @@ public class PersistenceItemContentProviderFactory
protected int size_() {
return subject.specifiedMappingFileRefsSize();
}
- });
+ };
- CollectionValueModel<MappingFileRef> impliedMappingFileCvm =
- new ListCollectionValueModelAdapter<MappingFileRef>(
+ ListValueModel<MappingFileRef> impliedMappingFileCvm =
new PropertyListValueModelAdapter<MappingFileRef>(
new PropertyAspectAdapter<PersistenceUnit, MappingFileRef>(
PersistenceUnit.IMPLIED_MAPPING_FILE_REF_PROPERTY,
@@ -139,9 +142,8 @@ public class PersistenceItemContentProviderFactory
return subject.getImpliedMappingFileRef();
}
}
- ));
- CollectionValueModel<ClassRef> specifiedClassCvm =
- new ListCollectionValueModelAdapter<ClassRef>(
+ );
+ ListValueModel<ClassRef> specifiedClassCvm =
new ListAspectAdapter<PersistenceUnit, ClassRef>(
PersistenceUnit.SPECIFIED_CLASS_REFS_LIST,
getModel()) {
@@ -153,27 +155,45 @@ public class PersistenceItemContentProviderFactory
protected int size_() {
return subject.specifiedClassRefsSize();
}
- });
- CollectionValueModel<ClassRef> impliedClassCvm =
- new CollectionAspectAdapter<PersistenceUnit, ClassRef>(
- PersistenceUnit.IMPLIED_CLASS_REFS_COLLECTION,
+ };
+ ListValueModel<ClassRef> impliedClassCvm =
+ new CollectionListValueModelAdapter(
+ new CollectionAspectAdapter<PersistenceUnit, ClassRef>(
+ PersistenceUnit.IMPLIED_CLASS_REFS_COLLECTION,
+ getModel()) {
+ @Override
+ protected Iterator<ClassRef> iterator_() {
+ return subject.impliedClassRefs();
+ }
+ @Override
+ protected int size_() {
+ return subject.impliedClassRefsSize();
+ }
+ });
+ ListValueModel<JarFileRef> jarFileCvm =
+ new ListAspectAdapter<PersistenceUnit, JarFileRef>(
+ PersistenceUnit.JAR_FILE_REFS_LIST,
getModel()) {
@Override
- protected Iterator<ClassRef> iterator_() {
- return subject.impliedClassRefs();
+ protected ListIterator<JarFileRef> listIterator_() {
+ return subject.jarFileRefs();
}
@Override
protected int size_() {
- return subject.impliedClassRefsSize();
+ return subject.jarFileRefsSize();
}
};
- List<CollectionValueModel<? extends JpaStructureNode>> list = new ArrayList<CollectionValueModel<? extends JpaStructureNode>>(4);
+ List<ListValueModel<? extends JpaStructureNode>> list = new ArrayList<ListValueModel<? extends JpaStructureNode>>(4);
list.add(specifiedMappingFileLvm);
list.add(impliedMappingFileCvm);
list.add(specifiedClassCvm);
list.add(impliedClassCvm);
+ list.add(jarFileCvm);
- return new CompositeCollectionValueModel<CollectionValueModel<? extends JpaStructureNode>, JpaStructureNode>(list);
+ return new ListCollectionValueModelAdapter(
+ new CompositeListValueModel
+ <ListValueModel<? extends JpaStructureNode>, JpaStructureNode>
+ (list));
}
}
@@ -224,4 +244,28 @@ public class PersistenceItemContentProviderFactory
return false;
}
}
+
+
+ public static class JarFileRefItemContentProvider extends AbstractTreeItemContentProvider<JarFileRef>
+ {
+ public JarFileRefItemContentProvider(
+ JarFileRef jarFileRef, DelegatingTreeContentAndLabelProvider contentProvider) {
+ super(jarFileRef, contentProvider);
+ }
+
+ @Override
+ public JarFileRef getModel() {
+ return (JarFileRef) super.getModel();
+ }
+
+ @Override
+ public Object getParent() {
+ return getModel().getPersistenceUnit();
+ }
+
+ @Override
+ public boolean hasChildren() {
+ return false;
+ }
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemLabelProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemLabelProviderFactory.java
index 08196cfa6c..6a3496a310 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemLabelProviderFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceItemLabelProviderFactory.java
@@ -10,10 +10,12 @@
package org.eclipse.jpt.ui.internal.structure;
import org.eclipse.jpt.core.context.persistence.ClassRef;
+import org.eclipse.jpt.core.context.persistence.JarFileRef;
import org.eclipse.jpt.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.core.context.persistence.Persistence;
import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.ui.internal.platform.generic.ClassRefItemLabelProvider;
+import org.eclipse.jpt.ui.internal.platform.generic.JarFileRefItemLabelProvider;
import org.eclipse.jpt.ui.internal.platform.generic.MappingFileRefItemLabelProvider;
import org.eclipse.jpt.ui.internal.platform.generic.PersistenceItemLabelProvider;
import org.eclipse.jpt.ui.internal.platform.generic.PersistenceUnitItemLabelProvider;
@@ -38,6 +40,9 @@ public class PersistenceItemLabelProviderFactory
else if (item instanceof ClassRef) {
return new ClassRefItemLabelProvider((ClassRef) item, contentAndLabelProvider);
}
+ else if (item instanceof JarFileRef) {
+ return new JarFileRefItemLabelProvider((JarFileRef) item, contentAndLabelProvider);
+ }
return null;
}
}

Back to the top