[yocto] [RFC refactor 12/21] Store metadata location as URI instead of String

Ioana Grigoropol ioanax.grigoropol at intel.com
Wed Jun 5 10:00:13 PDT 2013


- use URI to store meta-data location
- initialize metadata location with projectLocation/meta

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol at intel.com>
---
 .../bc/ui/wizards/BitbakeRecipeUIElement.java      |   15 +++++++++++----
 .../ui/wizards/NewBitBakeFileRecipeWizardPage.java |   19 +++++++++++++++++--
 2 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/BitbakeRecipeUIElement.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/BitbakeRecipeUIElement.java
index 9699117..8bbc113 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/BitbakeRecipeUIElement.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/BitbakeRecipeUIElement.java
@@ -12,6 +12,9 @@ package org.yocto.bc.ui.wizards;
 
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.swt.widgets.Text;
+
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 
 public class BitbakeRecipeUIElement {
@@ -27,7 +30,7 @@ public class BitbakeRecipeUIElement {
 	private String srcuri;
 	private String md5sum;
 	private String sha256sum;
-	private String metaDir;
+	private URI metaDir;
 	private ArrayList inheritance;
 
 	public BitbakeRecipeUIElement()
@@ -44,7 +47,11 @@ public class BitbakeRecipeUIElement {
 		this.md5sum = "";
 		this.sha256sum = "";
 		this.inheritance = new ArrayList();
-		this.metaDir = "";
+		try {
+			this.metaDir = new URI("");
+		} catch (URISyntaxException e) {
+			e.printStackTrace();
+		}
 	}
 
 	public String getContainer() {
@@ -135,11 +142,11 @@ public class BitbakeRecipeUIElement {
 		this.inheritance = value;
 	}
 	
-	public String getMetaDir() {
+	public URI getMetaDir() {
 		return metaDir;
 	}
 	
-	public void setMetaDir(String value) {
+	public void setMetaDir(URI value) {
 		metaDir = value;
 	}
 }
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java
index c9b39be..e9dc53f 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java
@@ -15,6 +15,7 @@ import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jface.viewers.ISelection;
@@ -36,6 +37,9 @@ import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.yocto.bc.ui.Activator;
+import org.yocto.bc.ui.model.ProjectInfo;
+import org.yocto.remote.utils.RemoteHelper;
 
 import java.util.HashMap;
 import java.util.Hashtable;
@@ -53,6 +57,7 @@ import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.FilenameFilter;
 import java.security.MessageDigest;
+import java.lang.reflect.InvocationTargetException;
 import java.math.BigInteger;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -75,7 +80,7 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage {
 	private BitbakeRecipeUIElement element;
 	
 	private ISelection selection;
-	private String metaDirLoc;
+	private URI metaDirLoc;
 	private ArrayList inheritance;
 	private final IHost connection;
 
@@ -213,7 +218,17 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage {
 		}
 		
 		IProject project = container.getProject();
-		metaDirLoc = project.getLocation().toString() + "/meta";
+		ProjectInfo projInfo = null;
+		try {
+			projInfo = Activator.getProjInfo(project.getLocationURI());
+		} catch (InvocationTargetException e) {
+			e.printStackTrace();
+		} catch (CoreException e) {
+			e.printStackTrace();
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+		metaDirLoc = RemoteHelper.createNewURI(projInfo.getOriginalURI(), "meta");
 	
 		if (fileName.length() == 0) {
 			updateStatus("File name must be specified");
-- 
1.7.9.5




More information about the yocto mailing list