From 3a51d1480799d63afde5c5fc0caf19e26ae23e33 Mon Sep 17 00:00:00 2001 From: "Dott. Federico Volpini" <federico.volpini@isti.cnr.it> Date: Mon, 1 Jul 2013 11:14:53 +0000 Subject: [PATCH] Bug #322 fixed --- .../tools/packaging/tool/api/Page.java | 9 +-- .../tools/packaging/tool/gui/GUI.java | 10 ++- .../packaging/tool/gui/PagePartBundle.java | 72 +++++++++++++++++++ .../tools/packaging/tool/parts/Part.java | 13 +++- 4 files changed, 97 insertions(+), 7 deletions(-) create mode 100644 mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartBundle.java diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/api/Page.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/api/Page.java index 7b26d5015..2fb0e7f79 100644 --- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/api/Page.java +++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/api/Page.java @@ -11,10 +11,11 @@ public interface Page { public final String PAGE4 = "Application requirements"; public final String PAGE5 = "Application management"; public final String PAGE_LICENSE = "SLA and licenses"; - public final String PAGE_PART_DU = "Application Part (Deployment Unit - 1/4): "; - public final String PAGE_PART_EU = "Application Part (Execution Unit - 2/4): "; - public final String PAGE_PART_PC = "Application Part (Part Capabilities - 3/4): "; - public final String PAGE_PART_PR = "Application Part (Part Requirements - 4/4): "; + public final String PAGE_PART_BUNDLE = "Application Part (Bundle Id and version - 1/5): "; + public final String PAGE_PART_DU = "Application Part (Deployment Unit - 2/5): "; + public final String PAGE_PART_EU = "Application Part (Execution Unit - 3/5): "; + public final String PAGE_PART_PC = "Application Part (Part Capabilities - 4/5): "; + public final String PAGE_PART_PR = "Application Part (Part Requirements - 5/5): "; public final String PAGE_END = "universAAL Application Packager"; public final String KARAF_NAMESPACE = "krf"; diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/GUI.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/GUI.java index 5cdfb00ce..a7a02f4b9 100644 --- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/GUI.java +++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/GUI.java @@ -63,7 +63,7 @@ import org.universaal.tools.packaging.tool.zip.UAPP; public class GUI extends WizardMod { public MPA mpa; - private PageImpl p0, p1, p2, pl, p3, p4, p5, ppDU, ppEU, ppPC, ppPR, p, p_end; + private PageImpl p0, p1, p2, pl, p3, p4, p5, ppB, ppDU, ppEU, ppPC, ppPR, p, p_end; private List<IProject> parts; private static GUI instance; @@ -90,6 +90,7 @@ public class GUI extends WizardMod { public void addPages() { if(this.parts != null){ + p0 = new StartPage(Page.PAGE_START); addPage(p0); p0.setMPA(mpa); @@ -117,7 +118,7 @@ public class GUI extends WizardMod { p5 = new Page5(Page.PAGE5); addPage(p5); p5.setMPA(mpa); - + if(parts.size() > 1) mpa.getAAL_UAPP().getApplication().setMultipart(true); else @@ -129,6 +130,11 @@ public class GUI extends WizardMod { mpa.getAAL_UAPP().getAppParts().add(new Part("part"+(i+1))); + ppB = new PagePartBundle(Page.PAGE_PART_BUNDLE+partName, i); //deployment units + addPage(ppB); + ppB.setMPA(mpa); + ppB.setArtifact(parts.get(i)); + ppDU = new PagePartDU(Page.PAGE_PART_DU+partName, i); //deployment units addPage(ppDU); ppDU.setMPA(mpa); diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartBundle.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartBundle.java new file mode 100644 index 000000000..47dca29f4 --- /dev/null +++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartBundle.java @@ -0,0 +1,72 @@ +package org.universaal.tools.packaging.tool.gui; + +import org.eclipse.core.resources.IProject; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; + +import org.universaal.tools.packaging.tool.impl.PageImpl; +import org.universaal.tools.packaging.tool.impl.PageImpl.FullListener; +import org.universaal.tools.packaging.tool.validators.AlphabeticV; +import org.universaal.tools.packaging.tool.validators.IntegerV; + +public class PagePartBundle extends PageImpl { + + //private IProject artifact; + //private POMParser p; + private int partNumber; + + private Text bundleId, bundleVersion; + + protected PagePartBundle(String pageName, int pn) { + super(pageName, "Part "+(pn+1)+"/"+GUI.getInstance().getPartsCount()+ + " - Specify Bundle Id and Version"); + this.partNumber = pn; + } + + public void createControl(final Composite parent) { + + container = new Composite(parent, SWT.NULL); + setControl(container); + + GridLayout layout = new GridLayout(); + container.setLayout(layout); + + layout.numColumns = 2; + gd = new GridData(GridData.FILL_HORIZONTAL); + + Label l1 = new Label(container, SWT.NULL); + bundleId = new Text(container, SWT.BORDER | SWT.SINGLE); + mandatory.add(bundleId); + l1.setText("* Bundle Id"); + bundleId.addVerifyListener(new AlphabeticV()); + bundleId.setLayoutData(gd); + + Label l2 = new Label(container, SWT.NULL); + bundleVersion = new Text(container, SWT.BORDER | SWT.SINGLE); + mandatory.add(bundleVersion); + l2.setText("* Bundle Version"); + bundleVersion.addVerifyListener(new AlphabeticV()); + bundleVersion.setLayoutData(gd); + + bundleId.addKeyListener(new FullListener()); + bundleVersion.addKeyListener(new FullListener()); + } + + @Override + public boolean nextPressed() { + + try{ + app.getAppParts().get(partNumber).setPartBundle(bundleId.getText(),bundleVersion.getText()); + } catch(Exception ex) { + ex.printStackTrace(); + } + + return true; + } + +} \ No newline at end of file diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Part.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Part.java index 22bdd5578..5c8144d47 100644 --- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Part.java +++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Part.java @@ -36,6 +36,8 @@ import java.util.Properties; public class Part implements Serializable { private String id; // unique + private String bundleId; + private String bundleVersion; private Properties partCapabilities; private List<Requirement> partRequirements; private List<DeploymentUnit> deploymentUnits; @@ -80,6 +82,12 @@ public class Part implements Serializable { public void setPartCapabilities(Properties partCapabilities) { this.partCapabilities = partCapabilities; } + + public void setPartBundle(String id, String version) { + this.bundleId = id; + this.bundleVersion = version; + } + public void setCapability(String name, String value){ partCapabilities.put(name, value); } @@ -103,7 +111,10 @@ public class Part implements Serializable { String r = ""; r = r.concat("<part partId='"+id+"'>"); - + + r = r.concat("<bundleId>"+this.bundleId+"</bundleId>"); + r = r.concat("<bundleVersion>"+this.bundleVersion+"</bundleVersion>"); + r = r.concat("<partCapabilities>"); try{ Enumeration<Object> cs = partCapabilities.keys(); -- GitLab