You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/09/27 22:49:58 UTC
svn commit: r1176614 - in
/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya:
./ appwrapper/ component/gui/ component/registry/
Author: lahiru
Date: Tue Sep 27 20:49:58 2011
New Revision: 1176614
URL: http://svn.apache.org/viewvc?rev=1176614&view=rev
Log:
committing saminda's patch for https://issues.apache.org/jira/browse/AIRAVATA-119, and committing the fix for https://issues.apache.org/jira/browse/AIRAVATA-121.
Modified:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConstants.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionRegistrationWindow.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java?rev=1176614&r1=1176613&r2=1176614&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java Tue Sep 27 20:49:58 2011
@@ -117,7 +117,7 @@ public class XBaya {
} else if ("-workflow".equalsIgnoreCase(arg)) {
index++;
this.config.setWorkflow(args[index]);
- } else if ("-xRegistryURL".equalsIgnoreCase(arg)) {
+ } else if ("-RegistryCredentials".equalsIgnoreCase(arg)) {
index++;
String url = args[index];
try {
@@ -201,54 +201,74 @@ public class XBaya {
logger.warning(message, e);
this.config.addError(new XBayaException(message, e));
}
- } else if ("-myProxyServer".equalsIgnoreCase(arg)) {
+ } else if ("-registryURL".equalsIgnoreCase(arg)) {
index++;
- String server = args[index];
- if ("null".equalsIgnoreCase(server)) {
- // This is a workaround that JNLP doesn't take empty
- // string as an argument.
- server = null;
- }
- this.config.setMyProxyServer(server);
- } else if ("-myProxyPort".equalsIgnoreCase(arg)) {
- index++;
- String port = args[index];
+ String registryURL = args[index];
try {
- this.config.setMyProxyPort(Integer.parseInt(port));
- } catch (NumberFormatException e) {
- String message = "The myProxyPort must be an integer: " + port;
+ this.config.setRegistryURL(parseURL(registryURL));
+ } catch (URISyntaxException e) {
+ String message = "The message box URL is in wrong format: " + registryURL;
logger.warning(message, e);
this.config.addError(new XBayaException(message, e));
}
- } else if ("-myProxyUsername".equalsIgnoreCase(arg)) {
- index++;
- this.config.setMyProxyUsername(args[index]);
- } else if ("-myProxyPassphrase".equalsIgnoreCase(arg)) {
- index++;
- this.config.setMyProxyPassphrase(args[index]);
- } else if ("-myProxyLifetime".equalsIgnoreCase(arg)) {
+ } else if ("-registryUserName".equalsIgnoreCase(arg)) {
+
index++;
- String lifetime = args[index];
- try {
- this.config.setMyProxyLifetime(Integer.parseInt(lifetime));
- } catch (NumberFormatException e) {
- String message = "The myProxyLifetime must be an integer: " + lifetime;
- logger.warning(message, e);
- this.config.addError(new XBayaException(message, e));
- }
- } else if ("-loadMyProxy".equalsIgnoreCase(arg)) {
+ this.config.setRegigstryUserName(args[index]);
+ }else if ("-registryPassphrase".equalsIgnoreCase(arg)) {
+
index++;
- String load = args[index];
- if ("true".equalsIgnoreCase(load)) {
- this.config.setLoadMyProxy(true);
- } else if ("false".equalsIgnoreCase(load)) {
- this.config.setLoadMyProxy(false);
- } else {
- String message = "-loadMyProxy has to be either true or false, not " + load;
- logger.warning(message);
- this.config.addError(new XBayaException(message));
- }
- } else if ("-width".equalsIgnoreCase(arg)) {
+ this.config.setRegistryPassphrase(args[index]);
+ }
+// else if ("-myProxyServer".equalsIgnoreCase(arg)) {
+// index++;
+// String server = args[index];
+// if ("null".equalsIgnoreCase(server)) {
+// // This is a workaround that JNLP doesn't take empty
+// // string as an argument.
+// server = null;
+// }
+// this.config.setMyProxyServer(server);
+// } else if ("-myProxyPort".equalsIgnoreCase(arg)) {
+// index++;
+// String port = args[index];
+// try {
+// this.config.setMyProxyPort(Integer.parseInt(port));
+// } catch (NumberFormatException e) {
+// String message = "The myProxyPort must be an integer: " + port;
+// logger.warning(message, e);
+// this.config.addError(new XBayaException(message, e));
+// }
+// } else if ("-myProxyUsername".equalsIgnoreCase(arg)) {
+// index++;
+// this.config.setMyProxyUsername(args[index]);
+// } else if ("-myProxyPassphrase".equalsIgnoreCase(arg)) {
+// index++;
+// this.config.setMyProxyPassphrase(args[index]);
+// } else if ("-myProxyLifetime".equalsIgnoreCase(arg)) {
+// index++;
+// String lifetime = args[index];
+// try {
+// this.config.setMyProxyLifetime(Integer.parseInt(lifetime));
+// } catch (NumberFormatException e) {
+// String message = "The myProxyLifetime must be an integer: " + lifetime;
+// logger.warning(message, e);
+// this.config.addError(new XBayaException(message, e));
+// }
+// } else if ("-loadMyProxy".equalsIgnoreCase(arg)) {
+// index++;
+// String load = args[index];
+// if ("true".equalsIgnoreCase(load)) {
+// this.config.setLoadMyProxy(true);
+// } else if ("false".equalsIgnoreCase(load)) {
+// this.config.setLoadMyProxy(false);
+// } else {
+// String message = "-loadMyProxy has to be either true or false, not " + load;
+// logger.warning(message);
+// this.config.addError(new XBayaException(message));
+// }
+// }
+ else if ("-width".equalsIgnoreCase(arg)) {
index++;
String width = args[index];
try {
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java?rev=1176614&r1=1176613&r2=1176614&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java Tue Sep 27 20:49:58 2011
@@ -67,6 +67,12 @@ public class XBayaConfiguration {
private URI xRegistryURL = XBayaConstants.DEFAULT_XREGISTRY_URL;
+ private URI registryURL = XBayaConstants.REGISTRY_URL;
+
+ private String regigstryUserName = XBayaConstants.REGISTRY_USERNAME;
+
+ private String registryPassphrase = XBayaConstants.REGISTRY_PASSPHRASE;
+
private URI dscURL = XBayaConstants.DEFAULT_DSC_URL;
// Monitor related
@@ -754,4 +760,16 @@ public class XBayaConfiguration {
public void setJcrComponentRegistry(JCRComponentRegistry jcrComponentRegistry) {
this.jcrComponentRegistry = jcrComponentRegistry;
}
+
+ public void setRegistryURL(URI registryURL) {
+ this.registryURL = registryURL;
+ }
+
+ public void setRegigstryUserName(String regigstryUserName) {
+ this.regigstryUserName = regigstryUserName;
+ }
+
+ public void setRegistryPassphrase(String registryPassphrase) {
+ this.registryPassphrase = registryPassphrase;
+ }
}
\ No newline at end of file
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConstants.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConstants.java?rev=1176614&r1=1176613&r2=1176614&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConstants.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConstants.java Tue Sep 27 20:49:58 2011
@@ -186,6 +186,9 @@ public class XBayaConstants {
public static final String STREAM_SERVER = "http://pagodatree.cs.indiana.edu:8081/axis2/services/StreamService?wsdl";
public static final String STATIC_LABEL = "STATIC";
+ public static final URI REGISTRY_URL = URI.create("http://localhost:8081/rmi");
+ public static final String REGISTRY_USERNAME = "admin";
+ public static final String REGISTRY_PASSPHRASE = "admin";
/**
* XRegistry Resource Types for OGCE Resource
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionRegistrationWindow.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionRegistrationWindow.java?rev=1176614&r1=1176613&r2=1176614&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionRegistrationWindow.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionRegistrationWindow.java Tue Sep 27 20:49:58 2011
@@ -23,16 +23,17 @@ package org.apache.airavata.xbaya.appwra
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
-import javax.xml.namespace.QName;
import org.apache.airavata.common.utils.NameValidator;
import org.apache.airavata.common.utils.StringUtil;
+import org.apache.airavata.commons.gfac.type.app.ShellApplicationDeployment;
import org.apache.airavata.xbaya.XBayaEngine;
import org.apache.airavata.xbaya.gui.GridPanel;
import org.apache.airavata.xbaya.gui.XBayaComboBox;
@@ -84,10 +85,6 @@ public class ApplicationDescriptionRegis
private XBayaLabel workDirectoryLabel;
private XBayaTextField workDirectoryTextField;
- private boolean isEditing = false;
-
- private ApplicationBean editingAppBean;
-
private static ApplicationDescriptionRegistrationWindow window;
/**
@@ -154,8 +151,6 @@ public class ApplicationDescriptionRegis
* @param appBean
*/
public void initTextField(ApplicationBean appBean) {
- this.isEditing = true;
- this.editingAppBean = appBean;
this.applicationNameTextField.setText(appBean.getApplicationName());
this.hostNameComboBox.setSelectedItem(appBean.getHostName());
this.executableTextField.setText(appBean.getExecutable());
@@ -313,41 +308,41 @@ public class ApplicationDescriptionRegis
}
/* Generate Bean Object */
- ApplicationBean appBean = new ApplicationBean();
- appBean.setApplicationName(StringUtil.trimSpaceInString(this.applicationNameTextField.getText()));
- appBean.setHostName(StringUtil.trimSpaceInString(this.hostNameComboBox.getText()));
- appBean.setExecutable(StringUtil.trimSpaceInString(this.executableTextField.getText()));
- appBean.setWorkDir(StringUtil.trimSpaceInString(this.workDirectoryTextField.getText()));
- appBean.setTmpDir(StringUtil.trimSpaceInString(this.tempDirTextField.getText()));
-
- appBean.setProjectName(StringUtil.trimSpaceInString(this.projectNameComboBox.getText()));
- appBean.setJobType(StringUtil.trimSpaceInString(this.jobTypeComboBox.getText()));
- appBean.setQueue(StringUtil.trimSpaceInString(this.queueTextField.getText()));
- if (!this.maxWallTimeTextField.getText().equals("")) {
- appBean.setMaxWallTime(new Integer(Integer.parseInt(this.maxWallTimeTextField.getText())));
+ String hostName = StringUtil.trimSpaceInString(this.hostNameComboBox.getText());
+ String projectName = StringUtil.trimSpaceInString(this.projectNameComboBox.getText());
+ String jobType = StringUtil.trimSpaceInString(this.jobTypeComboBox.getText());
+ String queue = StringUtil.trimSpaceInString(this.queueTextField.getText());
+ Integer maxWallTime = null;
+ if (!this.maxWallTimeTextField.getText().equals("")) {
+ maxWallTime = new Integer(
+ Integer.parseInt(this.maxWallTimeTextField.getText()));
+ }
+ Integer pCount = null;
+ if (!this.procsCountTextField.getText().equals("")) {
+ pCount = new Integer(Integer.parseInt(this.procsCountTextField
+ .getText()));
+ }
+
+ ShellApplicationDeployment shellApplicationDeployment = new ShellApplicationDeployment();
+ shellApplicationDeployment.setName(StringUtil.trimSpaceInString(this.applicationNameTextField.getText()));
+ shellApplicationDeployment.setExecutable(StringUtil.trimSpaceInString(this.executableTextField.getText()));
+ shellApplicationDeployment.setWorkingDir(StringUtil.trimSpaceInString(this.workDirectoryTextField.getText()));
+ shellApplicationDeployment.setTmpDir(StringUtil.trimSpaceInString(this.tempDirTextField.getText()));
+
+ Map<String, String> env = shellApplicationDeployment.getEnv();
+ env.put("ProjectName",projectName);
+ env.put("JobType",jobType);
+ env.put("Queue",queue);
+ env.put("HostName",hostName);
+ if (maxWallTime!=null) {
+ env.put("MaxWallTime",maxWallTime.toString());
}
- if (!this.procsCountTextField.getText().equals("")) {
- appBean.setPcount(new Integer(Integer.parseInt(this.procsCountTextField.getText())));
+ if (pCount!=null) {
+ env.put("Pcount",pCount.toString());
}
-
- /* Register to XRegistry */
- XRegistryAccesser xRegAccesser = new XRegistryAccesser(this.engine);
-
- if (!this.isEditing) {
- xRegAccesser.registerApplication(appBean);
- } else {
- /* Delete old application bean */
- QName qName = new QName(this.editingAppBean.getObjectNamespace(),
- this.editingAppBean.getApplicationName());
- xRegAccesser.deleteAppDescription(qName, this.editingAppBean.getHostName());
-
- /* Register new application bean */
- xRegAccesser.registerApplication(appBean);
-
- this.isEditing = false;
- this.addApplicationButton.setText("Add Application");
- }
-
+
+ /*--- save to registry ---*/
+ this.engine.getConfiguration().getJcrComponentRegistry().saveDeploymentDescription(projectName, hostName, shellApplicationDeployment);
} catch (Exception e) {
e.printStackTrace();
this.hide();
@@ -363,7 +358,6 @@ public class ApplicationDescriptionRegis
}// GEN-LAST:event_addApplicationButtonActionPerformed
private void cancelButtonActionPerformed() {// GEN-FIRST:event_cancelButtonActionPerformed
- this.isEditing = false;
this.addApplicationButton.setText("Add Application");
clearAllTextFields();
this.hide();
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java?rev=1176614&r1=1176613&r2=1176614&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java Tue Sep 27 20:49:58 2011
@@ -33,6 +33,8 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaConstants;
import org.apache.airavata.xbaya.XBayaEngine;
import org.apache.airavata.xbaya.component.registry.ComponentRegistryLoader;
import org.apache.airavata.xbaya.component.registry.JCRComponentRegistry;
@@ -99,7 +101,11 @@ public class JCRRegistryWindow {
}
JCRComponentRegistry registry = new JCRComponentRegistry(url, username, password);
- this.engine.getConfiguration().setJcrComponentRegistry(registry);
+ XBayaConfiguration configuration = this.engine.getConfiguration();
+ configuration.setJcrComponentRegistry(registry);
+ configuration.setRegigstryUserName(username);
+ configuration.setRegistryPassphrase(password);
+ configuration.setRegistryURL(url);
hide();
this.loader.load(registry);
@@ -136,7 +142,9 @@ public class JCRRegistryWindow {
XBayaLabel urlLabel = new XBayaLabel("URL", this.urlTextField);
XBayaLabel nameLabel = new XBayaLabel("Username", this.usernameTextField);
XBayaLabel passLabel = new XBayaLabel("Password", this.usernameTextField);
-
+ urlLabel.setText(XBayaConstants.REGISTRY_URL.toASCIIString());
+ nameLabel.setText(XBayaConstants.REGISTRY_USERNAME);
+ passLabel.setText(XBayaConstants.REGISTRY_PASSPHRASE);
this.newUserButton = new XBayaLinkButton("Create new user...");
newUserButton.setHorizontalAlignment(XBayaLinkButton.RIGHT);
JLabel emptyLabel = new JLabel("");
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java?rev=1176614&r1=1176613&r2=1176614&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java Tue Sep 27 20:49:58 2011
@@ -25,6 +25,7 @@ import java.net.URI;
import java.util.HashMap;
import java.util.List;
+import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
import org.apache.airavata.commons.gfac.type.ServiceDescription;
import org.apache.airavata.registry.api.impl.JCRRegistry;
import org.apache.airavata.registry.api.user.UserManager;
@@ -89,4 +90,9 @@ public class JCRComponentRegistry extend
public UserManager getUserManager(){
return registry.getUserManager();
}
+
+ public String saveDeploymentDescription(String service, String host,
+ ApplicationDeploymentDescription app){
+ return registry.saveDeploymentDescription(service, host, app);
+ }
}
\ No newline at end of file