diff --git a/pom.xml b/pom.xml
index 89528532..a25b3c85 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,15 @@
developer
+
+ mario-fuentes
+ mario@gnome.cl
+ Mario Fuentes
+ -4
+
+ developer
+
+
http://sourceforge.net/projects/testlinkjavaapi
diff --git a/src/main/java/br/eti/kinoshita/testlinkjavaapi/BaseService.java b/src/main/java/br/eti/kinoshita/testlinkjavaapi/BaseService.java
index c10e4f0b..623fde7f 100644
--- a/src/main/java/br/eti/kinoshita/testlinkjavaapi/BaseService.java
+++ b/src/main/java/br/eti/kinoshita/testlinkjavaapi/BaseService.java
@@ -103,7 +103,7 @@ protected void checkResponseError( Object response )
{
if ( response instanceof Object[] ) // may be an array of errors (IXError)
{
- Object[] responseArray = (Object[])response;
+ Object[] responseArray = Util.castToArray(response);
for (int i = 0; i < responseArray.length; i++)
{
diff --git a/src/main/java/br/eti/kinoshita/testlinkjavaapi/BuildService.java b/src/main/java/br/eti/kinoshita/testlinkjavaapi/BuildService.java
index 7b3e059a..b694971d 100644
--- a/src/main/java/br/eti/kinoshita/testlinkjavaapi/BuildService.java
+++ b/src/main/java/br/eti/kinoshita/testlinkjavaapi/BuildService.java
@@ -51,7 +51,7 @@ protected Build createBuild(Integer testPlanId, String buildName, String buildNo
Map executionData = Util.getBuildMap(build);
Object response = this.executeXmlRpcCall(
TestLinkMethods.createBuild.toString(), executionData);
- Object[] responseArray = (Object[])response;
+ Object[] responseArray = Util.castToArray(response);
Map responseMap = (Map)responseArray[0];
id = Util.getInteger(responseMap, TestLinkResponseParams.id.toString());
@@ -84,7 +84,7 @@ protected Build[] getBuildsForTestPlan( Integer testPlanId )
TestLinkMethods.getBuildsForTestPlan.toString(), executionData);
if ( response instanceof Object[])
{
- Object[] responseArray = (Object[])response;
+ Object[] responseArray = Util.castToArray(response);
builds = new Build[ responseArray.length ];
for (int i = 0; i < responseArray.length; i++)
{
diff --git a/src/main/java/br/eti/kinoshita/testlinkjavaapi/MiscService.java b/src/main/java/br/eti/kinoshita/testlinkjavaapi/MiscService.java
index b5d21f96..bdecfc20 100644
--- a/src/main/java/br/eti/kinoshita/testlinkjavaapi/MiscService.java
+++ b/src/main/java/br/eti/kinoshita/testlinkjavaapi/MiscService.java
@@ -333,7 +333,7 @@ protected Execution getLastExecutionResult(
executionData.put( TestLinkParams.testCaseExternalId.toString(), testCaseExternalId );
Object response = this.executeXmlRpcCall(
TestLinkMethods.getLastExecutionResult.toString(), executionData);
- Object[] responseArray = (Object[])response;
+ Object[] responseArray = Util.castToArray(response);
Map responseMap = (Map)responseArray[0];
if ( responseMap instanceof Map, ?> && responseMap.size() > 0 )
{
diff --git a/src/main/java/br/eti/kinoshita/testlinkjavaapi/TestCaseService.java b/src/main/java/br/eti/kinoshita/testlinkjavaapi/TestCaseService.java
index 392ff687..e15af36f 100644
--- a/src/main/java/br/eti/kinoshita/testlinkjavaapi/TestCaseService.java
+++ b/src/main/java/br/eti/kinoshita/testlinkjavaapi/TestCaseService.java
@@ -20,6 +20,7 @@
import br.eti.kinoshita.testlinkjavaapi.model.ResponseDetails;
import br.eti.kinoshita.testlinkjavaapi.model.TestCase;
import br.eti.kinoshita.testlinkjavaapi.model.TestCaseStep;
+import br.eti.kinoshita.testlinkjavaapi.model.TestCaseStepAction;
import br.eti.kinoshita.testlinkjavaapi.model.TestImportance;
import br.eti.kinoshita.testlinkjavaapi.model.TestLinkMethods;
import br.eti.kinoshita.testlinkjavaapi.model.TestLinkParams;
@@ -121,7 +122,7 @@ protected TestCase createTestCase(
Map executionData = Util.getTestCaseMap(testCase);
Object response = this.executeXmlRpcCall(
TestLinkMethods.createTestCase.toString(), executionData);
- Object[] responseArray = (Object[])response;
+ Object[] responseArray = Util.castToArray(response);
Map responseMap = (Map)responseArray[0];
id = Util.getInteger(responseMap, TestLinkResponseParams.id.toString());
@@ -135,6 +136,74 @@ protected TestCase createTestCase(
return testCase;
}
+
+ @SuppressWarnings("unchecked")
+ public Map createTestCaseSteps(
+ String testCaseExternalId,
+ Integer version,
+ TestCaseStepAction action,
+ List testCaseSteps
+ )
+ throws TestLinkAPIException
+ {
+ Map responseMap = null;
+
+ try
+ {
+ Map executionData = new HashMap();
+
+ executionData.put(TestLinkParams.testCaseExternalId.toString(), testCaseExternalId);
+ executionData.put(TestLinkParams.version.toString(), version);
+ executionData.put(TestLinkParams.action.toString(), action.toString());
+
+ List