Hi Bill,
I'm not quite sure what the problem might be with that previous patch,
but I just regenerated this new patch file from the 291980 version. Let
me know if there are more difficulties with this version.
-Simeon
-----Original Message-----
From: Reichardt, William
Sent: Wednesday, September 28, 2005 11:52 AM
To: [email protected]
Subject: Re: Muse client patches...
I am having trouble applying this patch as it is against a older version
of this file.
Could you upadate to version 291980 and then send me a new patch?
Thanks,
-Bill
Pinder, Simeon wrote:
> Hi Bill,
>
> I fixed that failing unit test and refactored the code. Please
> apply the patch and update at your earliest convenience.
>
> Thanks.
>
> -Simeon
>
>
> ----------------------------------------------------------------------
> --
>
> Index:
>
C:\cygwin\home\wire\workspaces\wsdm_interop_workspace\client/src/test/or
g/apache/ws/client/muse/client/impl/ManageableResourceImplTest.java
> ===================================================================
> ---
C:\cygwin\home\wire\workspaces\wsdm_interop_workspace\client/src/test/or
g/apache/ws/client/muse/client/impl/ManageableResourceImplTest.java
(revision 290993)
> +++
C:\cygwin\home\wire\workspaces\wsdm_interop_workspace\client/src/test/or
g/apache/ws/client/muse/client/impl/ManageableResourceImplTest.java
(working copy)
> @@ -9,6 +9,8 @@
>
> import
> org.apache.ws.client.muse.client.impl.exceptions.FaultException;
> import
org.apache.ws.client.muse.client.impl.exceptions.UnexpectedServerRespons
eException;
> +import org.apache.ws.client.muse.client.model.SetPropertiesRequest;
> +import
>
+org.apache.ws.resource.properties.faults.InvalidResourcePropertyQNameFa
ultException;
> import
>
org.apache.ws.muws.v1_0.impl.advertiser.ResourceAdvertiserPropertyQNames
;
> import org.apache.ws.service.testresource.TestResourcePropertyQNames;
> import org.apache.ws.util.test.axis.MuseClientTestCase;
> @@ -20,6 +22,8 @@
> private String eprTxt;
> private URL testAddress;
> private ManageableResourceImpl testImpl;
> + String dialect1 =
"http://www.w3.org/TR/1999/REC-xpath-19991116";
> + String dialect2 =
"http://www.w3.org/TR/2003/WD-xpath20-20031112";
>
> protected void setUp() throws Exception {
> super.setUp();
> @@ -33,8 +37,60 @@
> protected void tearDown() throws Exception {
> super.tearDown();
> }
> + /**
> + * Objective: Request a list of property qnames and make sure it
is
> + * of the expected length.
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws FaultException
> + * @throws FaultException
> + *
> + */
> + public void testGetPropertyNames() throws URISyntaxException,
IOException, XmlException, UnexpectedServerResponseException,
FaultException{
> + QName[] infoArry= testImpl.getPropertyQNames();
> + assertNotNull(infoArry);
> + assertTrue(infoArry.length>0);
> + }
>
> + // DONE: Beginning support for QueryResourceProperties
> /**
> + * Objective: Query resource properties with an XPath expression
using
> + * a specific XPath dialect.
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws FaultException
> + * @throws FaultException
> + *
> + */
> + public void testQueryResourceProperties() throws
> +URISyntaxException, IOException, XmlException,
> +UnexpectedServerResponseException, FaultException{
> +
> + //DONE: figure out how to specify a supported dialect. Start
with xpath 1.0 and xpath 2.0
> + String dialect1 =
"http://www.w3.org/TR/1999/REC-xpath-19991116";
> + String dialect2 =
> +"http://www.w3.org/TR/2003/WD-xpath20-20031112";
> +
> + //test a select all query
> + String xpathExpression = "*";
> + XmlObject[] resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
> + assertNotNull(resourceProps);
> + assertTrue(resourceProps.length>0);
> +
> + //test a boolean query
> + xpathExpression = "boolean(/*/Price=0.99)";
> + resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
> + assertNotNull(resourceProps);
> + assertEquals(1,resourceProps.length);
> +
> +
> + }
> + /**
> * Objective: Get the Resource ID of a resource.
> * @throws MalformedURLException
> * @throws XmlException
> @@ -125,23 +181,8 @@
>
> }
>
> - /**
> - * Objective: Request a list of property qnames and make sure it
is
> - * of the expected length.
> - * @throws UnexpectedServerResponseException
> - * @throws XmlException
> - * @throws IOException
> - * @throws URISyntaxException
> - * @throws FaultException
> - * @throws FaultException
> - *
> - */
> - public void testGetPropertyNames() throws URISyntaxException,
IOException, XmlException, UnexpectedServerResponseException,
FaultException{
> - QName[] infoArry= testImpl.getPropertyQNames();
> - assertNotNull(infoArry);
> - assertEquals(17,infoArry.length);
> - }
> -
> +
> + // DONE: GetMultipleresourceProperties
> public void testGetMultipleResourceProperties() throws
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException, FaultException{
> //define list of requested resouces as QName array
> QName[] requestedResourceProperties = new QName[3];
> @@ -152,10 +193,20 @@
>
> XmlObject[] resourceArry=
testImpl.getMultipleResourceProperties(requestedResourceProperties);
> assertNotNull(resourceArry);
> - //Which resource properties do we expect back?
> - //How do we specify which mulitple resource properies to
retrieve?
> -// assertEquals(,resourceArry.length);
> -
> +
> + //DONE: test for 3 returned resource properties.
> + assertTrue("Incorrect number of XML fragments
>
+returned!",(resourceArry.length==requestedResourceProperties.length));
> +
> + //DONE: check that queried resources are actually
returned
> + String name ="UnitTestResource";
> + String price = "0.99";
> + String resId ="rn:0001";
> + assertTrue("Expected resource not found.",
> +
resourceArry[0].toString().indexOf(name)>-1);
> + assertTrue("Expected resource not found.",
> +
resourceArry[1].toString().indexOf(price)>-1);
> + assertTrue("Expected resource not found.",
> +
resourceArry[2].toString().indexOf(resId)>-1);
> }
>
> /**
> @@ -187,13 +238,232 @@
>
> // TODO Support QueryResourceProperties
>
> - // TODO GetMultipleresourceProperties
> + // TODO Resolve the best way to support getting metrics
>
> // TODO Support for setting properties
>
> +
> + // DONE: Support for setting properties.
> + /**
> + * Objective: Query resource properties with an XPath expression
using
> + * a specific XPath dialect.
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws FaultException
> + *
> + */
> + public void testSetResourceProperties() throws
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException, FaultException{
> + //MULTIPLE SET REQUEST: BEGIN
> + //now carry out update, delete and insert in one call.
> + //verify that those values were successfully changed.
> + //temp check that messages built properly
> + SetPropertiesRequest tmpRequest = null;
> + //retrieve current property value
> + double newVal =
testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
> + //initialize the SetPropertiesRequest instance
> + tmpRequest = testImpl.createNewSetPropertiesRequest();
> + //generate the update value
> + newVal = newVal - .01;
> + //build setProps param list
> + String[] multSetUpdate = {String.valueOf(newVal)};
> + String newInst
="http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Identity";
> + String[] multSetInsert = {newInst,"NewTestInsert"};
> +
> + //now build the SetPropertiesRequest
> +
tmpRequest.addUpdateRequest(TestResourcePropertyQNames.PRICE,multSetUpda
te);
> +
tmpRequest.addInsertRequest(TestResourcePropertyQNames.MANAGEABILITYCAPA
BILITY,multSetInsert);
> + //then delete the same ones just inserted. Should work as
order matters.
> +
>
+tmpRequest.addDeleteRequest(TestResourcePropertyQNames.MANAGEABILITYCAP
ABILITY);
> +
> + //now make the request
> + testImpl.setProperties(tmpRequest);
> +
> + //carry out quick visual test
> + //test to see that the property no longer exists
> + XmlObject[] resourceProps = null;
> + String xpathExpression = "*";
> + resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
> + //DONE: insert logic to test contents
> + boolean updated = false;
> + boolean deleted = true;
> + //iterate through and populate the values
> + for (int i = 0; i < resourceProps.length; i++) {
> + XmlObject cur = resourceProps[i];
> + String value = cur.toString();
> + if(value.indexOf(newVal+"")>-1){
> + updated = true;
> + }else if(value.indexOf(newInst)>-1){
> + deleted = false;
> + }
> + }
> + assertTrue(TestResourcePropertyQNames.PRICE+" was not
successfully updated!",updated);
> + //TODO: fix line below this doesn't appear to be deleting
the values properly.
> +
assertFalse(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY+" was not
successfully deleted.",deleted);
> + //MULTIPLE SET REQUEST: END
> + }
> +
> // TODO Calling Operations on Resources
>
> // TODO Next try the create and destroys.
>
> // TODO Notifications
> +
> + //TODO: getResourcePropertyDocument
> + /**
> + * Objective: Request a list of property qnames and make sure it
is
> + * of the expected length.
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws FaultException
> + *
> + */
> +// public void NotImplemented_testGetResourcePropertyDocument()
throws URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
> +// XmlObject resPropDoc=
testImpl.getResourcePropertyDocument();
> +// assertNotNull(resPropDoc);
> +// //TODO: test content returned
> +//// assertEquals(1,resPropDoc.length);
> +// }
> +
> + //TODO: testQueryExpressionDialect
> + /**
> + * Objective: Request a list of property qnames and make sure it
is
> + * of the expected length.
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws FaultException
> + * @throws UnexpectedServerResponseException
> + * @throws XmlException
> + * @throws IOException
> + * @throws URISyntaxException
> + * @throws FaultException
> + *
> + */
> +// public void testQueryExpressionDialect() throws
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
> +//// XmlObject resPropDoc= testImpl.queryExpressionDialect();
> +//// assertNotNull(resPropDoc);
> +// //TODO: test content returned
> +//// assertEquals(1,resPropDoc.length);
> +// }
> +
> + public void testUpdateProperty() throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
> + //UPDATE: BEGIN
> + //test that a simple update operation works.
> + //retrieve an existing property
> + double
propValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE)
;
> + double newVal = (propValue - .2);
> + //update that property
> + SetPropertiesRequest setRequest =
testImpl.createNewSetPropertiesRequest();
> + String[] updates = {String.valueOf(newVal)};
> +
setRequest.addUpdateRequest(TestResourcePropertyQNames.PRICE,updates);
> + testImpl.setProperties(setRequest);
> + //make sure that it's changed
> + double
newValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
> + assertTrue("Value not successfully
> +updated!",(newValue==newVal));
> +
> + //test multiple update values: PRICE & NAME
> + double storedValue = newValue;
> + newValue = (propValue - .1);
> + String
namePropValue=testImpl.getPropertyAsString(TestResourcePropertyQNames.NA
ME);
> + String newValue2 = namePropValue+"-modified";
> + SetPropertiesRequest setRequest2 =
> +
testImpl.createNewSetPropertiesRequest();
> + String[] priceUpdate =
{String.valueOf(newValue)};
> +
setRequest2.addUpdateRequest(TestResourcePropertyQNames.PRICE,priceUpdat
e);
> + String[] nameUpdate = {newValue2};
> +
setRequest2.addUpdateRequest(TestResourcePropertyQNames.NAME,nameUpdate)
;
> + testImpl.setProperties(setRequest2);
> + //make sure that the values have changed
> + double
newPrice=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
> + assertTrue("Value not successfully
updated!",(newValue==newPrice));
> + String
newName=testImpl.getPropertyAsString(TestResourcePropertyQNames.NAME);
> + assertTrue("Value not successfully
updated!",(newValue2.equals(newName)));
> + //UPDATE: END
> + }
> +
> + public void testInsertProperty()throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
> + //INSERT: BEGIN
> +
> + //test that insert works
> + //query the existing node to determine current count in
the document
> + XmlObject[] existingNodes
=testImpl.getProperty(TestResourcePropertyQNames.TESTMETRIC);
> + int currentTestMetricCnt = existingNodes.length;
> + //insert a new TestMetric into the document
> + //create it
> + SetPropertiesRequest tmpRequest =
> + testImpl.createNewSetPropertiesRequest();
> + double tstMetVal = 3.4;
> + String[] total = {""+tstMetVal};
> +
tmpRequest.addInsertRequest(TestResourcePropertyQNames.TESTMETRIC,total)
;
> + testImpl.setProperties(tmpRequest);
> + //verify it
> + //make sure that it's changed
> + QName[] mResReq = new QName[1];
mResReq[0]=TestResourcePropertyQNames.TESTMETRIC;
> +// XmlObject[]
val=testImpl.getMultipleResourceProperties(mResReq);
> + XmlObject[]
val=testImpl.getProperty(TestResourcePropertyQNames.TESTMETRIC);
> +// assertEquals("Value not successfully updated!",3,val.length);
> + assertEquals("Value not successfully
updated!",(currentTestMetricCnt+1),val.length);
> + //parse response to ensure that value is included
> + boolean exists = false;
> + for (int i = 0; i < val.length; i++) {
> + XmlObject obj = val[i];
> + if(obj.toString().indexOf(tstMetVal+"")>-1){
> + exists =true;
> + }
> + }
> + assertTrue("Value not successfully found!",exists);
> +
> +// String xpathExpression = "*";
> +// XmlObject[] resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
> +
> + // INSERT: END
> +
> + }
> +
> + public void testDeleteProperty() throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
> + //create the setProperties request document
> + SetPropertiesRequest tmpRequest = null;
> + XmlObject[] resourceProps = null;
> + double newValue = -1;
> + // DELETE: BEGIN
> + tmpRequest = testImpl.createNewSetPropertiesRequest();
> +
tmpRequest.addDeleteRequest(TestResourcePropertyQNames.MANAGEABILITYCAPA
BILITY);
> + testImpl.setProperties(tmpRequest);
> + //test to see that the property no longer exists
> + String xpathExpression = "*";
> + resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
> + try{
> +
newValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.MANAGEA
BILITYCAPABILITY);
> + fail("Query for non-existant resource
passed!");
> + }catch(Exception ex){
> + //swallow exception
> + }
> +
> + // DELETE: END
> +
> + }
> + public void testResourceLifetime() throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
> + //figure out how to test this cause, not sure what death
of resource means.
> + //call for immediate destroy on it
> + //check to see whether destroy worked
> + //now create a new resource and then set scheduled death
> + //wait for time to pass ..
> + //verify that it's dead.
> +
> + }
> +
> + // TODO Calling Operations on Resources
> +
> + // TODO Next try the create and destroys.
> +
> + // TODO Notifications
> }
>
>
> ----------------------------------------------------------------------
> --
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Index:
C:\cygwin\home\wire\workspaces\wsdm_interop_workspace\client\src\test\org\apache\ws\client\muse\client\impl\ManageableResourceImplTest.java
===================================================================
---
C:\cygwin\home\wire\workspaces\wsdm_interop_workspace\client\src\test\org\apache\ws\client\muse\client\impl\ManageableResourceImplTest.java
(revision 292222)
+++
C:\cygwin\home\wire\workspaces\wsdm_interop_workspace\client\src\test\org\apache\ws\client\muse\client\impl\ManageableResourceImplTest.java
(working copy)
@@ -260,107 +260,23 @@
*
*/
public void testSetResourceProperties() throws URISyntaxException,
IOException, XmlException, UnexpectedServerResponseException, FaultException{
-
- //UPDATE: BEGIN
- //test that a simple update operation works.
- //retrieve an existing property
- double
propValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
- double newVal = (propValue - .2);
- //update that property
- SetPropertiesRequest setRequest =
- testImpl.createNewSetPropertiesRequest();
- String[] updates = {String.valueOf(newVal)};
-
setRequest.addUpdateRequest(TestResourcePropertyQNames.PRICE,updates);
- testImpl.setProperties(setRequest);
- //make sure that it's changed
- double
newValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
- assertTrue("Value not successfully
updated!",(newValue==newVal));
-
- //test multiple update values: PRICE & NAME
- double storedValue = newValue;
- newValue = (propValue - .1);
- String
namePropValue=testImpl.getPropertyAsString(TestResourcePropertyQNames.NAME);
- String newValue2 = namePropValue+"-modified";
- SetPropertiesRequest setRequest2 =
- testImpl.createNewSetPropertiesRequest();
- String[] priceUpdate = {String.valueOf(newValue)};
-
setRequest2.addUpdateRequest(TestResourcePropertyQNames.PRICE,priceUpdate);
- String[] nameUpdate = {newValue2};
-
setRequest2.addUpdateRequest(TestResourcePropertyQNames.NAME,nameUpdate);
- testImpl.setProperties(setRequest2);
- //make sure that the values have changed
- double
newPrice=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
- assertTrue("Value not successfully
updated!",(newValue==newPrice));
- String
newName=testImpl.getPropertyAsString(TestResourcePropertyQNames.NAME);
- assertTrue("Value not successfully
updated!",(newValue2.equals(newName)));
-
-// //test multiple update values with same QNAME:
TestManageability ex. <t:com>val1><t:com>val2>
-// SetPropertiesRequest setRequest3 =
-// testImpl.createNewSetPropertiesRequest();
-// String[] tmUpdate = {"0.456", "0.678"};
-//
setRequest3.addUpdateRequest(TestResourcePropertyQNames.TESTMETRIC,tmUpdate);
-// testImpl.setProperties(setRequest3);
-
-// //make sure that the values have changed
-// XmlObject[]
vals=testImpl.getMultipleResourceProperties(new
QName[]{TestResourcePropertyQNames.TESTMETRIC});
-// assertTrue("Value not successfully
updated!",(2==vals.length));
-
- //UPDATE: END
-
- //INSERT: BEGIN
-
- //test that insert works
- //insert a new TestMetric into the document
- //create it
- SetPropertiesRequest tmpRequest =
- testImpl.createNewSetPropertiesRequest();
- double tstMetVal = 3.4;
- String[] total = {""+tstMetVal};
-
tmpRequest.addInsertRequest(TestResourcePropertyQNames.TESTMETRIC,total);
- testImpl.setProperties(tmpRequest);
- //verify it
- //make sure that it's changed
- QName[] mResReq = new QName[1];
mResReq[0]=TestResourcePropertyQNames.TESTMETRIC;
- XmlObject[] val=testImpl.getMultipleResourceProperties(mResReq);
- assertEquals("Value not successfully updated!",3,val.length);
- //parse response to ensure that value is included
- boolean exists = false;
- for (int i = 0; i < val.length; i++) {
- XmlObject obj = val[i];
- if(obj.toString().indexOf(tstMetVal+"")>-1){
- exists =true;
- }
- }
- assertTrue("Value not successfully found!",exists);
-
- String xpathExpression = "*";
- XmlObject[] resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
-
- // INSERT: END
- // DELETE: BEGIN
- tmpRequest = testImpl.createNewSetPropertiesRequest();
-
tmpRequest.addDeleteRequest(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY);
- testImpl.setProperties(tmpRequest);
- //test to see that the property no longer exists
- resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
- try{
-
newValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY);
- fail("Query for non-existant resource passed!");
- }catch(Exception ex){
- //swallow exception
- }
-
- // DELETE: END
-
//MULTIPLE SET REQUEST: BEGIN
//now carry out update, delete and insert in one call.
//verify that those values were successfully changed.
//temp check that messages built properly
+ SetPropertiesRequest tmpRequest = null;
+ //retrieve current property value
+ double newVal =
testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
+ //initialize the SetPropertiesRequest instance
tmpRequest = testImpl.createNewSetPropertiesRequest();
+ //generate the update value
newVal = newVal - .01;
+ //build setProps param list
String[] multSetUpdate = {String.valueOf(newVal)};
String newInst
="http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Identity";
String[] multSetInsert = {newInst,"NewTestInsert"};
+
+ //now build the SetPropertiesRequest
tmpRequest.addUpdateRequest(TestResourcePropertyQNames.PRICE,multSetUpdate);
tmpRequest.addInsertRequest(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY,multSetInsert);
//then delete the same ones just inserted. Should work as order
matters.
@@ -370,8 +286,25 @@
testImpl.setProperties(tmpRequest);
//carry out quick visual test
//test to see that the property no longer exists
+ XmlObject[] resourceProps = null;
+ String xpathExpression = "*";
resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
- //TODO: insert logic to test contents
+ //DONE: insert logic to test contents
+ boolean updated = false;
+ boolean deleted = true;
+ //iterate through and populate the values
+ for (int i = 0; i < resourceProps.length; i++) {
+ XmlObject cur = resourceProps[i];
+ String value = cur.toString();
+ if(value.indexOf(newVal+"")>-1){
+ updated = true;
+ }else if(value.indexOf(newInst)>-1){
+ deleted = false;
+ }
+ }
+ assertTrue(TestResourcePropertyQNames.PRICE+" was not successfully
updated!",updated);
+ //TODO: fix line below this doesn't appear to be deleting the
values properly.
+ assertFalse(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY+"
was not successfully deleted.",deleted);
//MULTIPLE SET REQUEST: END
}
@@ -424,6 +357,7 @@
// }
public void testUpdateProperty() throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
+ //UPDATE: BEGIN
//test that a simple update operation works.
//retrieve an existing property
double
propValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
@@ -434,7 +368,99 @@
double
newValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
assertTrue("Value not successfully
updated!",(newValue==newVal));
+ //test multiple update values: PRICE & NAME
+ double storedValue = newValue;
+ newValue = (propValue - .1);
+ String
namePropValue=testImpl.getPropertyAsString(TestResourcePropertyQNames.NAME);
+ String newValue2 = namePropValue+"-modified";
+ SetPropertiesRequest setRequest2 =
+ testImpl.createNewSetPropertiesRequest();
+ String[] priceUpdate = {String.valueOf(newValue)};
+
setRequest2.addUpdateRequest(TestResourcePropertyQNames.PRICE,priceUpdate);
+ String[] nameUpdate = {newValue2};
+
setRequest2.addUpdateRequest(TestResourcePropertyQNames.NAME,nameUpdate);
+ testImpl.setProperties(setRequest2);
+ //make sure that the values have changed
+ double
newPrice=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.PRICE);
+ assertTrue("Value not successfully
updated!",(newValue==newPrice));
+ String
newName=testImpl.getPropertyAsString(TestResourcePropertyQNames.NAME);
+ assertTrue("Value not successfully
updated!",(newValue2.equals(newName)));
+ //UPDATE: END
}
+
+ public void testInsertProperty()throws FaultException, URISyntaxException,
IOException, XmlException, UnexpectedServerResponseException{
+ //INSERT: BEGIN
+
+ //test that insert works
+ //query the existing node to determine current count in the
document
+ XmlObject[] existingNodes
=testImpl.getProperty(TestResourcePropertyQNames.TESTMETRIC);
+ int currentTestMetricCnt = existingNodes.length;
+ //insert a new TestMetric into the document
+ //create it
+ SetPropertiesRequest tmpRequest =
+ testImpl.createNewSetPropertiesRequest();
+ double tstMetVal = 3.4;
+ String[] total = {""+tstMetVal};
+
tmpRequest.addInsertRequest(TestResourcePropertyQNames.TESTMETRIC,total);
+ testImpl.setProperties(tmpRequest);
+ //verify it
+ //make sure that it's changed
+ QName[] mResReq = new QName[1];
mResReq[0]=TestResourcePropertyQNames.TESTMETRIC;
+// XmlObject[] val=testImpl.getMultipleResourceProperties(mResReq);
+ XmlObject[]
val=testImpl.getProperty(TestResourcePropertyQNames.TESTMETRIC);
+// assertEquals("Value not successfully updated!",3,val.length);
+ assertEquals("Value not successfully
updated!",(currentTestMetricCnt+1),val.length);
+ //parse response to ensure that value is included
+ boolean exists = false;
+ for (int i = 0; i < val.length; i++) {
+ XmlObject obj = val[i];
+ if(obj.toString().indexOf(tstMetVal+"")>-1){
+ exists =true;
+ }
+ }
+ assertTrue("Value not successfully found!",exists);
+
+// String xpathExpression = "*";
+// XmlObject[] resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
+
+ // INSERT: END
+
+ }
+
+ public void testDeleteProperty() throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
+ //create the setProperties request document
+ SetPropertiesRequest tmpRequest = null;
+ XmlObject[] resourceProps = null;
+ double newValue = -1;
+ // DELETE: BEGIN
+ tmpRequest = testImpl.createNewSetPropertiesRequest();
+
tmpRequest.addDeleteRequest(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY);
+ testImpl.setProperties(tmpRequest);
+ //test to see that the property no longer exists
+ String xpathExpression = "*";
+ resourceProps =
testImpl.queryResourceProperties(xpathExpression,dialect1);
+ try{
+
newValue=testImpl.getPropertyAsDouble(TestResourcePropertyQNames.MANAGEABILITYCAPABILITY);
+ fail("Query for non-existant resource passed!");
+ }catch(Exception ex){
+ //swallow exception
+ }
+
+ // DELETE: END
+
+ }
+ public void testResourceLifetime() throws FaultException,
URISyntaxException, IOException, XmlException,
UnexpectedServerResponseException{
+ //Test immediate destroy capability
+ //make simple call to ensure that resource does exist
+ //call for immediate destroy on it
+ testImpl.destroyResourceImmediately();
+ //check to see whether destroy worked
+ //now create a new resource and then set scheduled death
+ //wait for time to pass ..
+ //verify that it's dead.
+
+ }
+
// TODO Calling Operations on Resources
// TODO Next try the create and destroys.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]