You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2012/07/06 21:50:47 UTC

svn commit: r1358381 - in /incubator/airavata/trunk/modules: airavata-client/src/main/java/org/apache/airavata/client/airavata/ airavata-client/src/main/java/org/apache/airavata/client/api/ commons/utils/src/main/java/org/apache/airavata/common/utils/ ...

Author: samindaw
Date: Fri Jul  6 19:50:46 2012
New Revision: 1358381

URL: http://svn.apache.org/viewvc?rev=1358381&view=rev
Log:
introducing the version object

Added:
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Version.java
Modified:
    incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java
    incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/AiravataAPI.java
    incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/graph/impl/GraphImpl.java
    incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/utils/ApplicationVersion.java
    incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/wf/Workflow.java

Modified: incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java?rev=1358381&r1=1358380&r2=1358381&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java (original)
+++ incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java Fri Jul  6 19:50:46 2012
@@ -62,6 +62,7 @@ import org.apache.airavata.client.impl.P
 import org.apache.airavata.client.impl.UserManagerImpl;
 import org.apache.airavata.client.impl.WorkflowManagerImpl;
 import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.common.utils.Version;
 import org.apache.airavata.common.utils.XMLUtil;
 import org.apache.airavata.common.workflow.execution.context.WorkflowContextHeaderBuilder;
 import org.apache.airavata.registry.api.AiravataRegistry;
@@ -123,6 +124,8 @@ public class AiravataClient implements A
 
 	// private NameValue[] configurations = new NameValue[7];
 
+	private static final Version API_VERSION=new Version("Airavata",0,1,null,"INCUBATING",null);
+	
 	public AiravataClient(Map<String,String> configuration)
 			throws MalformedURLException {
 		this.configuration = configuration;
@@ -796,5 +799,10 @@ public class AiravataClient implements A
         }
         return null;
     }
+    
+	@Override
+	public Version getVersion() {
+		return API_VERSION;
+	}
 
 }

Modified: incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/AiravataAPI.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/AiravataAPI.java?rev=1358381&r1=1358380&r2=1358381&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/AiravataAPI.java (original)
+++ incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/AiravataAPI.java Fri Jul  6 19:50:46 2012
@@ -21,6 +21,8 @@
 
 package org.apache.airavata.client.api;
 
+import org.apache.airavata.common.utils.Version;
+
 
 /**
  * This is the base interface for AiravataAPI which contains all the base methods for Airavata API
@@ -28,7 +30,7 @@ package org.apache.airavata.client.api;
 public interface AiravataAPI {
 
     /**
-     * Returns the AiravataManager
+     * Returns the AiravataManager - manage Airavata related configurations
      * @return
      */
 	public AiravataManager getAiravataManager();
@@ -68,5 +70,11 @@ public interface AiravataAPI {
      * @return
      */
 	public String getCurrentUser();
+	
+	/**
+	 * Get Airavata API version
+	 * @return
+	 */
+	public Version getVersion();
 
 }
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Version.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Version.java?rev=1358381&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Version.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Version.java Fri Jul  6 19:50:46 2012
@@ -0,0 +1,111 @@
+/*
+ *
+ * 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.common.utils;
+
+public class Version {
+	public final String PROJECT_NAME;
+	private Integer majorVersion=0;
+	private Integer minorVersion=0;
+	private Integer maintenanceVersion;
+	private String versionData;
+	private BuildType buildType;
+	
+	public static enum BuildType{
+		ALPHA,
+		BETA,
+		RC
+	}
+	
+	public Version(String PROJECT_NAME,Integer majorVersion,Integer minorVersion,Integer maintenanceVersion,String versionData,BuildType buildType) {
+		this.PROJECT_NAME=PROJECT_NAME;
+		this.majorVersion=majorVersion;
+		this.minorVersion=minorVersion;
+		this.maintenanceVersion=maintenanceVersion;
+		this.versionData=versionData;
+		this.buildType=buildType;
+	}
+	
+	public Integer getMajorVersion() {
+		return majorVersion;
+	}
+
+	public Integer getMinorVersion() {
+		return minorVersion;
+	}
+
+	public Integer getMaintenanceVersion() {
+		return maintenanceVersion;
+	}
+
+	public String getVersionData() {
+		return versionData;
+	}
+
+	public BuildType getBuildType() {
+		return buildType;
+	}
+	
+	public String getVersion(){
+		String version = getBaseVersion();
+		version = attachVersionData(version);
+		return version;
+	}
+
+	private String attachVersionData(String version) {
+		if (getVersionData()!=null){
+			version+="-"+getVersionData();
+		}
+		return version;
+	}
+
+	public String getBaseVersion() {
+		String version=getMajorVersion().toString()+"."+getMinorVersion();
+		return version;
+	}
+	
+	public String getFullVersion(){
+		String version = getBaseVersion();
+		version = attachMaintainanceVersion(version);
+		version = attachVersionData(version);
+		version = attachBuildType(version);
+		return version;
+	}
+
+	private String attachMaintainanceVersion(String version) {
+		if (getMaintenanceVersion()!=null){
+			version+="."+getMaintenanceVersion();
+		}
+		return version;
+	}
+	
+	private String attachBuildType(String version) {
+		if (getBuildType()!=null){
+			version+="-"+getBuildType().name();
+		}
+		return version;
+	}
+	
+	@Override
+	public String toString() {
+		return getVersion();
+	}
+}

Modified: incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/graph/impl/GraphImpl.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/graph/impl/GraphImpl.java?rev=1358381&r1=1358380&r2=1358381&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/graph/impl/GraphImpl.java (original)
+++ incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/graph/impl/GraphImpl.java Fri Jul  6 19:50:46 2012
@@ -437,7 +437,7 @@ public abstract class GraphImpl implemen
 
         XmlElement graphElement = XMLUtil.BUILDER.newFragment(GraphSchema.NS, GraphSchema.GRAPH_TAG);
 
-        graphElement.setAttributeValue(GraphSchema.NS, GraphSchema.XBAYA_VERSION_ATTRIBUTE, ApplicationVersion.VERSION);
+        graphElement.setAttributeValue(GraphSchema.NS, GraphSchema.XBAYA_VERSION_ATTRIBUTE, ApplicationVersion.VERSION.getVersion());
 
         XmlElement idElement = graphElement.addElement(GraphSchema.NS, GraphSchema.GRAPH_ID_TAG);
         idElement.addChild(getID());

Modified: incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/utils/ApplicationVersion.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/utils/ApplicationVersion.java?rev=1358381&r1=1358380&r2=1358381&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/utils/ApplicationVersion.java (original)
+++ incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/utils/ApplicationVersion.java Fri Jul  6 19:50:46 2012
@@ -21,12 +21,14 @@
 
 package org.apache.airavata.workflow.model.utils;
 
+import org.apache.airavata.common.utils.Version;
+
 public class ApplicationVersion {
 
     /**
      * Version number
      */
-    public final static String VERSION = "0.3-INCUBATING";
+    public final static Version VERSION = new Version("Airavata",0,4,null,"INCUBATING",null);//"0.3-INCUBATING";
 
     /**
      * Prints the version

Modified: incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/wf/Workflow.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/wf/Workflow.java?rev=1358381&r1=1358380&r2=1358381&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/wf/Workflow.java (original)
+++ incubator/airavata/trunk/modules/workflow-model/workflow-model-core/src/main/java/org/apache/airavata/workflow/model/wf/Workflow.java Fri Jul  6 19:50:46 2012
@@ -529,7 +529,7 @@ public class Workflow implements Cloneab
         XmlElement workflowElement = XMLUtil.BUILDER.newFragment(NS_XWF, WORKFLOW_TAG);
 
         // Version
-        workflowElement.setAttributeValue(NS_XWF, VERSION_ATTRIBUTE, ApplicationVersion.VERSION);
+        workflowElement.setAttributeValue(NS_XWF, VERSION_ATTRIBUTE, ApplicationVersion.VERSION.getVersion());
 
         // Date
         // TODO add modification time