You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by he...@apache.org on 2012/02/24 22:58:43 UTC
svn commit: r1293449 - in /incubator/airavata/trunk: ./
modules/airavata-client/ modules/airavata-client/src/
modules/airavata-client/src/main/ modules/airavata-client/src/main/java/
modules/airavata-client/src/main/java/org/ modules/airavata-client/sr...
Author: heshan
Date: Fri Feb 24 21:58:43 2012
New Revision: 1293449
URL: http://svn.apache.org/viewvc?rev=1293449&view=rev
Log:
AIRAVATA-319 Moving XBaya Client to a separate module.
Added:
incubator/airavata/trunk/modules/airavata-client/src/
incubator/airavata/trunk/modules/airavata-client/src/main/
incubator/airavata/trunk/modules/airavata-client/src/main/java/
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClient.java
incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClientConfiguration.java
Removed:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/clients/
Modified:
incubator/airavata/trunk/modules/airavata-client/pom.xml
incubator/airavata/trunk/pom.xml
Modified: incubator/airavata/trunk/modules/airavata-client/pom.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/pom.xml?rev=1293449&r1=1293448&r2=1293449&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/pom.xml (original)
+++ incubator/airavata/trunk/modules/airavata-client/pom.xml Fri Feb 24 21:58:43 2012
@@ -23,53 +23,16 @@
<description>Airavata Client for accessing XBaya</description>
<dependencies>
- <!--<dependency>
- <groupId>xregistry</groupId>
- <artifactId>xregistry-client</artifactId>
- <version>1.2.1</version>
- </dependency>
- <dependency>
- <groupId>xregistry</groupId>
- <artifactId>xregistry_generated</artifactId>
- <version>0.8.3</version>
- <type>jar</type>
- </dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
- <artifactId>messagebroker</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
<artifactId>registry-api</artifactId>
<version>${project.version}</version>
</dependency>
-
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>common-utils</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>workflowtracking</artifactId>
- <version>${project.version}</version>
- </dependency>
-
<dependency>
- <groupId>gfac</groupId>
- <artifactId>gfac-schema-utils</artifactId>
- <version>0.4.4</version>
- </dependency>
-
- <!– JCR Support –>
- <!– TODO need clean up –>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>gfac-schema-utils</artifactId>
- <version>${project.version}</version>
- </dependency>-->
-
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>xbaya-gui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
<build>
Added: incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClient.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClient.java?rev=1293449&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClient.java (added)
+++ incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClient.java Fri Feb 24 21:58:43 2012
@@ -0,0 +1,398 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.client.airavata;
+
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.AiravataRegistry;
+import org.apache.airavata.registry.api.WorkflowExecution;
+import org.apache.airavata.registry.api.impl.AiravataJCRRegistry;
+import org.apache.airavata.xbaya.component.ComponentException;
+import org.apache.airavata.xbaya.component.ws.WSComponentPort;
+import org.apache.airavata.xbaya.graph.GraphException;
+import org.apache.airavata.xbaya.graph.impl.NodeImpl;
+import org.apache.airavata.xbaya.graph.system.InputNode;
+import org.apache.airavata.xbaya.interpretor.NameValue;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpretorStub;
+import org.apache.airavata.xbaya.wf.Workflow;
+import org.apache.axis2.AxisFault;
+import xsul5.MLogger;
+
+import javax.jcr.RepositoryException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.*;
+import java.nio.MappedByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.charset.Charset;
+import java.rmi.RemoteException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Properties;
+
+
+public class XBayaClient {
+ private static final MLogger log = MLogger.getLogger();
+
+ public static final String GFAC = "gfac";
+ public static final String JCR = "jcr";
+ public static final String PROXYSERVER = "proxyserver";
+ public static final String MSGBOX = "msgbox";
+ public static final String BROKER = "broker";
+ public static final String DEFAULT_GFAC_URL = "gfac.url";
+ public static final String DEFAULT_MYPROXY_SERVER = "myproxy.url";
+ public static final String DEFAULT_MESSAGE_BOX_URL = "messagebox.url";
+ public static final String DEFAULT_BROKER_URL = "messagebroker.url";
+ public static final String DEFAULT_JCR_URL = "jcr.url";
+ public static final String JCR_USERNAME = "jcr.username";
+ public static final String JCR_PASSWORD= "jcr.password";
+ public static final String MYPROXYUSERNAME = "myproxy.username";
+ public static final String MYPROXYPASS = "myproxy.password";
+ public static final String WITHLISTENER = "with.Listener";
+ public static final String WORKFLOWSERVICEURL = "xbaya.service.url";
+ private XBayaClientConfiguration clientConfiguration;
+ private static String workflow = "";
+
+ private AiravataRegistry registry;
+
+ private NameValue[] configurations=new NameValue[11];
+
+// private NameValue[] configurations = new NameValue[7];
+
+ public XBayaClient(NameValue[] configuration) throws MalformedURLException {
+ configurations = configuration;
+ updateClientConfiguration(configurations);
+ }
+
+ public XBayaClient(String fileName) throws RegistryException,MalformedURLException,IOException{
+ URL url = this.getClass().getClassLoader().getResource(fileName);
+ if(url == null){
+ url = (new File(fileName)).toURL();
+ }
+ Properties properties = new Properties();
+ properties.load(url.openStream());
+
+ configurations[0] = new NameValue();
+ configurations[0].setName(GFAC);
+ configurations[0].setValue(validateAxisService(properties.getProperty(DEFAULT_GFAC_URL)));
+
+ configurations[1] = new NameValue();
+ configurations[1].setName(PROXYSERVER);
+ configurations[1].setValue(properties.getProperty(DEFAULT_MYPROXY_SERVER));
+
+ configurations[2] = new NameValue();
+ configurations[2].setName(MSGBOX);
+ configurations[2].setValue(validateAxisService(properties.getProperty(DEFAULT_MESSAGE_BOX_URL)));
+
+ configurations[3] = new NameValue();
+ configurations[3].setName(BROKER);
+ configurations[3].setValue(validateAxisService(properties.getProperty(DEFAULT_BROKER_URL)));
+
+ configurations[4] = new NameValue();
+ configurations[4].setName(MYPROXYUSERNAME);
+ configurations[4].setValue(properties.getProperty(MYPROXYUSERNAME));
+
+ configurations[5] = new NameValue();
+ configurations[5].setName(MYPROXYPASS);
+ configurations[5].setValue(properties.getProperty(MYPROXYPASS));
+
+ configurations[6] = new NameValue();
+ configurations[6].setName(WORKFLOWSERVICEURL);
+ configurations[6].setValue(validateAxisService(properties.getProperty(WORKFLOWSERVICEURL)));
+
+ configurations[7] = new NameValue();
+ configurations[7].setName(JCR);
+ configurations[7].setValue(validateURL(properties.getProperty(DEFAULT_JCR_URL)));
+
+ configurations[8] = new NameValue();
+ configurations[8].setName(JCR_USERNAME);
+ configurations[8].setValue(properties.getProperty(JCR_USERNAME));
+
+ configurations[9] = new NameValue();
+ configurations[9].setName(JCR_PASSWORD);
+ configurations[9].setValue(properties.getProperty(JCR_PASSWORD));
+
+ configurations[10] = new NameValue();
+ configurations[10].setName(WITHLISTENER);
+ configurations[10].setValue(properties.getProperty(WITHLISTENER));
+
+ updateClientConfiguration(configurations);
+
+ }
+
+ private void updateClientConfiguration(NameValue[] configurations) throws MalformedURLException {
+ XBayaClientConfiguration clientConfiguration = getClientConfiguration();
+ for (NameValue configuration : configurations) {
+ if (configuration.getName().equals(GFAC)){
+ clientConfiguration.setJcrURL(new URL(configuration.getValue()));
+ }
+ if (configuration.getName().equals(PROXYSERVER)){
+ clientConfiguration.setMyproxyHost(configuration.getValue());
+ }
+ if (configuration.getName().equals(MSGBOX)){
+ clientConfiguration.setMessageboxURL(new URL(configuration.getValue()));
+ }
+ if (configuration.getName().equals(BROKER)){
+ clientConfiguration.setMessagebrokerURL(new URL(configuration.getValue()));
+ }
+ if (configuration.getName().equals(MYPROXYUSERNAME)){
+ clientConfiguration.setMyproxyUsername(configuration.getValue());
+ }
+ if (configuration.getName().equals(MYPROXYPASS)){
+ clientConfiguration.setMyproxyPassword(configuration.getValue());
+ }
+ if (configuration.getName().equals(WORKFLOWSERVICEURL)){
+ clientConfiguration.setXbayaServiceURL(new URL(configuration.getValue()));
+ }
+ if (configuration.getName().equals(JCR)){
+ clientConfiguration.setJcrURL(new URL(configuration.getValue()));
+ }
+ if (configuration.getName().equals(JCR_USERNAME)){
+ clientConfiguration.setJcrUsername(configuration.getValue());
+ }
+ if (configuration.getName().equals(JCR_PASSWORD)){
+ clientConfiguration.setJcrPassword(configuration.getValue());
+ }
+ }
+
+ }
+ public void loadWorkflowFromaFile(String workflowFile)throws URISyntaxException,IOException {
+ File workflow = null;
+ URL url = XBayaClient.class.getClassLoader().getResource(workflowFile);
+ if(url == null){
+ url = (new File(workflowFile)).toURL();
+ }
+ try {
+ workflow = new File(url.toURI());
+ } catch (URISyntaxException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ FileInputStream stream = new FileInputStream(workflow);
+ try {
+ FileChannel fc = stream.getChannel();
+ MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
+ /* Instead of using default, pass in a decoder. */
+ this.workflow = Charset.defaultCharset().decode(bb).toString();
+ } finally {
+ stream.close();
+ }
+ }
+
+ public void loadWorkflowasaString(String workflowAsaString) {
+ this.workflow = workflowAsaString;
+ }
+
+
+ public NameValue[] setInputs(String fileName) throws IOException {
+ URL url = this.getClass().getClassLoader().getResource(fileName);
+ if(url == null){
+ url = (new File(fileName)).toURL();
+ }
+ Properties properties = new Properties();
+ properties.load(url.openStream());
+ try {
+ Workflow workflow = new Workflow(this.workflow);
+ List<NodeImpl> inputs = workflow.getGraph().getNodes();
+ int inputSize = 0;
+ for (NodeImpl input : inputs) {
+ if(input instanceof InputNode){
+ inputSize++;
+ }
+ }
+ NameValue[] inputNameVals = new NameValue[inputSize];
+ int index =0;
+ for (NodeImpl input : inputs) {
+ if(input instanceof InputNode){
+ inputNameVals[index] = new NameValue();
+ String name = input.getName();
+ inputNameVals[index].setName(name);
+ inputNameVals[index].setValue(properties.getProperty(name));
+ ((InputNode) input).setDefaultValue(properties.getProperty(name));
+ index++;
+ }
+ }
+// setWorkflow(XMLUtil.xmlElementToString((workflow.toXML()));
+ return inputNameVals;
+ } catch (GraphException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ } catch (ComponentException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ return null;
+ }
+
+ public void setInputs(Properties inputList){
+ try {
+ Workflow workflow = new Workflow(this.workflow);
+ List<WSComponentPort> inputs = workflow.getInputs();
+ for (WSComponentPort input : inputs) {
+ input.setValue(inputList.getProperty(input.getName()));
+ }
+ } catch (GraphException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ } catch (ComponentException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+ public String runWorkflow(String topic){
+ return runWorkflow(topic,(String)null);
+ }
+
+ public String runWorkflow(String topic, String user){
+ return runWorkflow(topic, user, null);
+ }
+ public String runWorkflow(String topic, String user, String metadata){
+ String worflowoutput= null;
+ try {
+ WorkflowInterpretorStub stub = new WorkflowInterpretorStub(getClientConfiguration().getXbayaServiceURL().toString());
+ worflowoutput = stub.launchWorkflow(workflow, topic, getClientConfiguration().getMyproxyPassword(),getClientConfiguration().getMyproxyUsername(), null,
+ configurations);
+ runPostWorkflowExecutionTasks(topic, user, metadata);
+ log.info("Workflow output : " + worflowoutput);
+ } catch (AxisFault e) {
+ log.fine(e.getMessage(), e);
+ } catch (RemoteException e) {
+ log.fine(e.getMessage(), e);
+ } catch (RegistryException e) {
+ log.fine(e.getMessage(), e);
+ }
+ return worflowoutput;
+ }
+
+ private void runPostWorkflowExecutionTasks(String topic, String user,
+ String metadata) throws RegistryException {
+ if (user!=null) {
+ getRegistry().saveWorkflowExecutionUser(topic, user);
+ }
+ if (metadata!=null){
+ getRegistry().saveWorkflowExecutionMetadata(topic, metadata);
+ }
+ }
+ public String runWorkflow(String topic, NameValue[] inputs){
+ return runWorkflow(topic, inputs, null);
+ }
+ public String runWorkflow(String topic, NameValue[] inputs, String user){
+ return runWorkflow(topic, inputs, user, null);
+ }
+ public String runWorkflow(String topic, NameValue[] inputs, String user, String metadata){
+ String worflowoutput= null;
+ try {
+ WorkflowInterpretorStub stub = new WorkflowInterpretorStub(getClientConfiguration().getXbayaServiceURL().toString());
+ worflowoutput = stub.launchWorkflow(workflow, topic, getClientConfiguration().getMyproxyPassword(),getClientConfiguration().getMyproxyUsername(), inputs,
+ configurations);
+ runPostWorkflowExecutionTasks(topic, user, metadata);
+ log.info("Workflow output : " + worflowoutput);
+ } catch (AxisFault e) {
+ log.fine(e.getMessage(), e);
+ } catch (RemoteException e) {
+ log.fine(e.getMessage(), e);
+ } catch (RegistryException e) {
+ log.fine(e.getMessage(), e);
+ }
+ return worflowoutput;
+ }
+
+
+ public List<WorkflowExecution> getWorkflowExecutionDataByUser(String user) throws RegistryException{
+ return getRegistry().getWorkflowExecutionByUser(user);
+ }
+
+ public WorkflowExecution getWorkflowExecutionData(String topic) throws RegistryException{
+ return getRegistry().getWorkflowExecution(topic);
+ }
+
+ /**
+ *
+ * @param user
+ * @param pageSize - number of executions to return (page size)
+ * @param PageNo - which page to return to (>=0)
+ * @return
+ * @throws RegistryException
+ */
+ public List<WorkflowExecution> getWorkflowExecutionData(String user, int pageSize, int PageNo) throws RegistryException{
+ return getRegistry().getWorkflowExecutionByUser(user, pageSize, PageNo);
+ }
+
+ public static String getWorkflow() {
+ return workflow;
+ }
+
+ public static void setWorkflow(String workflow) {
+ XBayaClient.workflow = workflow;
+ }
+
+ public AiravataRegistry getRegistry() {
+ if (registry==null){
+ try {
+ HashMap<String, String> map = new HashMap<String, String>();
+ URI uri = getClientConfiguration().getJcrURL().toURI();
+ map.put("org.apache.jackrabbit.repository.uri", uri.toString());
+ registry=new AiravataJCRRegistry(uri, "org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory", getClientConfiguration().getJcrUsername(), getClientConfiguration().getJcrPassword(), map);
+ } catch (RepositoryException e) {
+ e.printStackTrace();
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
+ }
+ return registry;
+ }
+
+ public XBayaClientConfiguration getClientConfiguration() {
+ if (clientConfiguration==null){
+ clientConfiguration=new XBayaClientConfiguration();
+ }
+ return clientConfiguration;
+ }
+
+ private String validateAxisService(String urlString)throws RegistryException{
+ if(!urlString.endsWith("?wsdl")){
+ urlString = urlString + "?wsdl";
+ }
+ try {
+ URL url = new URL(urlString);
+ URLConnection conn = url.openConnection();
+ conn.connect();
+ } catch (MalformedURLException e) {
+ // the URL is not in a valid form
+ throw new RegistryException("Given Axis2 Service URL : " + urlString + " is Invalid",e);
+ } catch (IOException e) {
+ // the connection couldn't be established
+ throw new RegistryException("Given Axis2 Service URL : " + urlString + " is Invalid",e);
+ }
+ return urlString;
+ }
+ private String validateURL(String urlString)throws RegistryException{
+ try {
+ URL url = new URL(urlString);
+ URLConnection conn = url.openConnection();
+ conn.connect();
+ } catch (MalformedURLException e) {
+ // the URL is not in a valid form
+ throw new RegistryException("Given URL: " + urlString + " is Invalid",e);
+ } catch (IOException e) {
+ // the connection couldn't be established
+ throw new RegistryException("Given URL: " + urlString + " is Invalid",e);
+ }
+ return urlString;
+ }
+
+}
+
Added: incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClientConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClientConfiguration.java?rev=1293449&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClientConfiguration.java (added)
+++ incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/XBayaClientConfiguration.java Fri Feb 24 21:58:43 2012
@@ -0,0 +1,113 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.client.airavata;
+
+import java.net.URL;
+
+public class XBayaClientConfiguration {
+ private URL gfacURL;
+ private URL xregistryURL;
+ private String myproxyHost="myproxy.teragrid.org";
+ private URL messageboxURL;
+ private URL messagebrokerURL;
+ private String myproxyUsername="ogce";
+ private String myproxyPassword="testpassword";
+ private URL xbayaServiceURL;
+ private URL jcrURL;
+ private String jcrUsername="admin";
+ private String jcrPassword="admin";
+ private String echoMessage="Hello World";
+
+ public URL getGfacURL() {
+ return gfacURL;
+ }
+ public void setGfacURL(URL gfacURL) {
+ this.gfacURL = gfacURL;
+ }
+ public URL getXregistryURL() {
+ return xregistryURL;
+ }
+ public void setXregistryURL(URL xregistryURL) {
+ this.xregistryURL = xregistryURL;
+ }
+ public String getMyproxyHost() {
+ return myproxyHost;
+ }
+ public void setMyproxyHost(String myproxyHost) {
+ this.myproxyHost = myproxyHost;
+ }
+ public URL getMessageboxURL() {
+ return messageboxURL;
+ }
+ public void setMessageboxURL(URL messageboxURL) {
+ this.messageboxURL = messageboxURL;
+ }
+ public URL getMessagebrokerURL() {
+ return messagebrokerURL;
+ }
+ public void setMessagebrokerURL(URL messagebrokerURL) {
+ this.messagebrokerURL = messagebrokerURL;
+ }
+ public String getMyproxyUsername() {
+ return myproxyUsername;
+ }
+ public void setMyproxyUsername(String myproxyUsername) {
+ this.myproxyUsername = myproxyUsername;
+ }
+ public String getMyproxyPassword() {
+ return myproxyPassword;
+ }
+ public void setMyproxyPassword(String myproxyPassword) {
+ this.myproxyPassword = myproxyPassword;
+ }
+ public URL getXbayaServiceURL() {
+ return xbayaServiceURL;
+ }
+ public void setXbayaServiceURL(URL xbayaServiceURL) {
+ this.xbayaServiceURL = xbayaServiceURL;
+ }
+ public URL getJcrURL() {
+ return jcrURL;
+ }
+ public void setJcrURL(URL jcrURL) {
+ this.jcrURL = jcrURL;
+ }
+ public String getJcrUsername() {
+ return jcrUsername;
+ }
+ public void setJcrUsername(String jcrUsername) {
+ this.jcrUsername = jcrUsername;
+ }
+ public String getJcrPassword() {
+ return jcrPassword;
+ }
+ public void setJcrPassword(String jcrPassword) {
+ this.jcrPassword = jcrPassword;
+ }
+ public String getEchoMessage() {
+ return echoMessage;
+ }
+ public void setEchoMessage(String echoMessage) {
+ this.echoMessage = echoMessage;
+ }
+
+}
Modified: incubator/airavata/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/pom.xml?rev=1293449&r1=1293448&r2=1293449&view=diff
==============================================================================
--- incubator/airavata/trunk/pom.xml (original)
+++ incubator/airavata/trunk/pom.xml Fri Feb 24 21:58:43 2012
@@ -478,6 +478,7 @@
<module>modules/xbaya-gui</module>
<module>modules/commons</module>
<module>modules/registry-migrator</module>
+ <module>modules/airavata-client</module>
<module>samples/simple-math-service</module>
<module>samples/complex-math-service</module>
<module>samples/levenshtein-distance-service</module>