Hello all,
i dnt know if this is a stupid question but i've been stuck on this problem for 4 days now.
I am trying to retrieve "date_from" and "employee_id" from "hr_holidays" table i am able to get the value of "date_to" but when it comes to "employee_id" i am having something like employee_id=[Ljava.lang.Object;@3681fe9a.
"employee_id" happens to be of type many2one referencing "id" in "hr_employee"table
This is my code :
private void getEmployeeDetails(String dbName) {
try {
XmlRpcClient client = new XmlRpcClient();
XmlRpcClientConfigImpl loginConfig = new XmlRpcClientConfigImpl();
loginConfig.setEnabledForExtensions(true);
loginConfig.setServerURL(new URL("http",erp.getHost(),erp.getPort(),"/xmlrpc/common"));
client.setConfig(loginConfig);
Object [] loginParam = new Object []{dbName,admin.getName(),admin.getPassword()};
Object adminUID = client.execute("login",loginParam);
if (adminUID instanceof Integer){
admin.setUID(Integer.valueOf(adminUID.toString()));
}else{
System.out.println("error");
}
//configure search
XmlRpcClientConfigImpl xmlRpcSearchConfig = new XmlRpcClientConfigImpl();
xmlRpcSearchConfig.setEnabledForExtensions(true);
xmlRpcSearchConfig.setServerURL(new URL("http",erp.getHost(),erp.getPort(),"/xmlrpc/object"));
client.setConfig(xmlRpcSearchConfig);
//search state = validate
Object[] stateCon = {"state","=","validate"};
ArrayList<Object> condiState = new ArrayList<Object>();
condiState.add(stateCon);
Object [] valId = search(client,dbName,admin.getUID(),admin.getPassword(),"hr.holidays",condiState);
print("Validate State ids---->"+Arrays.toString(valId));
print("--------------------------------------------------------------------------------------------");
//read for employee ids who have state = validate
ArrayList<Object>holiFields = new ArrayList();
holiFields.add("employee_id");
holiFields.add("date_to");
ArrayList<Object>valIdLst=new ArrayList();
valIdLst.addAll(Arrays.asList (valId));
Object [] empId = read(client,dbName,admin.getUID(),admin.getPassword(),"hr.holidays",valIdLst,holiFields);
for(int i=0;i<empId.length;i++){
print(empId[i]);
}//for loop
}catch ( XmlRpcException | MalformedURLException ex) {
Logger.getLogger(AutoMessageThread.class.getName()).log(Level.SEVERE, null, ex);
}catch(ClassCastException e){
e.printStackTrace();
JOptionPane.showMessageDialog(null,"Password not valid","Error- password invalid",JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
this is my read method
private Object [] read(XmlRpcClient xmlRpcLogin,String dbName,int uid,String password,String table,ArrayList<Object>ids,ArrayList<Object>fields) throws XmlRpcException{
Vector<Object> readFunct = new Vector<Object>();
readFunct.add(dbName); //Database name
readFunct.add(uid);//uid of login user
readFunct.add(password);//password of login user
readFunct.add(table);//relation i.e. table to search
readFunct.add("read");
readFunct.add(ids);
readFunct.add(fields);
Object [] ob = (Object [])xmlRpcLogin.execute("execute",readFunct);
return ob;
}//read method
When i run the codes i get result like this ;
{id=12, date_to=2013-02-08 17:00:00, employee_id=[Ljava.lang.Object;@404a6ddc} {id=3, date_to=2013-02-22 00:00:00, employee_id=[Ljava.lang.Object;@5672a77d}
Can anyone help me get the values of "employee_id" plz?
any hint towards the right track will be much appreciated.
regards