diff --git a/org.idempiere.webservices/.project b/org.idempiere.webservices/.project index 06105d6c9b..a425c78d34 100644 --- a/org.idempiere.webservices/.project +++ b/org.idempiere.webservices/.project @@ -1,28 +1,33 @@ - - - org.idempiere.webservices - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - + + + org.idempiere.webservices + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.ds.core.builder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.idempiere.webservices/META-INF/MANIFEST.MF b/org.idempiere.webservices/META-INF/MANIFEST.MF index 5e220afd19..a7a41111a6 100644 --- a/org.idempiere.webservices/META-INF/MANIFEST.MF +++ b/org.idempiere.webservices/META-INF/MANIFEST.MF @@ -5,6 +5,7 @@ Bundle-SymbolicName: org.idempiere.webservices;singleton:=true Bundle-Version: 2.0.0.qualifier Bundle-Activator: org.idempiere.webservices.Activator Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Service-Component: OSGI-INF/ws_modelfactory.xml Import-Package: javax.activation;version="1.1.1", javax.mail.internet;version="1.4.5", javax.servlet;version="3.0.0", diff --git a/org.idempiere.webservices/OSGI-INF/ws_modelfactory.xml b/org.idempiere.webservices/OSGI-INF/ws_modelfactory.xml new file mode 100644 index 0000000000..6e9e86fe71 --- /dev/null +++ b/org.idempiere.webservices/OSGI-INF/ws_modelfactory.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServicePara.java b/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServicePara.java new file mode 100644 index 0000000000..e462453d66 --- /dev/null +++ b/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServicePara.java @@ -0,0 +1,85 @@ +/*********************************************************************** + * This file is part of iDempiere ERP Bazaar * + * http://www.idempiere.org * + * * + * Copyright (C) Carlos Ruiz - globalqss * + * Copyright (C) Contributors * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License * + * as published by the Free Software Foundation; either version 2 * + * of the License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301, USA. * + * * + * Contributors: * + * - Carlos Ruiz (globalqss@users.sourceforge.net) * + * * + * Sponsors: * + * - GlobalQSS (http://www.globalqss.com) * + ***********************************************************************/ + +package org.compiere.model; + +import java.sql.ResultSet; +import java.util.Properties; + +/** + * Web Services Parameters Model + * + * @author Carlos Ruiz + */ +public class MWebServicePara extends X_WS_WebService_Para +{ + /** + * + */ + private static final long serialVersionUID = 3561409141850981248L; + + /************************************************************************** + * Standard Constructor + * @param ctx context + * @param WS_WebService_Para_ID + * @param trxName transaction + */ + public MWebServicePara (Properties ctx, int WS_WebService_Para_ID, String trxName) + { + super (ctx, WS_WebService_Para_ID, trxName); + /** if (WS_WebService_Para_ID == 0) + { + setName (null); + setValue (null); + WS_WebService_Para_ID (0); + } */ + } // MWebServicePara + + /** + * Load Constructor + * @param ctx context + * @param rs result set + * @param trxName transaction + */ + public MWebServicePara (Properties ctx, ResultSet rs, String trxName) + { + super(ctx, rs, trxName); + } // MWebServicePara + + @Override + protected boolean beforeSave(boolean newRecord) { + if ( "Filter".equalsIgnoreCase(getParameterName()) + && PARAMETERTYPE_Free.equals(getParameterType())) { + log.saveError("Error", "Type Free not allowed for parameter Filter (security issue)"); // IDEMPIERE-1784 + return false; + } + return true; + } + +} // MWebServicePara diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/WS_ModelFactory.java b/org.idempiere.webservices/WEB-INF/src/org/compiere/model/WS_ModelFactory.java new file mode 100644 index 0000000000..c6717de2de --- /dev/null +++ b/org.idempiere.webservices/WEB-INF/src/org/compiere/model/WS_ModelFactory.java @@ -0,0 +1,69 @@ +/********************************************************************** +* This file is part of iDempiere ERP Open Source * +* http://www.idempiere.org * +* * +* Copyright (C) Contributors * +* * +* This program is free software; you can redistribute it and/or * +* modify it under the terms of the GNU General Public License * +* as published by the Free Software Foundation; either version 2 * +* of the License, or (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the Free Software * +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * +* MA 02110-1301, USA. * +* * +* Contributors: * +* - Carlos Ruiz - globalqss * +**********************************************************************/ + +package org.compiere.model; + +import java.sql.ResultSet; + +import org.adempiere.base.IModelFactory; +import org.compiere.model.PO; +import org.compiere.util.Env; + +public class WS_ModelFactory implements IModelFactory { + + @Override + public Class getClass(String tableName) { + if (X_WS_WebService_Para.Table_Name.equals(tableName)) + return MWebServicePara.class; + if (X_WS_WebServiceType.Table_Name.equals(tableName)) + return MWebServiceType.class; + if (X_WS_WebService.Table_Name.equals(tableName)) + return MWebService.class; + return null; + } + + @Override + public PO getPO(String tableName, int Record_ID, String trxName) { + if (X_WS_WebService_Para.Table_Name.equals(tableName)) + return new MWebServicePara(Env.getCtx(), Record_ID, trxName); + if (X_WS_WebServiceType.Table_Name.equals(tableName)) + return new MWebServiceType(Env.getCtx(), Record_ID, trxName); + if (X_WS_WebService.Table_Name.equals(tableName)) + return new MWebService(Env.getCtx(), Record_ID, trxName); + return null; + } + + @Override + public PO getPO(String tableName, ResultSet rs, String trxName) { + if (X_WS_WebService_Para.Table_Name.equals(tableName)) + return new MWebServicePara(Env.getCtx(), rs, trxName); + if (X_WS_WebServiceType.Table_Name.equals(tableName)) + return new MWebServiceType(Env.getCtx(), rs, trxName); + if (X_WS_WebService.Table_Name.equals(tableName)) + return new MWebService(Env.getCtx(), rs, trxName); + return null; + } + +}