From 27575308c12ea26b98c1c4028737adee9951d10e Mon Sep 17 00:00:00 2001
From: Manlio Bacco <manlio.bacco@isti.cnr.it>
Date: Thu, 4 Apr 2013 12:37:08 +0000
Subject: [PATCH] renamed pages; flow corrected; added Browse button for
 security certificates; licenses page more intuitive; fix bug in locating
 projects; added middleware 2.0.0 Preview version; fixed data validator
 classes; minor fixes.

---
 .../universaal/tools/packaging/api/Page.java  |   8 +-
 .../tools/packaging/tool/gui/GUI.java         |  11 +-
 .../tools/packaging/tool/gui/Page1.java       |   4 +-
 .../tools/packaging/tool/gui/Page2.java       | 103 +++++++++++++-----
 .../tools/packaging/tool/gui/Page3.java       |  28 ++---
 .../tools/packaging/tool/gui/Page4.java       |  18 +--
 .../tools/packaging/tool/gui/Page5.java       |  14 +--
 .../packaging/tool/gui/PageLicenses.java      |  18 +--
 .../tools/packaging/tool/gui/PagePartDU.java  |  11 +-
 .../tools/packaging/tool/gui/PagePartEU.java  |  31 +++---
 .../tools/packaging/tool/gui/PagePartPC.java  |  19 ++--
 .../tools/packaging/tool/gui/PagePartPR.java  |  22 ++--
 .../packaging/tool/parts/Application.java     |  60 +++++-----
 .../tool/parts/MiddlewareVersion.java         |   2 +-
 .../tools/packaging/tool/util/Dialog.java     |  12 +-
 .../tool/util/KarafFeaturesGenerator.java     |   6 +-
 .../tool/validators/AlphabeticV.java          |   1 +
 .../packaging/tool/validators/IntegerV.java   |   2 +-
 .../tools/packaging/tool/zip/CreateJar.java   |  11 +-
 19 files changed, 216 insertions(+), 165 deletions(-)

diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/api/Page.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/api/Page.java
index b96da5a31..78da463c7 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/api/Page.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/api/Page.java
@@ -11,10 +11,10 @@ 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 (DU): ";
-	public final String PAGE_PART_EU = "Application Part (EU): ";
-	public final String PAGE_PART_PC = "Application Part (PC): ";
-	public final String PAGE_PART_PR = "Application Part (PR): ";
+	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_END = "universAAL multipart application packager";
 	
 	public final String PAGE_ERROR = "Error Page";
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 1786ce8b0..9e2fec383 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
@@ -17,7 +17,6 @@ import org.universaal.tools.packaging.api.WizardMod;
 import org.universaal.tools.packaging.impl.PageImpl;
 import org.universaal.tools.packaging.tool.parts.MPA;
 import org.universaal.tools.packaging.tool.parts.Part;
-import org.universaal.tools.packaging.tool.util.POMParser;
 import org.universaal.tools.packaging.tool.zip.CreateJar;
 import org.universaal.tools.packaging.tool.zip.UAPP;
 
@@ -95,8 +94,8 @@ public class GUI extends WizardMod {
 
 				String partName = parts.get(i).getName();
 
-				POMParser p = new POMParser(new File(parts.get(i).getFile("pom.xml").getLocation()+""));
-				mpa.getAAL_UAPP().getParts().add(new Part("part"+(i+1)));
+				//POMParser p = new POMParser(new File(parts.get(i).getFile("pom.xml").getLocation()+""));
+				mpa.getAAL_UAPP().getAppParts().add(new Part("part"+(i+1)));
 
 				ppDU = new PagePartDU(Page.PAGE_PART_DU+partName, i); //deployment units
 				addPage(ppDU);
@@ -166,10 +165,10 @@ public class GUI extends WizardMod {
 			}
 
 			// copy properties files
-			for(int i = 0; i < mpa.getAAL_UAPP().getParts().size(); i++){
-				for(int j = 0; j < mpa.getAAL_UAPP().getParts().get(i).getExecutionUnits().size(); j++){
+			for(int i = 0; i < mpa.getAAL_UAPP().getAppParts().size(); i++){
+				for(int j = 0; j < mpa.getAAL_UAPP().getAppParts().get(i).getExecutionUnits().size(); j++){
 
-					File configFile = mpa.getAAL_UAPP().getParts().get(i).getExecutionUnits().get(j).getConfigFile();
+					File configFile = mpa.getAAL_UAPP().getAppParts().get(i).getExecutionUnits().get(j).getConfigFile();
 					copyFile(configFile, new File(tempDir+"/config/"+configFile.getName()));
 				}
 			}
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page1.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page1.java
index d106ac195..77e97f6c9 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page1.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page1.java
@@ -86,8 +86,8 @@ public class Page1 extends PageImpl {
 
 		Label label8 = new Label(container, SWT.NULL);
 		version_build = new Text(container, SWT.BORDER | SWT.SINGLE);
-		mandatory.add(version_build);
-		label8.setText("* Build");
+		//mandatory.add(version_build);
+		label8.setText("Build");
 		version_build.setText(app.getApplication().getVersion().getBuild());
 		version_build.addVerifyListener(new AlphabeticV());
 		version_build.setLayoutData(gd);
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page2.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page2.java
index e9f5d8b2b..86826a45c 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page2.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page2.java
@@ -1,18 +1,24 @@
 package org.universaal.tools.packaging.tool.gui;
 
+import java.io.File;
+import java.net.MalformedURLException;
 import java.net.URI;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.universaal.tools.packaging.impl.PageImpl;
 import org.universaal.tools.packaging.tool.parts.OtherChannel;
+import org.universaal.tools.packaging.tool.util.Dialog;
 import org.universaal.tools.packaging.tool.validators.AlphabeticV;
 import org.universaal.tools.packaging.tool.validators.PhoneV;
 import org.universaal.tools.packaging.tool.validators.UriV;
@@ -29,7 +35,7 @@ public class Page2 extends PageImpl {
 		super(pageName, "Specify contact details");
 	}
 
-	public void createControl(Composite parent) {
+	public void createControl(final Composite parent) {
 
 		container = new Composite(parent, SWT.NULL);
 		setControl(container);
@@ -38,7 +44,7 @@ public class Page2 extends PageImpl {
 		container.setLayout(layout);
 
 		layout.numColumns = 3;
-		gd = new GridData(GridData.FILL, GridData.CENTER, true, false);
+		gd = new GridData(GridData.FILL, GridData.CENTER, true, false);		
 		gd.horizontalSpan = 2;
 
 		Label l1 = new Label(container, SWT.NULL);
@@ -47,7 +53,32 @@ public class Page2 extends PageImpl {
 		l1.setText("Security certificate");
 		certificate.setText(app.getApplication().getApplicationProvider().getCertificate().toString());	
 		certificate.addVerifyListener(new UriV());
-		certificate.setLayoutData(gd);				
+		certificate.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));	
+
+		Button b1 = new Button(container, SWT.PUSH);
+		b1.setText("Browse");
+		b1.addSelectionListener(new SelectionListener() {
+
+			public void widgetSelected(SelectionEvent e) {
+				org.universaal.tools.packaging.tool.util.Dialog d = new org.universaal.tools.packaging.tool.util.Dialog(); 
+				File sc = d.open(parent.getShell(), new String[]{"*.pem", "*.cer", "*.crt", "*.der", "*.p7b", "*.p7c", "*.p12", "*.pfx"}, true, "Select a security certificate...");
+				/* WIKIPEDIA
+			    .pem – (Privacy Enhanced Mail) Base64 encoded DER certificate, enclosed between "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
+			    .cer, .crt, .der – usually in binary DER form, but Base64-encoded certificates are common too (see .pem above)
+			    .p7b, .p7c – PKCS#7 SignedData structure without data, just certificate(s) or CRL(s)
+			    .p12 – PKCS#12, may contain certificate(s) (public) and private keys (password protected)
+			    .pfx – PFX, predecessor of PKCS#12 (usually contains data in PKCS#12 format, e.g., with PFX files generated in IIS)
+				 */
+				try {
+					certificate.setText(sc.toURI().toURL()+"");
+				} catch (MalformedURLException e1) {
+					e1.printStackTrace();
+				}
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});					
 
 		Label l2 = new Label(container, SWT.NULL);
 		person = new Text(container, SWT.BORDER | SWT.SINGLE);
@@ -100,7 +131,7 @@ public class Page2 extends PageImpl {
 		Label l8 = new Label(container, SWT.NULL);
 		othChNm1 = new Text(container, SWT.BORDER | SWT.SINGLE);
 		//mandatory.add(web);
-		l8.setText("Other contact #1 - Identifier");
+		l8.setText("Other contact #1 - Identifier (tel., e-mail, ...)");
 		othChNm1.setText("");			
 		othChNm1.addVerifyListener(new AlphabeticV());
 		othChNm1.setLayoutData(gd);
@@ -108,7 +139,7 @@ public class Page2 extends PageImpl {
 		Label l9 = new Label(container, SWT.NULL);
 		othChnDtl1 = new Text(container, SWT.BORDER | SWT.SINGLE);
 		//mandatory.add(web);
-		l9.setText("Other contact #1 - Details");
+		l9.setText("Other contact #1 - Details (tel. number, e-mail address, ...)");
 		othChnDtl1.setText("");			
 		othChnDtl1.addVerifyListener(new AlphabeticV());
 		othChnDtl1.setLayoutData(gd);
@@ -116,7 +147,7 @@ public class Page2 extends PageImpl {
 		Label l10 = new Label(container, SWT.NULL);
 		othChNm2 = new Text(container, SWT.BORDER | SWT.SINGLE);
 		//mandatory.add(web);
-		l10.setText("Other contact #2 - Identifier");
+		l10.setText("Other contact #2 - Identifier (fax, other...)");
 		othChNm2.setText("");			
 		othChNm2.addVerifyListener(new AlphabeticV());
 		othChNm2.setLayoutData(gd);
@@ -124,7 +155,7 @@ public class Page2 extends PageImpl {
 		Label l11 = new Label(container, SWT.NULL);
 		othChnDtl2 = new Text(container, SWT.BORDER | SWT.SINGLE);
 		//mandatory.add(web);
-		l11.setText("Other contact #2 - Details");
+		l11.setText("Other contact #2 - Details (fax number, other...)");
 		othChnDtl2.setText("");			
 		othChnDtl2.addVerifyListener(new AlphabeticV());
 		othChnDtl2.setLayoutData(gd);
@@ -133,12 +164,12 @@ public class Page2 extends PageImpl {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				try{
-					app.getApplication().getApplicationProvider().setCertificate(URI.create(removeBlanks(certificate.getText())));
-				}
-				catch(Exception ex){
-					ex.printStackTrace();
-				}				
+				//				try{
+				//					//app.getApplication().getApplicationProvider().setCertificate(URI.create(removeBlanks(certificate.getText())));
+				//				}
+				//				catch(Exception ex){
+				//					ex.printStackTrace();
+				//				}				
 			}
 		});
 		person.addKeyListener(new QL() {
@@ -180,12 +211,12 @@ public class Page2 extends PageImpl {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				try{
-					app.getApplication().getApplicationProvider().setWebAddress(URI.create(removeBlanks(web.getText())));
-				}
-				catch(Exception ex){
-					ex.printStackTrace();
-				}				
+//				try{
+//					// app.getApplication().getApplicationProvider().setWebAddress(URI.create(removeBlanks(web.getText())));
+//				}
+//				catch(Exception ex){
+//					ex.printStackTrace();
+//				}				
 			}
 		});
 		othChNm1.addKeyListener(new QL() {
@@ -295,21 +326,33 @@ public class Page2 extends PageImpl {
 	@Override
 	public boolean nextPressed(){
 
-		if(!email.getText().matches(EMAIL_PATTERN)){
+		try{
+			if(!email.getText().matches(EMAIL_PATTERN)){
 
-			FontData[] fD = email.getFont().getFontData();
-			fD[0].setStyle(SWT.COLOR_DARK_RED);
-			fD[0].setStyle(SWT.BOLD);
-			email.setFont(new Font(container.getDisplay(), fD[0]));		
+				FontData[] fD = email.getFont().getFontData();
+				fD[0].setStyle(SWT.COLOR_DARK_RED);
+				fD[0].setStyle(SWT.BOLD);
+				email.setFont(new Font(container.getDisplay(), fD[0]));		
 
-			return false;
-		}			
+				return false;
+			}			
+
+			if(!othChNm1.getText().isEmpty() && !othChnDtl1.getText().isEmpty())
+				app.getApplication().getApplicationProvider().getOtherChannels().add(new OtherChannel(othChNm1.getText(), othChnDtl1.getText()));
+
+			if(!othChNm2.getText().isEmpty() && !othChnDtl2.getText().isEmpty())
+				app.getApplication().getApplicationProvider().getOtherChannels().add(new OtherChannel(othChNm2.getText(), othChnDtl2.getText()));
 
-		if(!othChNm1.getText().isEmpty() && !othChnDtl1.getText().isEmpty())
-			app.getApplication().getApplicationProvider().getOtherChannels().add(new OtherChannel(othChNm1.getText(), othChnDtl1.getText()));
+			if(!certificate.getText().isEmpty()){
+				app.getApplication().getApplicationProvider().setCertificate(URI.create(removeBlanks(certificate.getText())));
+			}
 
-		if(!othChNm2.getText().isEmpty() && !othChnDtl2.getText().isEmpty())
-			app.getApplication().getApplicationProvider().getOtherChannels().add(new OtherChannel(othChNm2.getText(), othChnDtl2.getText()));
+			if(web.getText() != null && !web.getText().isEmpty())
+				app.getApplication().getApplicationProvider().setWebAddress(URI.create(removeBlanks(web.getText())));
+		}
+		catch(Exception ex){
+			ex.printStackTrace();
+		}
 
 		return true;
 	}
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page3.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page3.java
index 08cf84fb0..137b43dfb 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page3.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page3.java
@@ -41,7 +41,7 @@ public class Page3 extends PageImpl {
 		layout.numColumns = 2;
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 
-		Properties capabilities = app.getCapabilities().getCapabilities();
+		Properties capabilities = app.getAppCapabilities().getCapabilities();
 
 		Label l1 = new Label(container, SWT.NULL);
 		targetSpace = new Combo(container, SWT.READ_ONLY);
@@ -81,8 +81,8 @@ public class Page3 extends PageImpl {
 
 		Label l5 = new Label(container, SWT.NULL);
 		targetContainerName = new Combo(container, SWT.READ_ONLY);
-		mandatory.add(targetContainerName);
-		l5.setText("* Target Container Name");
+		//mandatory.add(targetContainerName);
+		l5.setText("Target Container Name");
 		for(int i = 0; i < Container.values().length; i++)
 			targetContainerName.add(Container.values()[i].toString());
 		targetContainerName.setText(capabilities.getProperty(Capability.Mandatory.TARGET_SPACE_VERSION.toString()));			
@@ -90,16 +90,16 @@ public class Page3 extends PageImpl {
 
 		Label l6 = new Label(container, SWT.NULL);
 		targetContainerVersion = new Text(container, SWT.BORDER | SWT.SINGLE);
-		mandatory.add(targetContainerVersion);
-		l6.setText("* Target Container Version");
+		//mandatory.add(targetContainerVersion);
+		l6.setText("Target Container Version");
 		targetContainerVersion.setText(capabilities.getProperty(Capability.Mandatory.TARGET_CONTAINER_VERSION.toString()));			
 		targetContainerVersion.addVerifyListener(new IntegerV());
 		targetContainerVersion.setLayoutData(gd);	
 
 		Label l7 = new Label(container, SWT.NULL);
 		targetDeploymentTool = new Text(container, SWT.BORDER | SWT.SINGLE);
-		mandatory.add(targetDeploymentTool);
-		l7.setText("* Target Deployment Tool");
+		//mandatory.add(targetDeploymentTool);
+		l7.setText("Target Deployment Tool");
 		targetDeploymentTool.setText(capabilities.getProperty(Capability.Mandatory.TARGET_DEPLOYMENT_TOOL.toString()));			
 		targetDeploymentTool.addVerifyListener(new AlphabeticV());
 		targetDeploymentTool.setLayoutData(gd);	
@@ -107,7 +107,7 @@ public class Page3 extends PageImpl {
 		targetSpace.addSelectionListener(new SelectionListener() {
 
 			public void widgetSelected(SelectionEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.TARGET_SPACE.toString(), targetSpace.getText());
+				app.getAppCapabilities().setCapability(Capability.Mandatory.TARGET_SPACE.toString(), targetSpace.getText());
 				setPageComplete(validate());
 			}
 
@@ -118,42 +118,42 @@ public class Page3 extends PageImpl {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.TARGET_SPACE_VERSION.toString(), targetSpaceVersion.getText());				
+				app.getAppCapabilities().setCapability(Capability.Mandatory.TARGET_SPACE_VERSION.toString(), targetSpaceVersion.getText());				
 			}
 		});
 		mw_version.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.MW_VERSION.toString(), mw_version.getText());				
+				app.getAppCapabilities().setCapability(Capability.Mandatory.MW_VERSION.toString(), mw_version.getText());				
 			}
 		});
 		targetOntologies.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.ONTOLOGIES.toString(), targetOntologies.getText());				
+				app.getAppCapabilities().setCapability(Capability.Mandatory.ONTOLOGIES.toString(), targetOntologies.getText());				
 			}
 		});
 		targetContainerName.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.TARGET_CONTAINER_NAME.toString(), targetContainerName.getText());				
+				app.getAppCapabilities().setCapability(Capability.Mandatory.TARGET_CONTAINER_NAME.toString(), targetContainerName.getText());				
 			}
 		});
 		targetContainerVersion.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.TARGET_CONTAINER_VERSION.toString(), targetContainerVersion.getText());				
+				app.getAppCapabilities().setCapability(Capability.Mandatory.TARGET_CONTAINER_VERSION.toString(), targetContainerVersion.getText());				
 			}
 		});
 		targetDeploymentTool.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getCapabilities().setCapability(Capability.Mandatory.TARGET_DEPLOYMENT_TOOL.toString(), targetDeploymentTool.getText());				
+				app.getAppCapabilities().setCapability(Capability.Mandatory.TARGET_DEPLOYMENT_TOOL.toString(), targetDeploymentTool.getText());				
 			}
 		});
 	}
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page4.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page4.java
index e6b5bcedf..df81521af 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page4.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page4.java
@@ -67,7 +67,7 @@ public class Page4 extends PageImpl {
 		logicalCriteria = new ArrayList<String>();
 		logicalRelations = new ArrayList<String>();
 
-		List<Requirement> list = app.getRequirements().getRequirementsList();
+		List<Requirement> list = app.getAppRequirements().getRequirementsList();
 
 		for(int i = offset; (i < list.size() && i < offset+5); i++){
 
@@ -448,7 +448,7 @@ public class Page4 extends PageImpl {
 		Requirement rr = new Requirement(r, false);
 
 		if(!alreadyIn(rr))
-			app.getRequirements().getRequirementsList().add(rr);
+			app.getAppRequirements().getRequirementsList().add(rr);
 	}
 
 	private void single(Text req1, Text val1, LogicalCriteria lc1){
@@ -457,7 +457,7 @@ public class Page4 extends PageImpl {
 		Requirement rr = new Requirement(r, false);
 
 		if(!alreadyIn(rr))
-			app.getRequirements().getRequirementsList().add(rr);
+			app.getAppRequirements().getRequirementsList().add(rr);
 	}
 
 	private void group(LogicalRelation lr, String req1, String val1, LogicalCriteria lc1, String req2, String val2, LogicalCriteria lc2){
@@ -469,15 +469,15 @@ public class Page4 extends PageImpl {
 		Requirement rr = new Requirement(r, false);
 
 		if(!alreadyIn(rr))
-			app.getRequirements().getRequirementsList().add(rr);
+			app.getAppRequirements().getRequirementsList().add(rr);
 	}
 
 	private boolean alreadyIn(Requirement r){
 
 		if(r != null){
-			for(int i = 0; i < app.getRequirements().getRequirementsList().size(); i++){
+			for(int i = 0; i < app.getAppRequirements().getRequirementsList().size(); i++){
 				if(//this.app.getRequirements().getRequirementsList().get(i) != null &&
-						this.app.getRequirements().getRequirementsList().get(i).equals(r)){
+						this.app.getAppRequirements().getRequirementsList().get(i).equals(r)){
 
 					Set<Entry<Requirement, REQ_STATE>> entryset = this.thisReqsPage.entrySet();
 					Iterator<Entry<Requirement, REQ_STATE>> it = entryset.iterator();
@@ -530,11 +530,11 @@ public class Page4 extends PageImpl {
 
 			if(current.getValue() == REQ_STATE.TO_BE_DELETED){
 
-				for(int i = 0; i < this.app.getRequirements().getRequirementsList().size(); i++){
+				for(int i = 0; i < this.app.getAppRequirements().getRequirementsList().size(); i++){
 					if(//this.app.getRequirements().getRequirementsList().get(i) != null && 
-							this.app.getRequirements().getRequirementsList().get(i).equals(current.getKey())){
+							this.app.getAppRequirements().getRequirementsList().get(i).equals(current.getKey())){
 						//System.out.println("\n**removing: "+this.app.getRequirements().getRequirementsList().get(i).getXML());
-						this.app.getRequirements().getRequirementsList().set(i, null);
+						this.app.getAppRequirements().getRequirementsList().set(i, null);
 					}
 				}
 			}
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page5.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page5.java
index c1c0a6e99..97cd64581 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page5.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/Page5.java
@@ -45,23 +45,23 @@ public class Page5 extends PageImpl {
 
 		List<IProject> parts = GUI.getInstance().getParts();
 
-		List<RemoteManagement> remoteM = app.getManagement().getRemoteManagement();
+		List<RemoteManagement> remoteM = app.getAppManagement().getRemoteManagement();
 		while(remoteM.size() < parts.size()){
-			remoteM.add(app.getManagement().new RemoteManagement());
+			remoteM.add(app.getAppManagement().new RemoteManagement());
 		}
 
 		Label l1 = new Label(container, SWT.NULL);
 		contact = new Text(container, SWT.BORDER | SWT.SINGLE);
 		//mandatory.add(contact);
 		l1.setText("Contact Person");
-		contact.setText(app.getManagement().getContact());		
+		contact.setText(app.getAppManagement().getContact());		
 		contact.addVerifyListener(new AlphabeticV());
 		contact.setLayoutData(gd);	
 		contact.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getManagement().setContact(contact.getText());
+				app.getAppManagement().setContact(contact.getText());
 			}
 		});
 
@@ -118,13 +118,13 @@ public class Page5 extends PageImpl {
 
 		for(int j = 0; j < artifacts.size(); j++){
 
-			app.getManagement().getRemoteManagement().get(j).getSoftware().setArtifactID(artifacts.get(j).getText());
-			app.getManagement().getRemoteManagement().get(j).getSoftware().getVersion().setVersion(versions.get(j).getText());
+			app.getAppManagement().getRemoteManagement().get(j).getSoftware().setArtifactID(artifacts.get(j).getText());
+			app.getAppManagement().getRemoteManagement().get(j).getSoftware().getVersion().setVersion(versions.get(j).getText());
 
 			String[] ps = protocols.get(j).getText().split(",");
 			for(int i = 0; i < ps.length; i++)
 				if(ps[i] != null)
-					app.getManagement().getRemoteManagement().get(j).getProtocols().add(ps[i]);
+					app.getAppManagement().getRemoteManagement().get(j).getProtocols().add(ps[i]);
 		}
 
 		return true;
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PageLicenses.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PageLicenses.java
index c8fdee931..16c531606 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PageLicenses.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PageLicenses.java
@@ -189,18 +189,18 @@ public class PageLicenses extends PageImpl {
 
 		gd = new GridData(GridData.FILL, GridData.CENTER, true, false);
 		final Button b = new Button(container, SWT.PUSH);
-		b.setText("Add another license");
-		Label t = new Label(container, SWT.NULL);
-		t.setText("License "+app.getApplication().getLicenses().size());
+		b.setText("Add another license (in next page)");
+		//		Label t = new Label(container, SWT.NULL);
+		//		t.setText("License "+app.getApplication().getLicenses().size());
 		b.addSelectionListener(new SelectionListener() {
 
 			public void widgetSelected(SelectionEvent e) {
 				addLicense = !addLicense;
 				if(!addLicense){
-					b.setText("Add license(s)");
+					b.setText("Add another license (in next page)");
 				}
 				else{
-					b.setText("Remove license adding");
+					b.setText("Do not add a new license");
 				}
 			}
 
@@ -208,11 +208,15 @@ public class PageLicenses extends PageImpl {
 			}
 		});
 		b.setLayoutData(gd);
-		Label l9 = new Label(container, SWT.NULL);
-		l9.setText("(of "+app.getApplication().getLicenses().size()+")");
+		//		Label l9 = new Label(container, SWT.NULL);
+		//		l9.setText("(of "+app.getApplication().getLicenses().size()+")");
 
 		Label empty4 = new Label(container, SWT.NULL);
 		empty4.setText("");
+		Label empty5 = new Label(container, SWT.NULL);
+		empty5.setText("");
+		Label empty6 = new Label(container, SWT.NULL);
+		empty6.setText("");
 	}
 
 	@Override
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartDU.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartDU.java
index 4f1d8748f..3c7feb100 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartDU.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartDU.java
@@ -43,7 +43,8 @@ public class PagePartDU extends PageImpl {
 	private Button ckbOS1, ckbPL1, ckbCU1, ckbKar;
 
 	protected PagePartDU(String pageName, int pn) {
-		super(pageName, "Specify deployment requirements per part");
+		super(pageName, "Part "+(pn+1)+"/"+GUI.getInstance().getPartsCount()+
+				" - Specify deployment requirements per part");
 		this.partNumber = pn;
 
 		value = "A";
@@ -149,7 +150,7 @@ public class PagePartDU extends PageImpl {
 			}
 		});		
 
-		List<DeploymentUnit> DUs = app.getParts().get(partNumber).getDeploymentUnits();
+		List<DeploymentUnit> DUs = app.getAppParts().get(partNumber).getDeploymentUnits();
 
 		Label label1 = new Label(container, SWT.NULL);
 		os1 = new Combo(container, SWT.READ_ONLY);
@@ -293,10 +294,10 @@ public class PagePartDU extends PageImpl {
 		String id = "_"+numb+alph;
 
 		if(ckbOS1.getSelection()){
-			app.getParts().get(partNumber).getDeploymentUnits().add(new DeploymentUnit(id, OS.valueOf(os1.getText())));
+			app.getAppParts().get(partNumber).getDeploymentUnits().add(new DeploymentUnit(id, OS.valueOf(os1.getText())));
 		}
 		else if(ckbPL1.getSelection()){
-			app.getParts().get(partNumber).getDeploymentUnits().add(new DeploymentUnit(id, Platform.valueOf(platform1.getText())));
+			app.getAppParts().get(partNumber).getDeploymentUnits().add(new DeploymentUnit(id, Platform.valueOf(platform1.getText())));
 		}
 		else if(ckbCU1.getSelection()){
 			ContainerUnit cu = null;
@@ -315,7 +316,7 @@ public class PagePartDU extends PageImpl {
 			else if(!cu1.getText().equals(Container.KARAF.toString()) && !cu1.getText().equals(Container.ANDROID.toString())){
 				cu = new ContainerUnit(Container.valueOf(cu1.getText()));
 			}
-			app.getParts().get(partNumber).getDeploymentUnits().add(new DeploymentUnit(id, cu));
+			app.getAppParts().get(partNumber).getDeploymentUnits().add(new DeploymentUnit(id, cu));
 		}
 
 		return true;
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartEU.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartEU.java
index a51f7fe72..072154785 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartEU.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartEU.java
@@ -29,7 +29,8 @@ public class PagePartEU extends PageImpl {
 	private File f1, f2, f3, f4;
 
 	protected PagePartEU(String pageName, int pn) {
-		super(pageName, "Specify execution units per part");
+		super(pageName, "Part "+(pn+1)+"/"+GUI.getInstance().getPartsCount()+
+				" - Specify execution units per part");
 		this.partNumber = pn;
 	}
 
@@ -44,7 +45,7 @@ public class PagePartEU extends PageImpl {
 		layout.numColumns = 3;
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 
-		List<ExecutionUnit> eus = app.getParts().get(partNumber).getExecutionUnits();
+		List<ExecutionUnit> eus = app.getAppParts().get(partNumber).getExecutionUnits();
 
 		Label l1 = new Label(container, SWT.NULL);
 		configFile1 = new Text(container, SWT.BORDER | SWT.SINGLE);
@@ -209,32 +210,32 @@ public class PagePartEU extends PageImpl {
 	@Override
 	public boolean nextPressed() {
 
-		String id = app.getParts().get(partNumber).getDeploymentUnits().get(0).getId();
+		String id = app.getAppParts().get(partNumber).getDeploymentUnits().get(0).getId();
 
 		try{
 			if(f1 != null){
-				if(app.getParts().get(partNumber).getExecutionUnits().size() == 0)
-					app.getParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f1, Integer.parseInt(ssl1.getText())));
+				if(app.getAppParts().get(partNumber).getExecutionUnits().size() == 0)
+					app.getAppParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f1, Integer.parseInt(ssl1.getText())));
 				else
-					app.getParts().get(partNumber).getExecutionUnits().set(0, new ExecutionUnit(id, f1, Integer.parseInt(ssl1.getText())));
+					app.getAppParts().get(partNumber).getExecutionUnits().set(0, new ExecutionUnit(id, f1, Integer.parseInt(ssl1.getText())));
 			}
 			if(f2 != null){
-				if(app.getParts().get(partNumber).getExecutionUnits().size() == 1)
-					app.getParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f2, Integer.parseInt(ssl2.getText())));
+				if(app.getAppParts().get(partNumber).getExecutionUnits().size() == 1)
+					app.getAppParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f2, Integer.parseInt(ssl2.getText())));
 				else
-					app.getParts().get(partNumber).getExecutionUnits().set(1, new ExecutionUnit(id, f2, Integer.parseInt(ssl2.getText())));
+					app.getAppParts().get(partNumber).getExecutionUnits().set(1, new ExecutionUnit(id, f2, Integer.parseInt(ssl2.getText())));
 			}
 			if(f3 != null){
-				if(app.getParts().get(partNumber).getExecutionUnits().size() == 2)
-					app.getParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f3, Integer.parseInt(ssl3.getText())));
+				if(app.getAppParts().get(partNumber).getExecutionUnits().size() == 2)
+					app.getAppParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f3, Integer.parseInt(ssl3.getText())));
 				else
-					app.getParts().get(partNumber).getExecutionUnits().set(2, new ExecutionUnit(id, f3, Integer.parseInt(ssl3.getText())));
+					app.getAppParts().get(partNumber).getExecutionUnits().set(2, new ExecutionUnit(id, f3, Integer.parseInt(ssl3.getText())));
 			}
 			if(f4 != null){
-				if(app.getParts().get(partNumber).getExecutionUnits().size() == 3)
-					app.getParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f4, Integer.parseInt(ssl4.getText())));
+				if(app.getAppParts().get(partNumber).getExecutionUnits().size() == 3)
+					app.getAppParts().get(partNumber).getExecutionUnits().add(new ExecutionUnit(id, f4, Integer.parseInt(ssl4.getText())));
 				else
-					app.getParts().get(partNumber).getExecutionUnits().set(3, new ExecutionUnit(id, f4, Integer.parseInt(ssl4.getText())));
+					app.getAppParts().get(partNumber).getExecutionUnits().set(3, new ExecutionUnit(id, f4, Integer.parseInt(ssl4.getText())));
 			}
 		}
 		catch(Exception ex){
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPC.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPC.java
index 30af413c4..1cd474eb5 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPC.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPC.java
@@ -29,7 +29,8 @@ public class PagePartPC extends PageImpl {
 	private Text targetSpaceVersion, targetOntologies, targetContainerVersion, targetDeploymentTool;
 
 	protected PagePartPC(String pageName, int pn) {
-		super(pageName, "Specify capabilities per part");
+		super(pageName, "Part "+(pn+1)+"/"+GUI.getInstance().getPartsCount()+
+				" - Specify capabilities per part");
 		this.partNumber = pn;
 	}
 
@@ -44,7 +45,7 @@ public class PagePartPC extends PageImpl {
 		layout.numColumns = 2;
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 
-		Properties capabilities = app.getParts().get(partNumber).getPartCapabilities();
+		Properties capabilities = app.getAppParts().get(partNumber).getPartCapabilities();
 
 		Label l1 = new Label(container, SWT.NULL);
 		targetSpace = new Combo (container, SWT.READ_ONLY);
@@ -111,49 +112,49 @@ public class PagePartPC extends PageImpl {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_SPACE.toString(), targetSpace.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_SPACE.toString(), targetSpace.getText());				
 			}
 		});
 		targetSpaceVersion.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_SPACE_VERSION.toString(), targetSpaceVersion.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_SPACE_VERSION.toString(), targetSpaceVersion.getText());				
 			}
 		});
 		mw_version.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.MW_VERSION.toString(), mw_version.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.MW_VERSION.toString(), mw_version.getText());				
 			}
 		});
 		targetOntologies.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.ONTOLOGIES.toString(), targetOntologies.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.ONTOLOGIES.toString(), targetOntologies.getText());				
 			}
 		});
 		targetContainerName.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_CONTAINER_NAME.toString(), targetContainerName.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_CONTAINER_NAME.toString(), targetContainerName.getText());				
 			}
 		});
 		targetContainerVersion.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_CONTAINER_VERSION.toString(), targetContainerVersion.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_CONTAINER_VERSION.toString(), targetContainerVersion.getText());				
 			}
 		});
 		targetDeploymentTool.addKeyListener(new QL() {
 
 			@Override
 			public void keyReleased(KeyEvent e) {
-				app.getParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_DEPLOYMENT_TOOL.toString(), targetDeploymentTool.getText());				
+				app.getAppParts().get(partNumber).setCapability(Capability.Mandatory.TARGET_DEPLOYMENT_TOOL.toString(), targetDeploymentTool.getText());				
 			}
 		});
 	}
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPR.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPR.java
index d65bcab21..d1289d3b1 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPR.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/gui/PagePartPR.java
@@ -43,8 +43,8 @@ public class PagePartPR extends PageImpl {
 	private Map<Requirement, REQ_STATE> thisReqsPage;
 
 	protected PagePartPR(String pageName, int pn, int offset, LogicalRelation lrFromPreviousPage, SingleRequirement srFromPreviousPage) {
-
-		super(pageName, "Specify requirements of this part of your MPA");
+		super(pageName, "Part "+(pn+1)+"/"+GUI.getInstance().getPartsCount()+
+				" - Specify requirements of this part of your MPA");
 		this.partNumber = pn;
 
 		this.offset = offset;
@@ -73,7 +73,7 @@ public class PagePartPR extends PageImpl {
 		logicalCriteria = new ArrayList<String>();
 		logicalRelations = new ArrayList<String>();
 
-		List<Requirement> list = app.getParts().get(partNumber).getPartRequirements();
+		List<Requirement> list = app.getAppParts().get(partNumber).getPartRequirements();
 
 		for(int i = offset; (i < list.size() && i < offset+5); i++){
 
@@ -460,7 +460,7 @@ public class PagePartPR extends PageImpl {
 		Requirement rr = new Requirement(r, false);
 
 		if(!alreadyIn(rr))
-			app.getParts().get(partNumber).getPartRequirements().add(rr);
+			app.getAppParts().get(partNumber).getPartRequirements().add(rr);
 	}
 
 	private void single(Text req1, Text val1, LogicalCriteria lc1){
@@ -469,7 +469,7 @@ public class PagePartPR extends PageImpl {
 		Requirement rr = new Requirement(r, false);
 
 		if(!alreadyIn(rr))
-			app.getParts().get(partNumber).getPartRequirements().add(rr);
+			app.getAppParts().get(partNumber).getPartRequirements().add(rr);
 	}
 
 	private void group(LogicalRelation lr, String req1, String val1, LogicalCriteria lc1, String req2, String val2, LogicalCriteria lc2){
@@ -481,14 +481,14 @@ public class PagePartPR extends PageImpl {
 		Requirement rr = new Requirement(r, false);
 
 		if(!alreadyIn(rr))
-			app.getParts().get(partNumber).getPartRequirements().add(rr);
+			app.getAppParts().get(partNumber).getPartRequirements().add(rr);
 	}
 
 	private boolean alreadyIn(Requirement r){
 
 		if(r != null){
-			for(int i = 0; i < app.getParts().get(partNumber).getPartRequirements().size(); i++){
-				if(this.app.getParts().get(partNumber).getPartRequirements().get(i).equals(r)){
+			for(int i = 0; i < app.getAppParts().get(partNumber).getPartRequirements().size(); i++){
+				if(this.app.getAppParts().get(partNumber).getPartRequirements().get(i).equals(r)){
 
 					Set<Entry<Requirement, REQ_STATE>> entryset = this.thisReqsPage.entrySet();
 					Iterator<Entry<Requirement, REQ_STATE>> it = entryset.iterator();
@@ -541,9 +541,9 @@ public class PagePartPR extends PageImpl {
 
 			if(current.getValue() == REQ_STATE.TO_BE_DELETED){
 
-				for(int i = 0; i < this.app.getParts().get(partNumber).getPartRequirements().size(); i++){
-					if(this.app.getParts().get(partNumber).getPartRequirements().get(i).equals(current.getKey())){
-						this.app.getParts().get(partNumber).getPartRequirements().set(i, null);
+				for(int i = 0; i < this.app.getAppParts().get(partNumber).getPartRequirements().size(); i++){
+					if(this.app.getAppParts().get(partNumber).getPartRequirements().get(i).equals(current.getKey())){
+						this.app.getAppParts().get(partNumber).getPartRequirements().set(i, null);
 					}
 				}
 			}
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Application.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Application.java
index a15bbc7c1..19ca4fc56 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Application.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/Application.java
@@ -11,46 +11,46 @@ public class Application {
 	public static final String defaultVersion = "major.minor.micro.build";
 
 	private App application;
-	private ApplicationCapabilities capabilities;
-	private ApplicationRequirements requirements;
-	private ApplicationManagement management;
-	private List<Part> parts;
+	private ApplicationCapabilities appCapabilities;
+	private ApplicationRequirements appRequirements;
+	private ApplicationManagement appManagement;
+	private List<Part> appParts;
 
 	public Application(){
 		this.application = new App();
-		this.capabilities = new ApplicationCapabilities();
-		this.requirements = new ApplicationRequirements();
-		this.management = new ApplicationManagement();
+		this.appCapabilities = new ApplicationCapabilities();
+		this.appRequirements = new ApplicationRequirements();
+		this.appManagement = new ApplicationManagement();
 	}
 
 	public App getApplication() {
 		return application;
 	}
-	public void setApplication(App app) {
-		this.application = app;
+	public void setApplication(App application) {
+		this.application = application;
 	}
-	public ApplicationCapabilities getCapabilities() {
-		return capabilities;
+	public ApplicationCapabilities getAppCapabilities() {
+		return appCapabilities;
 	}
-	public void setCapabilities(ApplicationCapabilities capabilities) {
-		this.capabilities = capabilities;
+	public void setAppCapabilities(ApplicationCapabilities appCapabilities) {
+		this.appCapabilities = appCapabilities;
 	}
-	public ApplicationRequirements getRequirements() {
-		return requirements;
+	public ApplicationRequirements getAppRequirements() {
+		return appRequirements;
 	}
-	public void setRequirements(ApplicationRequirements requirements) {
-		this.requirements = requirements;
+	public void setAppRequirements(ApplicationRequirements appRequirements) {
+		this.appRequirements = appRequirements;
 	}
-	public ApplicationManagement getManagement() {
-		return management;
+	public ApplicationManagement getAppManagement() {
+		return appManagement;
 	}
-	public void setManagement(ApplicationManagement management) {
-		this.management = management;
+	public void setAppManagement(ApplicationManagement appManagement) {
+		this.appManagement = appManagement;
 	}
-	public List<Part> getParts() {
-		if(this.parts == null)
-			this.parts = new ArrayList<Part>();
-		return parts;
+	public List<Part> getAppParts() {
+		if(this.appParts == null)
+			this.appParts = new ArrayList<Part>();
+		return appParts;
 	}
 
 	public String getXML(){
@@ -58,12 +58,12 @@ public class Application {
 		String r = "";
 
 		r = r.concat("<app>"+application.getXML()+"</app>");
-		r = r.concat("<applicationCapabilities>"+capabilities.getXML()+"</applicationCapabilities>");
-		r = r.concat("<applicationRequirements>"+requirements.getXML()+"</applicationRequirements>");
-		r = r.concat("<applicationManagement>"+management.getXML()+"</applicationManagement>");
+		r = r.concat("<applicationCapabilities>"+appCapabilities.getXML()+"</applicationCapabilities>");
+		r = r.concat("<applicationRequirements>"+appRequirements.getXML()+"</applicationRequirements>");
+		r = r.concat("<applicationManagement>"+appManagement.getXML()+"</applicationManagement>");
 		r = r.concat("<applicationPart>");
-		for(int i = 0; i < getParts().size(); i++)
-			r = r.concat(parts.get(i).getXML());
+		for(int i = 0; i < getAppParts().size(); i++)
+			r = r.concat(appParts.get(i).getXML());
 		r = r.concat("</applicationPart>");
 
 		return r;
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/MiddlewareVersion.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/MiddlewareVersion.java
index 738e4fc4e..fe541116b 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/MiddlewareVersion.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/parts/MiddlewareVersion.java
@@ -5,6 +5,6 @@ public class MiddlewareVersion {
 	//0.3.0-SNAPSHOT, 1.0.0, 1.1.0, 1.2.0, 1.3.0
 
 	public static String[] getMWversion(){
-		return new String[]{"0.3.0-SNAPSHOT", "1.0.0", "1.1.0", "1.2.0", "1.3.0"};
+		return new String[]{"0.3.0-SNAPSHOT", "1.0.0", "1.1.0", "1.2.0", "1.3.0", "2.0.0 Preview"};
 	}
 }
\ No newline at end of file
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/Dialog.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/Dialog.java
index 6edfde4b2..d23b43558 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/Dialog.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/Dialog.java
@@ -8,13 +8,13 @@ import org.eclipse.swt.widgets.Shell;
 
 public class Dialog {
 
-	public File open(Shell s, String[] filterExt, boolean open, String topText){
+	public File open(Shell shell, String[] filterExt, boolean open, String topText){
 
 		FileDialog fd;
 		if(open)
-			fd = new FileDialog(s, SWT.OPEN);
+			fd = new FileDialog(shell, SWT.OPEN);
 		else
-			fd = new FileDialog(s, SWT.SAVE);
+			fd = new FileDialog(shell, SWT.SAVE);
 		fd.setText(topText);
 		fd.setFilterPath("C:/");
 		fd.setFileName("");
@@ -25,13 +25,13 @@ public class Dialog {
 		return new File(selected);
 	}
 
-	public File open(Shell s, String filename, String[] filterExt, boolean open, String topText){
+	public File open(Shell shell, String filename, String[] filterExt, boolean open, String topText){
 
 		FileDialog fd;
 		if(open)
-			fd = new FileDialog(s, SWT.OPEN);
+			fd = new FileDialog(shell, SWT.OPEN);
 		else
-			fd = new FileDialog(s, SWT.SAVE);
+			fd = new FileDialog(shell, SWT.SAVE);
 		fd.setText(topText);
 		fd.setFilterPath("C:/");
 		fd.setFileName(filename);
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/KarafFeaturesGenerator.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/KarafFeaturesGenerator.java
index 028cf8485..97229f8b5 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/KarafFeaturesGenerator.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/util/KarafFeaturesGenerator.java
@@ -80,7 +80,7 @@ public class KarafFeaturesGenerator {
 		if(execution_result != null && execution_result.getExceptions() != null)
 			for(int i = 0; i < execution_result.getExceptions().size(); i++)
 				ret = ret.concat(execution_result.getExceptions().get(i).getMessage()+"\n");
-		System.out.println("[ERROR] The generation of Karaf features has failed: "+ret);
+		System.out.println("[ERROR] The generation of Karaf features is failed: "+ret);
 
 		return "";
 	}
@@ -205,7 +205,7 @@ public class KarafFeaturesGenerator {
 	private void generateKarFile(IProject part){
 
 		try{
-			String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
+			String path = part.getLocation().toString(); //ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
 			File target, feature;
 			target = new File(path+"/target");
 			feature = new File(path+"/target/feature");
@@ -263,7 +263,7 @@ public class KarafFeaturesGenerator {
 		String xml = "";
 		try {
 
-			String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
+			String path = part.getLocation().toString(); // ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
 			File features = new File(path+"/target/classes/feature.xml");
 
 			DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/AlphabeticV.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/AlphabeticV.java
index b2af5f641..7a8ead7a3 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/AlphabeticV.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/AlphabeticV.java
@@ -12,6 +12,7 @@ public class AlphabeticV implements VerifyListener {
 						Character.isDigit(e.character) || 
 						e.character == '-' || 
 						e.character == '\b' || 
+						e.character == '.' || 
 						e.character == ' ' || 
 						e.character == ',') && 
 						(e.character != '<' && 
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/IntegerV.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/IntegerV.java
index 056fbb988..bf5cfcf7a 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/IntegerV.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/validators/IntegerV.java
@@ -7,6 +7,6 @@ public class IntegerV implements VerifyListener {
 
 	public void verifyText(VerifyEvent e) {
 
-		e.doit = Character.isDigit(e.character) || e.character == '\b';
+		e.doit = Character.isDigit(e.character) || e.character == '\b' || e.character == '.';
 	}
 }
\ No newline at end of file
diff --git a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/zip/CreateJar.java b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/zip/CreateJar.java
index 48db39d9c..cfa233071 100644
--- a/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/zip/CreateJar.java
+++ b/mpa/org.universaal.tools.packaging.tool/src/org/universaal/tools/packaging/tool/zip/CreateJar.java
@@ -23,10 +23,10 @@ public class CreateJar {
 
 		GUI g = GUI.getInstance();
 		String destination_path = g.getTempDir()+"/bin/part"+partNumber+"/";
+		POMParser p = new POMParser(new File(part.getFile("pom.xml").getLocation()+""));			
 
-		try{			
-			String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
-			POMParser p = new POMParser(new File(part.getFile("pom.xml").getLocation()+""));			
+		String path = part.getLocation().toString(); //ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
+		try{							
 			String fileName = p.getArtifactID()+"-"+p.getVersion()+".jar";
 
 			Manifest manifest = new Manifest();
@@ -42,8 +42,9 @@ public class CreateJar {
 
 		try{
 			//if file KAR is present, add it to partX folder
-			String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
-			POMParser p = new POMParser(new File(part.getFile("pom.xml").getLocation()+""));
+			
+			//String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
+			//POMParser p = new POMParser(new File(part.getFile("pom.xml").getLocation()+""));
 			String fileName = p.getArtifactID()+"-"+p.getVersion()+".kar";
 			File kar = new File(path+"/target/"+fileName);
 			if(kar.exists())
-- 
GitLab