You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ey...@apache.org on 2011/10/21 23:40:26 UTC

svn commit: r1187559 - in /incubator/ambari/trunk/client/src/main/java/org/apache/ambari: client/ClusterCreate.java common/rest/entities/ConfigurationCategory.java

Author: eyang
Date: Fri Oct 21 21:40:26 2011
New Revision: 1187559

URL: http://svn.apache.org/viewvc?rev=1187559&view=rev
Log:
AMBARI-93. For create cluster, update -revision parameter to make it optional. (Eric Yang)

Modified:
    incubator/ambari/trunk/client/src/main/java/org/apache/ambari/client/ClusterCreate.java
    incubator/ambari/trunk/client/src/main/java/org/apache/ambari/common/rest/entities/ConfigurationCategory.java

Modified: incubator/ambari/trunk/client/src/main/java/org/apache/ambari/client/ClusterCreate.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/client/src/main/java/org/apache/ambari/client/ClusterCreate.java?rev=1187559&r1=1187558&r2=1187559&view=diff
==============================================================================
--- incubator/ambari/trunk/client/src/main/java/org/apache/ambari/client/ClusterCreate.java (original)
+++ incubator/ambari/trunk/client/src/main/java/org/apache/ambari/client/ClusterCreate.java Fri Oct 21 21:40:26 2011
@@ -29,6 +29,7 @@ import javax.ws.rs.core.UriBuilder;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Marshaller;
 
+import org.apache.ambari.common.rest.entities.Blueprint;
 import org.apache.ambari.common.rest.entities.ClusterDefinition;
 import org.apache.ambari.common.rest.entities.ClusterState;
 import org.apache.ambari.common.rest.entities.RoleToNodes;
@@ -99,7 +100,6 @@ public class ClusterCreate extends Comma
         Option nodes = OptionBuilder.create( "nodes" );
         
         OptionBuilder.withArgName( "blueprint_revision" );
-        OptionBuilder.isRequired();
         OptionBuilder.hasArg();
         OptionBuilder.withDescription(  "Blueprint revision, if not specified latest revision is used" );
         Option revision = OptionBuilder.create( "revision" );
@@ -211,7 +211,26 @@ public class ClusterCreate extends Comma
         clsDef.setNodes(line.getOptionValue("nodes"));
         
         clsDef.setGoalState(line.getOptionValue("goalstate"));
-        clsDef.setBlueprintRevision(line.getOptionValue("revision"));
+        String revision = line.getOptionValue("revision");
+        if(revision==null) {
+        	revision = "";
+        	ClientResponse response = service.path("blueprints/"+line.getOptionValue("blueprint"))
+                    .accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).get(ClientResponse.class);
+            if (response.getStatus() != 404 && response.getStatus() != 200) { 
+                System.err.println("Blueprint list command failed. Reason [Code: <"+response.getStatus()+">, Message: <"+response.getHeaders().getFirst("ErrorMessage")+">]");
+                System.exit(-1);
+            }
+            if (response.getStatus() == 404) {
+            	System.err.println("Blueprint name:" + line.getOptionValue("blueprint") + " does not exist.");
+                System.exit(-1);
+            }
+            /* 
+             * Retrieve the blueprint from the response
+             */
+            Blueprint blueprint = response.getEntity(Blueprint.class);
+            revision = blueprint.getRevision();
+        }
+        clsDef.setBlueprintRevision(revision);
         clsDef.setActiveServices(splitServices(line.getOptionValue("services")));
         clsDef.setDescription(line.getOptionValue("desc"));
         clsDef.setRoleToNodesMap(getRoleToNodesList(line.getOptionProperties("role")));

Modified: incubator/ambari/trunk/client/src/main/java/org/apache/ambari/common/rest/entities/ConfigurationCategory.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/client/src/main/java/org/apache/ambari/common/rest/entities/ConfigurationCategory.java?rev=1187559&r1=1187558&r2=1187559&view=diff
==============================================================================
--- incubator/ambari/trunk/client/src/main/java/org/apache/ambari/common/rest/entities/ConfigurationCategory.java (original)
+++ incubator/ambari/trunk/client/src/main/java/org/apache/ambari/common/rest/entities/ConfigurationCategory.java Fri Oct 21 21:40:26 2011
@@ -41,6 +41,12 @@ public class ConfigurationCategory {
 
     @XmlAttribute(required = true)
     protected String name;
+    @XmlAttribute(required = true)
+    protected String user;
+    @XmlAttribute(required = true)
+    protected String group;
+    @XmlAttribute(required = true)
+    protected int permission;
     @XmlElements({@XmlElement})
     protected List<Property> property;
 
@@ -96,5 +102,28 @@ public class ConfigurationCategory {
         }
         return this.property;
     }
+    
+    public String getUser() {
+    	return user;
+    }
+    
+    public void setUser(String user) {
+    	this.user = user;
+    }
+    
+    public int  getPermission() {
+    	return permission;
+    }
+    
+    public void setPermission(int mode) {
+    	this.permission = mode;
+    }
 
+    public String getGroup() {
+    	return group;
+    }
+    
+    public void setGroup(String group) {
+    	this.group = group;
+    }
 }