From 0230f937e897a5ca068e125355f115c09e0409c8 Mon Sep 17 00:00:00 2001 From: Deepak Pansheriya Date: Thu, 20 Dec 2012 17:15:47 +0530 Subject: [PATCH] IDEMPIERE-460 Cleaning idempiere schema, Making outputfields to unbounded, Resolving issue with validated lookups --- .../adinterface/ModelADServiceImpl.java | 5 + .../webservices/AbstractService.java | 2 +- .../WEB-INF/xsd/idempiere-schema.xsd | 92 +------------------ 3 files changed, 7 insertions(+), 92 deletions(-) diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java index 5d9a9bad33..d8edeae02b 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java @@ -1035,11 +1035,16 @@ public class ModelADServiceImpl extends AbstractService implements ModelADServic } if (!po.set_ValueOfColumnReturningBoolean(field.getColumn(), value)) throw new IdempiereServiceFault("Cannot set value of column " + field.getColumn(), new QName("setValueAccordingToClass")); + //Setting context for lookup resolution + Env.setContext(Env.getCtx(), 0, field.getColumn(), value==null ? null : value.toString()); } public StandardResponseDocument scanFields(DataField[] fields,MWebServiceType m_webservicetype,PO po,POInfo poinfo,Trx trx,StandardResponse resp, StandardResponseDocument ret){ Map requestCtx = getRequestCtx(); + //Clear ctx + Env.clearWinContext(Env.getCtx(),0); + for (DataField field : fields) { // Implement lookup X_WS_WebServiceFieldInput fieldInput = m_webservicetype.getFieldInput(field.getColumn()); diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java index 54b45acd81..5b36aa0961 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/AbstractService.java @@ -289,7 +289,7 @@ public class AbstractService { protected void setOuputFields(StandardResponse resp,MWebServiceType m_webservicetype,PO po,POInfo poInfo){ String[] outCols = m_webservicetype.getOutputColumnNames(false); if(outCols.length>0){ - OutputFields outputFields = resp.getOutputFields(); + OutputFields outputFields = resp.addNewOutputFields(); if(outputFields==null) outputFields=resp.addNewOutputFields(); diff --git a/org.idempiere.webservices/WEB-INF/xsd/idempiere-schema.xsd b/org.idempiere.webservices/WEB-INF/xsd/idempiere-schema.xsd index 5b0e478a0d..3ec31594ac 100644 --- a/org.idempiere.webservices/WEB-INF/xsd/idempiere-schema.xsd +++ b/org.idempiere.webservices/WEB-INF/xsd/idempiere-schema.xsd @@ -129,53 +129,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -202,37 +155,18 @@ - - - - - - - - - - - - - - - - - - - + - @@ -247,32 +181,8 @@ - - - - - - - - - - - - - - - - - - - - - - - -