]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - legacy/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/editors/ModularDistVersionEditor.java
Clarify overall project structure.
[gpl/argeo-slc.git] / legacy / org.argeo.slc.client.ui.dist / src / org / argeo / slc / client / ui / dist / editors / ModularDistVersionEditor.java
diff --git a/legacy/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/editors/ModularDistVersionEditor.java b/legacy/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/editors/ModularDistVersionEditor.java
new file mode 100644 (file)
index 0000000..cdb15ea
--- /dev/null
@@ -0,0 +1,60 @@
+package org.argeo.slc.client.ui.dist.editors;
+
+import javax.jcr.RepositoryException;
+
+import org.argeo.slc.SlcException;
+import org.argeo.slc.client.ui.dist.DistPlugin;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * Manage a modular distribution version contained in a specific workspace of a
+ * repository
+ */
+public class ModularDistVersionEditor extends ArtifactVersionEditor {
+       private static final long serialVersionUID = -2223542780164288554L;
+
+       // private final static Log log =
+       // LogFactory.getLog(ModularDistVersionEditor.class);
+       public final static String ID = DistPlugin.PLUGIN_ID + ".modularDistVersionEditor";
+
+       @Override
+       public void init(IEditorSite site, IEditorInput input)
+                       throws PartInitException {
+               super.init(site, input);
+       }
+
+       @Override
+       protected void addPages() {
+               setPartName(getFormattedName());
+               try {
+                       addPage(new ModularDistVersionOverviewPage(this, "Modules ",
+                                       getArtifact()));
+                       addPage(new RunInOsgiPage(this, "Run as OSGi ", getArtifact()));
+                       addPage(new ModularDistVersionDetailPage(this, "Details",
+                                       getArtifact()));
+               } catch (PartInitException e) {
+                       throw new SlcException("Cannot add distribution editor pages", e);
+               }
+       }
+
+       protected String getFormattedName() {
+               try {
+                       String partName = null;
+                       if (getArtifact().hasProperty(SLC_NAME))
+                               partName = getArtifact().getProperty(SLC_NAME).getString();
+                       else
+                               partName = getArtifact().getName();
+
+                       if (partName.length() > 10) {
+                               partName = "..." + partName.substring(partName.length() - 10);
+                       }
+                       return partName;
+               } catch (RepositoryException re) {
+                       throw new SlcException("unable to get slc:name property for node "
+                                       + getArtifact(), re);
+               }
+       }
+
+}
\ No newline at end of file