[rules-dev] Updating Web decision table via REST API

Erhans Triadi erhans.triadi at innovation.co.id
Tue Jul 31 04:43:47 EDT 2012


I use Drool Guvnor version 5.2.0.BRMS. I try to updating my Web decision
table with Rest API from user guide
http://docs.jboss.org/drools/release/5.3.0.Final/drools-guvnor-docs/html/ch09.html#d0e2735

*This my source code:*

*package com.sample;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.core.Response;

import org.apache.cxf.jaxrs.client.WebClient;
import org.drools.ide.common.client.modeldriven.dt52.DTCellValue52;
import org.drools.ide.common.client.modeldriven.dt52.GuidedDecisionTable52;
import org.drools.ide.common.server.util.GuidedDTXMLPersistence;

public class Update {
    public static void main(String args[]){
        WebClient client = WebClient.create("http://127.0.0.1:8081/");
        String authorizationHeader = "Basic " +
org.apache.cxf.common.util.Base64Utility.encode("admin:admin".getBytes());
        client.header("Authorization", authorizationHeader);
        String
content=client.path("jboss-brms/rest/packages/mortgages/assets/Pricing%20loans/source").accept("text/plain").get(String.class);
        //List<DTCellValue52> lData = new ArrayList<DTCellValue52>();
        List<List<DTCellValue52>> llData = new
ArrayList<List<DTCellValue52>>();
        System.out.println(content);
        GuidedDecisionTable52 dt =
GuidedDTXMLPersistence.getInstance().unmarshal(content);
        //llData = dt.getData();
        String oldContent =
GuidedDTXMLPersistence.getInstance().marshal(dt);
        System.out.println("Original : \n============\n"+oldContent);
        llData = dt.getData();
        System.out.println("Numeric List idx-1 data-0 =
"+llData.get(1).get(2).getNumericValue());
        llData.get(1).get(2).setNumericValue(new BigDecimal(5000));


        dt.setData(llData);
        String newContent =
GuidedDTXMLPersistence.getInstance().marshal(dt);
        System.out.println("Become : \n============\n"+newContent);

        WebClient client2 = WebClient.create("http://127.0.0.1:8081/");
        client2.header("Authorization", authorizationHeader);
        Response response=
client2.path("jboss-brms/rest/packages/mortgages/assets/Pricing%20loans/source").accept("text/xml").put(newContent);
        System.out.println("succeed");
        System.out.println(response.getMetadata());
    }
}*


I just try to set new value with 5000.
This code doesn't retrieve error, but the result is not true. My "Pricing
loan" asset still not updated with new set value.

Anyone can help?



Best Regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20120731/df3d3cd3/attachment.html 


More information about the rules-dev mailing list