Attached Files | patchToReproduceIssue.diff [^] (16,162 bytes) 2016-03-18 11:57 [Show Content] [Hide Content]diff --git a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ManualDataSourceForSelector.java b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ManualDataSourceForSelector.java
new file mode 100644
--- /dev/null
+++ b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ManualDataSourceForSelector.java
@@ -0,0 +1,104 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo Public License
+ * Version 1.1 (the "License"), being the Mozilla Public License
+ * Version 1.1 with a permitted attribution clause; you may not use this
+ * file except in compliance with the License. You may obtain a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2010-2014 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.service.datasource;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.codehaus.jettison.json.JSONArray;
+import org.codehaus.jettison.json.JSONException;
+import org.codehaus.jettison.json.JSONObject;
+import org.hibernate.criterion.Restrictions;
+import org.openbravo.dal.service.OBCriteria;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.model.common.businesspartner.BusinessPartner;
+import org.openbravo.service.json.JsonConstants;
+
+public class ManualDataSourceForSelector extends BaseDataSourceService {
+
+ @Override
+ public String add(Map<String, String> parameters, String content) {
+ throw new UnsupportedOperationException(
+ "This operation is not supported by this data source implementation");
+ }
+
+ @Override
+ public String fetch(Map<String, String> parameters) {
+ System.out.println("where_clause: " + parameters.get(JsonConstants.WHERE_PARAMETER));
+ List<BusinessPartner> businessPartners = getBusinessPartners();
+ return getJSONResponse(businessPartners);
+
+ }
+
+ private List<BusinessPartner> getBusinessPartners() {
+ OBCriteria<BusinessPartner> criteria = OBDal.getInstance()
+ .createCriteria(BusinessPartner.class);
+ criteria.setMaxResults(100);
+ criteria.add(Restrictions.eq(BusinessPartner.PROPERTY_CUSTOMER, true));
+ return criteria.list();
+ }
+
+ private String getJSONResponse(List<BusinessPartner> businessPartners) {
+ final JSONObject jsonResult = new JSONObject();
+ final JSONObject jsonResponse = new JSONObject();
+ try {
+ jsonResponse.put(JsonConstants.RESPONSE_STATUS, JsonConstants.RPCREQUEST_STATUS_SUCCESS);
+ jsonResponse.put(JsonConstants.RESPONSE_STARTROW, 0);
+ jsonResponse.put(JsonConstants.RESPONSE_ENDROW, businessPartners.size() - 1);
+ jsonResponse.put(JsonConstants.RESPONSE_TOTALROWS, businessPartners.size());
+ jsonResponse.put(JsonConstants.RESPONSE_DATA, new JSONArray(
+ convertToJSONObjects(businessPartners)));
+ jsonResult.put(JsonConstants.RESPONSE_RESPONSE, jsonResponse);
+ } catch (JSONException e) {
+ }
+
+ return jsonResult.toString();
+ }
+
+ private List<JSONObject> convertToJSONObjects(List<BusinessPartner> businessPartners) {
+ final List<JSONObject> jsonObjects = new ArrayList<JSONObject>();
+ for (BusinessPartner businessPartner : businessPartners) {
+ jsonObjects.add(convertToJSONObject(businessPartner));
+ }
+ return jsonObjects;
+ }
+
+ private JSONObject convertToJSONObject(BusinessPartner businessPartner) {
+ final JSONObject jsonObject = new JSONObject();
+ try {
+ jsonObject.put("id", businessPartner.getId());
+ jsonObject.put("name", businessPartner.getName());
+ } catch (JSONException e) {
+ }
+ return jsonObject;
+ }
+
+ @Override
+ public String remove(Map<String, String> parameters) {
+ throw new UnsupportedOperationException(
+ "This operation is not supported by this data source implementation");
+ }
+
+ @Override
+ public String update(Map<String, String> parameters, String content) {
+ throw new UnsupportedOperationException(
+ "This operation is not supported by this data source implementation");
+ }
+}
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -43122,8 +43122,8 @@
<!--2762--> <HELP><![CDATA[A Business Partner is anyone with whom you transact. This can include a customer, vendor, employee or any combination of these.]]></HELP>
<!--2762--> <COLUMNNAME><![CDATA[C_BPartner_ID]]></COLUMNNAME>
<!--2762--> <AD_TABLE_ID><![CDATA[259]]></AD_TABLE_ID>
-<!--2762--> <AD_REFERENCE_ID><![CDATA[30]]></AD_REFERENCE_ID>
-<!--2762--> <AD_REFERENCE_VALUE_ID><![CDATA[800057]]></AD_REFERENCE_VALUE_ID>
+<!--2762--> <AD_REFERENCE_ID><![CDATA[95E2A8B50A254B2AAE6774B8C2F28120]]></AD_REFERENCE_ID>
+<!--2762--> <AD_REFERENCE_VALUE_ID><![CDATA[D6444225F8854BE2B727E9C7408E332E]]></AD_REFERENCE_VALUE_ID>
<!--2762--> <FIELDLENGTH><![CDATA[60]]></FIELDLENGTH>
<!--2762--> <ISKEY><![CDATA[N]]></ISKEY>
<!--2762--> <ISPARENT><![CDATA[N]]></ISPARENT>
diff --git a/src-db/database/sourcedata/AD_REFERENCE.xml b/src-db/database/sourcedata/AD_REFERENCE.xml
--- a/src-db/database/sourcedata/AD_REFERENCE.xml
+++ b/src-db/database/sourcedata/AD_REFERENCE.xml
@@ -6416,6 +6416,18 @@
<!--D61E6D984E214F99B10DE56395ED692B--> <ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
<!--D61E6D984E214F99B10DE56395ED692B--></AD_REFERENCE>
+<!--D6444225F8854BE2B727E9C7408E332E--><AD_REFERENCE>
+<!--D6444225F8854BE2B727E9C7408E332E--> <AD_REFERENCE_ID><![CDATA[D6444225F8854BE2B727E9C7408E332E]]></AD_REFERENCE_ID>
+<!--D6444225F8854BE2B727E9C7408E332E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D6444225F8854BE2B727E9C7408E332E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D6444225F8854BE2B727E9C7408E332E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D6444225F8854BE2B727E9C7408E332E--> <NAME><![CDATA[Manual Datasource Business Partner Selector]]></NAME>
+<!--D6444225F8854BE2B727E9C7408E332E--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--D6444225F8854BE2B727E9C7408E332E--> <ISBASEREFERENCE><![CDATA[N]]></ISBASEREFERENCE>
+<!--D6444225F8854BE2B727E9C7408E332E--> <PARENTREFERENCE_ID><![CDATA[95E2A8B50A254B2AAE6774B8C2F28120]]></PARENTREFERENCE_ID>
+<!--D6444225F8854BE2B727E9C7408E332E--> <ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
+<!--D6444225F8854BE2B727E9C7408E332E--></AD_REFERENCE>
+
<!--D65D16C78404437AAB008E8040715D2F--><AD_REFERENCE>
<!--D65D16C78404437AAB008E8040715D2F--> <AD_REFERENCE_ID><![CDATA[D65D16C78404437AAB008E8040715D2F]]></AD_REFERENCE_ID>
<!--D65D16C78404437AAB008E8040715D2F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/OBSERDS_DATASOURCE.xml b/src-db/database/sourcedata/OBSERDS_DATASOURCE.xml
--- a/src-db/database/sourcedata/OBSERDS_DATASOURCE.xml
+++ b/src-db/database/sourcedata/OBSERDS_DATASOURCE.xml
@@ -66,6 +66,20 @@
<!--90034CAE96E847D78FBEF6D38CB1930D--> <IDFKFILTERING><![CDATA[Y]]></IDFKFILTERING>
<!--90034CAE96E847D78FBEF6D38CB1930D--></OBSERDS_DATASOURCE>
+<!--B30CFF398105498F89C739313FAF10C6--><OBSERDS_DATASOURCE>
+<!--B30CFF398105498F89C739313FAF10C6--> <OBSERDS_DATASOURCE_ID><![CDATA[B30CFF398105498F89C739313FAF10C6]]></OBSERDS_DATASOURCE_ID>
+<!--B30CFF398105498F89C739313FAF10C6--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B30CFF398105498F89C739313FAF10C6--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B30CFF398105498F89C739313FAF10C6--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--B30CFF398105498F89C739313FAF10C6--> <NAME><![CDATA[Manual Datasource for Business Partner Selector]]></NAME>
+<!--B30CFF398105498F89C739313FAF10C6--> <WHERECLAUSE><![CDATA[1=1) or 2=2]]></WHERECLAUSE>
+<!--B30CFF398105498F89C739313FAF10C6--> <CLASSNAME><![CDATA[org.openbravo.service.datasource.ManualDataSourceForSelector]]></CLASSNAME>
+<!--B30CFF398105498F89C739313FAF10C6--> <OBCLKER_TEMPLATE_ID><![CDATA[2BAD445C2A0343C58E455F9BD379C690]]></OBCLKER_TEMPLATE_ID>
+<!--B30CFF398105498F89C739313FAF10C6--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B30CFF398105498F89C739313FAF10C6--> <USEASTABLEDATAORIGIN><![CDATA[N]]></USEASTABLEDATAORIGIN>
+<!--B30CFF398105498F89C739313FAF10C6--> <IDFKFILTERING><![CDATA[Y]]></IDFKFILTERING>
+<!--B30CFF398105498F89C739313FAF10C6--></OBSERDS_DATASOURCE>
+
<!--BE2735798ECC4EF88D131F16F1C4EC72--><OBSERDS_DATASOURCE>
<!--BE2735798ECC4EF88D131F16F1C4EC72--> <OBSERDS_DATASOURCE_ID><![CDATA[BE2735798ECC4EF88D131F16F1C4EC72]]></OBSERDS_DATASOURCE_ID>
<!--BE2735798ECC4EF88D131F16F1C4EC72--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/OBUISEL_SELECTOR.xml b/src-db/database/sourcedata/OBUISEL_SELECTOR.xml
--- a/src-db/database/sourcedata/OBUISEL_SELECTOR.xml
+++ b/src-db/database/sourcedata/OBUISEL_SELECTOR.xml
@@ -201,6 +201,24 @@
<!--32CFC9EB6DD04FACA7452C20C39116F0--> <CUSTOM_QUERY><![CDATA[N]]></CUSTOM_QUERY>
<!--32CFC9EB6DD04FACA7452C20C39116F0--></OBUISEL_SELECTOR>
+<!--34880E65D2D648E28C2A6AD0B451ED70--><OBUISEL_SELECTOR>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <OBUISEL_SELECTOR_ID><![CDATA[34880E65D2D648E28C2A6AD0B451ED70]]></OBUISEL_SELECTOR_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <NAME><![CDATA[Manual Datasource Business Partner Selector]]></NAME>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <AD_REFERENCE_ID><![CDATA[D6444225F8854BE2B727E9C7408E332E]]></AD_REFERENCE_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <AD_TABLE_ID><![CDATA[291]]></AD_TABLE_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <OBSERDS_DATASOURCE_ID><![CDATA[B30CFF398105498F89C739313FAF10C6]]></OBSERDS_DATASOURCE_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <OBCLKER_TEMPLATE_ID><![CDATA[9314DE8599AD44E7BFC4CC50699042AB]]></OBCLKER_TEMPLATE_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <VALUEFIELD_ID><![CDATA[5B38C3078F8A461886586738103CF68E]]></VALUEFIELD_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <DISPLAYFIELD_ID><![CDATA[4F567ACDC50D4D3CBA0A34610130AA83]]></DISPLAYFIELD_ID>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <SUGGESTIONTEXTMATCHSTYLE><![CDATA[startsWith]]></SUGGESTIONTEXTMATCHSTYLE>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <POPUPTEXTMATCHSTYLE><![CDATA[startsWith]]></POPUPTEXTMATCHSTYLE>
+<!--34880E65D2D648E28C2A6AD0B451ED70--> <CUSTOM_QUERY><![CDATA[N]]></CUSTOM_QUERY>
+<!--34880E65D2D648E28C2A6AD0B451ED70--></OBUISEL_SELECTOR>
+
<!--34E8E3A0240B4252AABFF77D01B91EF3--><OBUISEL_SELECTOR>
<!--34E8E3A0240B4252AABFF77D01B91EF3--> <OBUISEL_SELECTOR_ID><![CDATA[34E8E3A0240B4252AABFF77D01B91EF3]]></OBUISEL_SELECTOR_ID>
<!--34E8E3A0240B4252AABFF77D01B91EF3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml b/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml
--- a/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml
+++ b/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml
@@ -1470,6 +1470,25 @@
<!--4EF51CFED3194C2CAF394CB3E8C9989B--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST>
<!--4EF51CFED3194C2CAF394CB3E8C9989B--></OBUISEL_SELECTOR_FIELD>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--><OBUISEL_SELECTOR_FIELD>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[4F567ACDC50D4D3CBA0A34610130AA83]]></OBUISEL_SELECTOR_FIELD_ID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <OBUISEL_SELECTOR_ID><![CDATA[34880E65D2D648E28C2A6AD0B451ED70]]></OBUISEL_SELECTOR_ID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <NAME><![CDATA[name]]></NAME>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <OBSERDS_DATASOURCE_FIELD_ID><![CDATA[4FED20F42BC44E9B94B3A8C971DCA091]]></OBSERDS_DATASOURCE_FIELD_ID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <SORT><![CDATA[Y]]></SORT>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <FILTER><![CDATA[Y]]></FILTER>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <SEARCHINSUGGESTIONBOX><![CDATA[Y]]></SEARCHINSUGGESTIONBOX>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <SHOWINGRID><![CDATA[Y]]></SHOWINGRID>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <SORTNO><![CDATA[0]]></SORTNO>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <ISOUTFIELD><![CDATA[N]]></ISOUTFIELD>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--> <SHOWINPICKLIST><![CDATA[Y]]></SHOWINPICKLIST>
+<!--4F567ACDC50D4D3CBA0A34610130AA83--></OBUISEL_SELECTOR_FIELD>
+
<!--4FDDBA2B3D0F4C1C8BF8831729ED51F8--><OBUISEL_SELECTOR_FIELD>
<!--4FDDBA2B3D0F4C1C8BF8831729ED51F8--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[4FDDBA2B3D0F4C1C8BF8831729ED51F8]]></OBUISEL_SELECTOR_FIELD_ID>
<!--4FDDBA2B3D0F4C1C8BF8831729ED51F8--> <OBUISEL_SELECTOR_ID><![CDATA[E8F1B0721E104D07AAC532290C951C37]]></OBUISEL_SELECTOR_ID>
@@ -1707,6 +1726,25 @@
<!--5B2FA3B98CF64853A30AAE19AC8C8B78--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST>
<!--5B2FA3B98CF64853A30AAE19AC8C8B78--></OBUISEL_SELECTOR_FIELD>
+<!--5B38C3078F8A461886586738103CF68E--><OBUISEL_SELECTOR_FIELD>
+<!--5B38C3078F8A461886586738103CF68E--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[5B38C3078F8A461886586738103CF68E]]></OBUISEL_SELECTOR_FIELD_ID>
+<!--5B38C3078F8A461886586738103CF68E--> <OBUISEL_SELECTOR_ID><![CDATA[34880E65D2D648E28C2A6AD0B451ED70]]></OBUISEL_SELECTOR_ID>
+<!--5B38C3078F8A461886586738103CF68E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--5B38C3078F8A461886586738103CF68E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--5B38C3078F8A461886586738103CF68E--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--5B38C3078F8A461886586738103CF68E--> <NAME><![CDATA[id]]></NAME>
+<!--5B38C3078F8A461886586738103CF68E--> <OBSERDS_DATASOURCE_FIELD_ID><![CDATA[CAD558A24E634A72B0A8B14AB9E0C4D6]]></OBSERDS_DATASOURCE_FIELD_ID>
+<!--5B38C3078F8A461886586738103CF68E--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--5B38C3078F8A461886586738103CF68E--> <SORT><![CDATA[Y]]></SORT>
+<!--5B38C3078F8A461886586738103CF68E--> <FILTER><![CDATA[Y]]></FILTER>
+<!--5B38C3078F8A461886586738103CF68E--> <SEARCHINSUGGESTIONBOX><![CDATA[N]]></SEARCHINSUGGESTIONBOX>
+<!--5B38C3078F8A461886586738103CF68E--> <SHOWINGRID><![CDATA[Y]]></SHOWINGRID>
+<!--5B38C3078F8A461886586738103CF68E--> <SORTNO><![CDATA[0]]></SORTNO>
+<!--5B38C3078F8A461886586738103CF68E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--5B38C3078F8A461886586738103CF68E--> <ISOUTFIELD><![CDATA[N]]></ISOUTFIELD>
+<!--5B38C3078F8A461886586738103CF68E--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST>
+<!--5B38C3078F8A461886586738103CF68E--></OBUISEL_SELECTOR_FIELD>
+
<!--5BA1C1AE73CD4E90AB66C381B3316306--><OBUISEL_SELECTOR_FIELD>
<!--5BA1C1AE73CD4E90AB66C381B3316306--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[5BA1C1AE73CD4E90AB66C381B3316306]]></OBUISEL_SELECTOR_FIELD_ID>
<!--5BA1C1AE73CD4E90AB66C381B3316306--> <OBUISEL_SELECTOR_ID><![CDATA[632F319DE1564495B3B5D710127DA6DC]]></OBUISEL_SELECTOR_ID>
|