Fixed minor issues in tool generating the difference between 2.1.x and 2.2 apis

This commit is contained in:
alena 2011-01-10 17:26:06 -08:00
parent 5dde719988
commit 07aa1d68d1
2 changed files with 58 additions and 28 deletions

View File

@ -102,7 +102,6 @@ listVlanIpRanges=com.cloud.api.commands.ListVlanIpRangesCmd;1
associateIpAddress=com.cloud.api.commands.AssociateIPAddrCmd;15 associateIpAddress=com.cloud.api.commands.AssociateIPAddrCmd;15
disassociateIpAddress=com.cloud.api.commands.DisassociateIPAddrCmd;15 disassociateIpAddress=com.cloud.api.commands.DisassociateIPAddrCmd;15
listPublicIpAddresses=com.cloud.api.commands.ListPublicIpAddressesCmd;15 listPublicIpAddresses=com.cloud.api.commands.ListPublicIpAddressesCmd;15
restartNetwork=com.cloud.api.commands.RestartNetworkCmd;15
#### firewall commands #### firewall commands
listPortForwardingRules=com.cloud.api.commands.ListPortForwardingRulesCmd;15 listPortForwardingRules=com.cloud.api.commands.ListPortForwardingRulesCmd;15
@ -245,4 +244,5 @@ listNetworkOfferings=com.cloud.api.commands.ListNetworkOfferingsCmd;15
#### network commands #### network commands
createNetwork=com.cloud.api.commands.CreateNetworkCmd;15 createNetwork=com.cloud.api.commands.CreateNetworkCmd;15
deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;15 deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;15
listNetworks=com.cloud.api.commands.ListNetworksCmd;15 listNetworks=com.cloud.api.commands.ListNetworksCmd;15
restartNetwork=com.cloud.api.commands.RestartNetworkCmd;15

View File

@ -28,6 +28,7 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
@ -39,8 +40,8 @@ public class ApiXmlDocReader {
String oldFile = null; String oldFile = null;
String dirName = ""; String dirName = "";
HashMap<String, Command> commands = new HashMap<String,Command>(); LinkedHashMap<String, Command> commands = new LinkedHashMap<String,Command>();
HashMap<String, Command> oldCommands = new HashMap<String,Command>(); LinkedHashMap<String, Command> oldCommands = new LinkedHashMap<String,Command>();
ArrayList<Command> addedCommands = new ArrayList<Command>(); ArrayList<Command> addedCommands = new ArrayList<Command>();
ArrayList<Command> removedCommands = new ArrayList<Command>(); ArrayList<Command> removedCommands = new ArrayList<Command>();
HashMap<String, Command> stableCommands = new HashMap<String, Command>(); HashMap<String, Command> stableCommands = new HashMap<String, Command>();
@ -117,13 +118,23 @@ public class ApiXmlDocReader {
//Print added commands //Print added commands
out.write("Added commands:\n"); out.write("Added commands:\n");
for (Command c : addedCommands) { for (Command c : addedCommands) {
out.write("\n " + c.getName() + " (" + c.getDescription() + "\n"); if (c.getDescription() != null && !c.getDescription().isEmpty()) {
out.write("\n " + c.getName() + " (" + c.getDescription() + ")\n");
} else {
out.write("\n " + c.getName() + "\n");
}
} }
//Print removed commands //Print removed commands
out.write("\nRemoved commands:\n"); out.write("\nRemoved commands:\n");
for (Command c : removedCommands) { for (Command c : removedCommands) {
out.write("\n " + c.getName() + " (" + c.getDescription() + ")\n"); if (c.getDescription() != null && !c.getDescription().isEmpty()) {
out.write("\n " + c.getName() + " (" + c.getDescription() + ")\n");
} else {
out.write("\n " + c.getName() + "\n");
}
} }
//Print differences between commands arguments //Print differences between commands arguments
@ -167,18 +178,21 @@ public class ApiXmlDocReader {
} }
//Check if any response arguments were added in new version //Check if any response arguments were added in new version
for (Argument arg : newCommand.getResponse()) { if (newCommand.getResponse() != null && oldCommand.getResponse() != null) {
if (oldCommand.getResArgByName(arg.getName()) == null) { for (Argument arg : newCommand.getResponse()) {
newRespArgs.add(arg); if (oldCommand.getResArgByName(arg.getName()) == null) {
} newRespArgs.add(arg);
}
}
//Check if any response arguments were removed in new version
for (Argument arg : oldCommand.getResponse()) {
if (newCommand.getResArgByName(arg.getName()) == null) {
removedRespArgs.add(arg);
}
}
} }
//Check if any response arguments were removed in new version
for (Argument arg : oldCommand.getResponse()) {
if (newCommand.getResArgByName(arg.getName()) == null) {
removedRespArgs.add(arg);
}
}
if (newReqArgs.size() != 0 || newRespArgs.size() != 0 || removedReqArgs.size() != 0 || removedRespArgs.size() != 0 || stableReqArgs.size() != 0 || stableReqArgs.size() != 0) { if (newReqArgs.size() != 0 || newRespArgs.size() != 0 || removedReqArgs.size() != 0 || removedRespArgs.size() != 0 || stableReqArgs.size() != 0 || stableReqArgs.size() != 0) {
out.write("\n\t" + key); out.write("\n\t" + key);
@ -186,21 +200,29 @@ public class ApiXmlDocReader {
if (newReqArgs.size() != 0 || removedReqArgs.size() != 0 || stableReqArgs.size() != 0) { if (newReqArgs.size() != 0 || removedReqArgs.size() != 0 || stableReqArgs.size() != 0) {
out.write("\n\t\tRequest"); out.write("\n\t\tRequest");
if (newReqArgs.size() != 0){ if (newReqArgs.size() != 0){
out.write("\n\t\t\tNew parameters: "); StringBuffer newParameters = new StringBuffer();
newParameters.append("\n\t\t\tNew parameters: ");
for (Argument newArg: newReqArgs) { for (Argument newArg: newReqArgs) {
out.write(newArg.getName()); newParameters.append(newArg.getName() + ", ");
} }
newParameters.delete(newParameters.length()-2, newParameters.length()-1);
out.write(newParameters.toString());
out.write("\n"); out.write("\n");
} }
if (removedReqArgs.size() != 0){ if (removedReqArgs.size() != 0){
out.write("\n\t\t\tRemoved parameters: "); StringBuffer removedParameters = new StringBuffer();
removedParameters.append("\n\t\t\tRemoved parameters: ");
for (Argument removedArg: removedReqArgs) { for (Argument removedArg: removedReqArgs) {
out.write(removedArg.getName()); removedParameters.append(removedArg.getName() + ", ");
} }
removedParameters.delete(removedParameters.length()-2, removedParameters.length()-1);
out.write(removedParameters.toString());
out.write("\n");
} }
out.write("\n");
if (stableReqArgs.size() != 0){ if (stableReqArgs.size() != 0){
out.write("\n\t\t\tChanged parameters: "); StringBuffer changedParameters = new StringBuffer();
changedParameters.append("\n\t\t\tChanged parameters: ");
for (Argument stableArg: stableReqArgs.values()) { for (Argument stableArg: stableReqArgs.values()) {
String newRequired = "optional"; String newRequired = "optional";
String oldRequired = "optional"; String oldRequired = "optional";
@ -208,29 +230,37 @@ public class ApiXmlDocReader {
oldRequired = "required"; oldRequired = "required";
if (newCommand.getReqArgByName(stableArg.getName()).isRequired() == true) if (newCommand.getReqArgByName(stableArg.getName()).isRequired() == true)
newRequired = "required"; newRequired = "required";
changedParameters.append(stableArg.getName() + " (old version - " + oldRequired + ", new version - " + newRequired + "), ");
out.write(stableArg.getName() + " (old version - " + oldRequired + ", new version - " + newRequired + ") ");
} }
changedParameters.delete(changedParameters.length() - 2, changedParameters.length() - 1);
out.write(changedParameters.toString());
out.write("\n");
} }
out.write("\n");
} }
//Response //Response
if (newRespArgs.size() != 0 || removedRespArgs.size() != 0 || stableRespArgs.size() != 0) { if (newRespArgs.size() != 0 || removedRespArgs.size() != 0 || stableRespArgs.size() != 0) {
out.write("\n\t\tResponse:"); StringBuffer changedResponseParams = new StringBuffer();
changedResponseParams.append("\n\t\tResponse:");
if (newRespArgs.size() != 0){ if (newRespArgs.size() != 0){
changedResponseParams.append("\n\t\t\tNew parameters: ");
out.write("\n\t\t\tNew parameters: "); out.write("\n\t\t\tNew parameters: ");
for (Argument newArg: newRespArgs) { for (Argument newArg: newRespArgs) {
out.write(newArg.getName()); changedResponseParams.append(newArg.getName() + ", ");
} }
changedResponseParams.delete(changedResponseParams.length() - 2, changedResponseParams.length() - 1);
out.write("\n"); out.write("\n");
} }
if (removedRespArgs.size() != 0){ if (removedRespArgs.size() != 0){
out.write("\n\t\t\tRemoved parameters: "); changedResponseParams.append("\n\t\t\tRemoved parameters: ");
for (Argument removedArg: removedRespArgs) { for (Argument removedArg: removedRespArgs) {
changedResponseParams.append(removedArg.getName());
out.write(removedArg.getName()); out.write(removedArg.getName());
} }
} }
changedResponseParams.delete(changedResponseParams.length() - 2, changedResponseParams.length() - 1);
out.write(changedResponseParams.toString());
out.write("\n"); out.write("\n");
} }
} }