X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=cms%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Feditors%2FModularDistVersionEditor.java;fp=cms%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Feditors%2FModularDistVersionEditor.java;h=cdb15ea7586b779732e1805e11020c20b17e13d0;hb=ecc22e604e47533c79de9cecdcdeacbc752cbff1;hp=0000000000000000000000000000000000000000;hpb=e07ded4632e53f8b8869763bc1f1f4091361e76e;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/editors/ModularDistVersionEditor.java b/cms/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/editors/ModularDistVersionEditor.java new file mode 100644 index 000000000..cdb15ea75 --- /dev/null +++ b/cms/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/editors/ModularDistVersionEditor.java @@ -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