diff --git a/org.adempiere.base/src/org/adempiere/base/AbstractModelFactory.java b/org.adempiere.base/src/org/adempiere/base/AbstractModelFactory.java index 195ee58621..6b76613196 100644 --- a/org.adempiere.base/src/org/adempiere/base/AbstractModelFactory.java +++ b/org.adempiere.base/src/org/adempiere/base/AbstractModelFactory.java @@ -42,7 +42,10 @@ public abstract class AbstractModelFactory implements IModelFactory { */ @Override public PO getPO(String tableName, int Record_ID, String trxName) { - Class clazz = getClass(tableName); + return getPO(getClass(tableName), tableName, Record_ID, trxName); + } + + public static PO getPO(Class clazz, String tableName, int Record_ID, String trxName) { if (clazz == null) { return null; @@ -97,7 +100,10 @@ public abstract class AbstractModelFactory implements IModelFactory { */ @Override public PO getPO(String tableName, ResultSet rs, String trxName) { - Class clazz = getClass(tableName); + return getPO(getClass(tableName), tableName, rs, trxName); + } + + public static PO getPO(Class clazz, String tableName, ResultSet rs, String trxName) { if (clazz == null) { return null; diff --git a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedColumnCalloutFactory.java b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedColumnCalloutFactory.java index 364eadceac..98fcbe021e 100644 --- a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedColumnCalloutFactory.java +++ b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedColumnCalloutFactory.java @@ -43,15 +43,15 @@ import org.osgi.service.component.annotations.Activate; import io.github.classgraph.AnnotationInfo; import io.github.classgraph.AnnotationInfoList; import io.github.classgraph.ClassGraph; +import io.github.classgraph.ClassGraph.ScanResultProcessor; import io.github.classgraph.ClassInfo; -import io.github.classgraph.ScanResult; /** * * @author hengsin * */ -public abstract class AnnotationBasedColumnCalloutFactory implements IColumnCalloutFactory { +public abstract class AnnotationBasedColumnCalloutFactory extends AnnotationBasedFactory implements IColumnCalloutFactory { private final static CLogger s_log = CLogger.getCLogger(AnnotationBasedColumnCalloutFactory.class); @@ -67,6 +67,7 @@ public abstract class AnnotationBasedColumnCalloutFactory implements IColumnCall @Override public IColumnCallout[] getColumnCallouts(String tableName, String columnName) { + blockWhileScanning(); List callouts = new ArrayList(); ClassLoader classLoader = bundleContext.getBundle().adapt(BundleWiring.class).getClassLoader(); Map> columnNameMap = tableNameMap.get(tableName); @@ -148,7 +149,7 @@ public abstract class AnnotationBasedColumnCalloutFactory implements IColumnCall .disableModuleScanning() .acceptPackagesNonRecursive(getPackages()); - try (ScanResult scanResult = graph.scan()) { + ScanResultProcessor scanResultProcessor = scanResult -> { List processed = new ArrayList(); for (ClassInfo classInfo : scanResult.getClassesWithAnnotation(Callouts.class)) { if (classInfo.isAbstract()) @@ -169,11 +170,13 @@ public abstract class AnnotationBasedColumnCalloutFactory implements IColumnCall AnnotationInfo annotationInfo = classInfo.getAnnotationInfo(Callout.class); processAnnotation(className, annotationInfo); } - } - long end = System.currentTimeMillis(); - if (s_log.isLoggable(Level.INFO)) - s_log.info(this.getClass().getSimpleName() + " loaded "+tableNameMap.size() +" classes in " - +((end-start)/1000f) + "s"); + signalScanCompletion(true); + long end = System.currentTimeMillis(); + s_log.info(() -> this.getClass().getSimpleName() + " loaded "+tableNameMap.size() +" classes in " + + ((end-start)/1000f) + "s"); + }; + + graph.scanAsync(getExecutorService(), getMaxThreads(), scanResultProcessor, getScanFailureHandler()); } private void processAnnotation(String className, AnnotationInfo annotationInfo) { diff --git a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedEventManager.java b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedEventManager.java index 82f25b39b0..311baca451 100644 --- a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedEventManager.java +++ b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedEventManager.java @@ -61,15 +61,15 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer; import io.github.classgraph.AnnotationClassRef; import io.github.classgraph.AnnotationInfo; import io.github.classgraph.ClassGraph; +import io.github.classgraph.ClassGraph.ScanResultProcessor; import io.github.classgraph.ClassInfo; -import io.github.classgraph.ScanResult; /** * Scan, discover and register classes with {@link EventTopicDelegate} annotation * @author hengsin * */ -public abstract class AnnotationBasedEventManager { +public abstract class AnnotationBasedEventManager extends AnnotationBasedFactory { private static final CLogger s_log = CLogger.getCLogger(AnnotationBasedEventManager.class); @@ -150,7 +150,7 @@ public abstract class AnnotationBasedEventManager { .disableModuleScanning() .acceptPackagesNonRecursive(getPackages()); - try (ScanResult scanResult = graph.scan()) + ScanResultProcessor scanResultProcessor = scanResult -> { for (ClassInfo classInfo : scanResult.getClassesWithAnnotation(EventTopicDelegate.class)) { if (classInfo.isAbstract()) @@ -171,12 +171,13 @@ public abstract class AnnotationBasedEventManager { simpleEventDelegate(classLoader, className, filter); } } - } - long end = System.currentTimeMillis(); - if (s_log.isLoggable(Level.INFO)) - s_log.info(this.getClass().getSimpleName() + " loaded "+handlers.size() +" classes in " - +((end-start)/1000f) + "s"); - + long end = System.currentTimeMillis(); + s_log.info(() -> this.getClass().getSimpleName() + " loaded " + handlers.size() + " classes in " + + ((end-start)/1000f) + "s"); + signalScanCompletion(true); + }; + + graph.scanAsync(getExecutorService(), getMaxThreads(), scanResultProcessor, getScanFailureHandler()); } private void simpleEventDelegate(ClassLoader classLoader, String className, String filter) { diff --git a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedFactory.java b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedFactory.java new file mode 100644 index 0000000000..9083b0d445 --- /dev/null +++ b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedFactory.java @@ -0,0 +1,116 @@ +/****************************************************************************** + * Product: iDempiere ERP & CRM Smart Business Solution * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. 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., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + *****************************************************************************/ +package org.adempiere.base; + +import java.time.Duration; +import java.time.Instant; +import java.util.Properties; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.compiere.Adempiere; +import org.compiere.util.CLogger; +import org.compiere.util.Ini; + +import io.github.classgraph.ClassGraph.FailureHandler; + +/** + * Base class for factories that discover their classes by means of annotation scanning. + * @author Saulo Gil + */ +public abstract class AnnotationBasedFactory { + + private boolean scanSuccessful; + + private final AtomicBoolean scanCompleted = new AtomicBoolean(false); + + /** + * Bogus {@link Future} used only to block the calling thread. + * @see #blockWhileScanning() + */ + private CompletableFuture threadBlockerFuture = new CompletableFuture<>(); + + /** + * {@link Executor} to be used for asynchronous class scanning. It never gets shut down + * since there's no way to tell when it wouldn't be needed anymore. However, footprint + * should be minimal when unused. + */ + private static final ExecutorService executorService = Executors.newCachedThreadPool(); + + private final static CLogger s_log = CLogger.getCLogger(AnnotationBasedFactory.class); + + private final FailureHandler defaultScanFailureHandler = throwable -> { + s_log.severe(throwable.getMessage()); + signalScanCompletion(false); + }; + + protected void signalScanCompletion(boolean succeeded) { + scanSuccessful = succeeded; + scanCompleted.set(true); + try { + threadBlockerFuture.complete(null); + } catch (Exception e) { } + } + + protected void blockWhileScanning() { + String className = this.getClass().getSimpleName(); + if(!scanCompleted.get()) + try { + Instant start = Instant.now(); + threadBlockerFuture.get(); + s_log.fine(() -> String.format("%s waited %d(ms) for class scanning to end" + , className, Duration.between(start, Instant.now()).toMillis())); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + + if(!scanSuccessful) + throw new RuntimeException(className + " - annotation scan unsuccessful"); + } + + protected ExecutorService getExecutorService() { + return executorService; + } + + /** + * Suggests a maximum amount of threads to be allocated to annotation scanning + * for each individual factory. + * @return suggested maximum amount of threads + * @see #executorService + * @see Adempiere#getThreadPoolExecutor() + */ + protected int getMaxThreads() { + int max = Runtime.getRuntime().availableProcessors() * 5; + int defaultMax = max; + Properties properties = Ini.getProperties(); + String maxSize = properties.getProperty("MaxThreadPoolSize"); + if (maxSize != null) { + try { + max = Integer.parseInt(maxSize) / 5; + } catch (Exception e) {} + } + if (max <= 0) + max = defaultMax; + return max; + } + + protected FailureHandler getScanFailureHandler() { + return defaultScanFailureHandler; + } + +} \ No newline at end of file diff --git a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedModelFactory.java b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedModelFactory.java index 1cbb36d130..9cab9f38ea 100644 --- a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedModelFactory.java +++ b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedModelFactory.java @@ -12,10 +12,11 @@ *****************************************************************************/ package org.adempiere.base; +import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; -import java.util.logging.Level; - +import java.util.function.BiConsumer; +import org.compiere.model.PO; import org.compiere.util.CLogger; import org.osgi.framework.wiring.BundleWiring; import org.osgi.service.component.ComponentContext; @@ -24,6 +25,7 @@ import org.osgi.service.component.annotations.Component; import io.github.classgraph.AnnotationInfo; import io.github.classgraph.ClassGraph; +import io.github.classgraph.ClassGraph.ScanResultProcessor; import io.github.classgraph.ClassInfo; import io.github.classgraph.ClassInfoList; import io.github.classgraph.ScanResult; @@ -37,7 +39,7 @@ import io.github.classgraph.ScanResult; * @author Heng Sin */ @Component(immediate = true, service = IModelFactory.class, property = {"service.ranking:Integer=0"}) -public class AnnotationBasedModelFactory extends AbstractModelFactory implements IModelFactory +public class AnnotationBasedModelFactory extends AnnotationBasedFactory implements IModelFactory { /** * Table name to class cache @@ -106,43 +108,75 @@ public class AnnotationBasedModelFactory extends AbstractModelFactory implements graph.acceptClasses(acceptClasses); } - try (ScanResult scanResult = graph.scan()) - { + ScanResultProcessor scanResultProcessor = scanResult -> { + try { + processResults(classLoader, scanResult); + } catch (Exception e) { + s_log.severe("exception found while scanning classes" + e.getMessage()); + signalScanCompletion(false); + return; + } + long end = System.currentTimeMillis(); + s_log.info(() -> this.getClass().getSimpleName() + " loaded " + classCache.size() + " classes in " + + ((end-start)/1000f) + "s"); + signalScanCompletion(true); + }; - for (ClassInfo classInfo : scanResult.getClassesWithAnnotation(Model.class)) { - String className = classInfo.getName(); - AnnotationInfo annotationInfo = classInfo.getAnnotationInfo(Model.class); - String tableName = (String) annotationInfo.getParameterValues().getValue("table"); + graph.scanAsync(getExecutorService(), getMaxThreads(), scanResultProcessor, getScanFailureHandler()); + } - Class existing = classCache.get(tableName); + private void processResults(ClassLoader classLoader, ScanResult scanResult ) { + BiConsumer exceptionHandler = (className, exception) -> + s_log.severe(String.format("exception while loading class %s - %s", className, exception.getMessage())); - // try to detect M classes only if we found an X class - if(existing == null && className.substring(className.lastIndexOf(".")).startsWith(".X")) { - ClassInfoList subclasses = classInfo.getSubclasses().directOnly(); - while(!subclasses.isEmpty()) { - className = subclasses.get(0).getName(); - subclasses = subclasses.get(0).getSubclasses().directOnly(); - } + for (ClassInfo classInfo : scanResult.getClassesWithAnnotation(Model.class)) { + String className = classInfo.getName(); + + AnnotationInfo annotationInfo = classInfo.getAnnotationInfo(Model.class); + String tableName = (String) annotationInfo.getParameterValues().getValue("table"); + + Class existing = classCache.get(tableName); + + // try to detect M classes only if we found an X class + if(existing == null && className.substring(className.lastIndexOf(".")).startsWith(".X")) { + ClassInfoList subclasses = classInfo.getSubclasses().directOnly(); + while(!subclasses.isEmpty()) { + className = subclasses.get(0).getName(); + subclasses = subclasses.get(0).getSubclasses().directOnly(); } - - if(existing==null) { - classCache.put(tableName, classLoader.loadClass(className)); - } else if (className.substring(className.lastIndexOf(".")).startsWith(".M")) { - if(existing.getSimpleName().startsWith("X_")) { - classCache.put(tableName, classLoader.loadClass(className)); - } else { - Class found = classLoader.loadClass(className); - // replace existing entries only if found class has a lower hierarchy - if(existing.isAssignableFrom(found)) - classCache.put(tableName, classLoader.loadClass(className)); - } - } - } - } - long end = System.currentTimeMillis(); - if (s_log.isLoggable(Level.INFO)) - s_log.info(this.getClass().getSimpleName() + " loaded "+classCache.size() +" classes in " - +((end-start)/1000f) + "s"); + } + + + if(existing==null) { + try { + classCache.put(tableName, classLoader.loadClass(className)); + } catch (ClassNotFoundException e) { + exceptionHandler.accept(className, e); + } + } else if (className.substring(className.lastIndexOf(".")).startsWith(".M")) { + if(existing.getSimpleName().startsWith("X_")) { + try { + classCache.put(tableName, classLoader.loadClass(className)); + } catch (ClassNotFoundException e) { + exceptionHandler.accept(className, e); + } + } else { + Class found = null; + try { + found = classLoader.loadClass(className); + } catch (ClassNotFoundException e) { + exceptionHandler.accept(className, e); + } + // replace existing entries only if found class has a lower hierarchy + if(found != null && existing.isAssignableFrom(found)) + try { + classCache.put(tableName, classLoader.loadClass(className)); + } catch (ClassNotFoundException e) { + exceptionHandler.accept(className, e); + } + } + } + } } /** @@ -150,6 +184,7 @@ public class AnnotationBasedModelFactory extends AbstractModelFactory implements */ @Override public Class getClass(String tableName) { + blockWhileScanning(); return classCache.get(tableName); } @@ -161,4 +196,20 @@ public class AnnotationBasedModelFactory extends AbstractModelFactory implements return getClass().equals(AnnotationBasedModelFactory.class); } + /** + * {@inheritDoc} + */ + @Override + public PO getPO(String tableName, int Record_ID, String trxName) { + return AbstractModelFactory.getPO(getClass(tableName), tableName, Record_ID, trxName); + } + + /** + * {@inheritDoc} + */ + @Override + public PO getPO(String tableName, ResultSet rs, String trxName) { + return AbstractModelFactory.getPO(getClass(tableName), tableName, rs, trxName); + } + } \ No newline at end of file diff --git a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedProcessFactory.java b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedProcessFactory.java index e07a266a4e..fa18817f56 100644 --- a/org.adempiere.base/src/org/adempiere/base/AnnotationBasedProcessFactory.java +++ b/org.adempiere.base/src/org/adempiere/base/AnnotationBasedProcessFactory.java @@ -40,8 +40,8 @@ import org.osgi.service.component.annotations.Activate; import io.github.classgraph.AnnotationInfo; import io.github.classgraph.ClassGraph; +import io.github.classgraph.ClassGraph.ScanResultProcessor; import io.github.classgraph.ClassInfo; -import io.github.classgraph.ScanResult; /** * Scan, discover and register process classes. @@ -51,7 +51,7 @@ import io.github.classgraph.ScanResult; * @author hengsin * */ -public abstract class AnnotationBasedProcessFactory implements IProcessFactory +public abstract class AnnotationBasedProcessFactory extends AnnotationBasedFactory implements IProcessFactory { /** * Name to class cache @@ -88,8 +88,7 @@ public abstract class AnnotationBasedProcessFactory implements IProcessFactory String[] packages = getPackages(); graph.acceptPackagesNonRecursive(packages); - try (ScanResult scanResult = graph.scan()) { - + ScanResultProcessor scanResultProcessor = scanResult -> { for (ClassInfo classInfo : scanResult.getClassesWithAnnotation(Process.class)) { if (classInfo.isAbstract()) continue; @@ -103,16 +102,19 @@ public abstract class AnnotationBasedProcessFactory implements IProcessFactory if (alternateName != null) classCache.put(alternateName, className); } - } - long end = System.currentTimeMillis(); - if (s_log.isLoggable(Level.INFO)) - s_log.info(this.getClass().getSimpleName() + " loaded "+classCache.size() +" classes in " - +((end-start)/1000f) + "s"); + long end = System.currentTimeMillis(); + s_log.info(() -> this.getClass().getSimpleName() + " loaded " + classCache.size() + " classes in " + + ((end-start)/1000f) + "s"); + signalScanCompletion(true); + }; + + graph.scanAsync(getExecutorService(), getMaxThreads(), scanResultProcessor, getScanFailureHandler()); } @SuppressWarnings("unchecked") @Override public ProcessCall newProcessInstance(String className) { + blockWhileScanning(); ProcessCall pc = null; String realClassName = classCache.get(className); if (realClassName != null) { diff --git a/org.adempiere.base/src/org/adempiere/base/annotation/Parameter.java b/org.adempiere.base/src/org/adempiere/base/annotation/Parameter.java index d902560553..9412a0acf4 100644 --- a/org.adempiere.base/src/org/adempiere/base/annotation/Parameter.java +++ b/org.adempiere.base/src/org/adempiere/base/annotation/Parameter.java @@ -15,7 +15,6 @@ package org.adempiere.base.annotation; import static java.lang.annotation.RetentionPolicy.RUNTIME; import static java.lang.annotation.ElementType.FIELD; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.Target; diff --git a/org.adempiere.base/src/org/compiere/util/CLogErrorBuffer.java b/org.adempiere.base/src/org/compiere/util/CLogErrorBuffer.java index b9f0c49d74..92d3013ff3 100644 --- a/org.adempiere.base/src/org/compiere/util/CLogErrorBuffer.java +++ b/org.adempiere.base/src/org/compiere/util/CLogErrorBuffer.java @@ -225,16 +225,17 @@ public class CLogErrorBuffer extends Handler && loggerName.indexOf("CConnection") == -1 ) { - try - { - MIssue.create(record); - } - catch (Throwable e) - { - //failed to save exception to db, print to console - System.err.println(getFormatter().format(record)); - setIssueError(false); - } + // create issue on a separate thread in order to eventually + // wait until all model factories are initialized + new Thread(() -> { + try { + MIssue.create(record); + } catch (Throwable e) { + // failed to save exception to db, print to console + System.err.println(getFormatter().format(record)); + setIssueError(false); + } + }).start(); } else { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java index 9a3a30e4fd..a3d3992168 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/AnnotationBasedFormFactory.java @@ -30,6 +30,7 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; +import org.adempiere.base.AnnotationBasedFactory; import org.adempiere.webui.panel.ADForm; import org.adempiere.webui.panel.IFormController; import org.compiere.util.CLogger; @@ -42,15 +43,15 @@ import org.osgi.service.component.annotations.Activate; import io.github.classgraph.AnnotationInfo; import io.github.classgraph.ClassGraph; +import io.github.classgraph.ClassGraph.ScanResultProcessor; import io.github.classgraph.ClassInfo; -import io.github.classgraph.ScanResult; /** * Scan, discover and regiser classes with {@link Form} annotation. * @author hengsin * */ -public abstract class AnnotationBasedFormFactory implements IFormFactory { +public abstract class AnnotationBasedFormFactory extends AnnotationBasedFactory implements IFormFactory { private final Map classCache = new HashMap<>(); @@ -65,6 +66,7 @@ public abstract class AnnotationBasedFormFactory implements IFormFactory { @Override public ADForm newFormInstance(String formName) { + blockWhileScanning(); ADForm form = null; String realClassName = classCache.get(formName); if (realClassName != null) { @@ -139,9 +141,7 @@ public abstract class AnnotationBasedFormFactory implements IFormFactory { .disableModuleScanning() .acceptPackagesNonRecursive(getPackages()); - try (ScanResult scanResult = graph.scan()) - { - + ScanResultProcessor scanResultProcessor = scanResult -> { for (ClassInfo classInfo : scanResult.getClassesWithAnnotation(Form.class)) { if (classInfo.isAbstract()) continue; @@ -153,10 +153,13 @@ public abstract class AnnotationBasedFormFactory implements IFormFactory { if (!Util.isEmpty(alternateName, true)) classCache.put(alternateName, className); } - } - long end = System.currentTimeMillis(); - if (s_log.isLoggable(Level.INFO)) - s_log.info(this.getClass().getSimpleName() + " loaded "+classCache.size() +" classes in " - +((end-start)/1000f) + "s"); + long end = System.currentTimeMillis(); + s_log.info(() -> this.getClass().getSimpleName() + " loaded " + classCache.size() + " classes in " + + ((end-start)/1000f) + "s"); + signalScanCompletion(true); + }; + + graph.scanAsync(getExecutorService(), getMaxThreads(), scanResultProcessor, getScanFailureHandler()); } + } diff --git a/org.idempiere.webservices/META-INF/MANIFEST.MF b/org.idempiere.webservices/META-INF/MANIFEST.MF index b0255a14e2..20c2a360a3 100644 --- a/org.idempiere.webservices/META-INF/MANIFEST.MF +++ b/org.idempiere.webservices/META-INF/MANIFEST.MF @@ -110,7 +110,7 @@ Require-Bundle: org.adempiere.base;bundle-version="0.0.0", org.codehaus.jettison.jettison;bundle-version="1.4.1" Bundle-ClassPath: ., lib/idempiere-xmlbeans.jar -Export-Package: org.compiere.model, +Export-Package: org.idempiere.webservices.model, org.idempiere.adInterface.x10, org.idempiere.adInterface.x10.impl, org.idempiere.adinterface, diff --git a/org.idempiere.webservices/OSGI-INF/org.compiere.model.WS_ModelFactory.xml b/org.idempiere.webservices/OSGI-INF/org.compiere.model.WS_ModelFactory.xml index 92da8611a8..7421a2e8bd 100644 --- a/org.idempiere.webservices/OSGI-INF/org.compiere.model.WS_ModelFactory.xml +++ b/org.idempiere.webservices/OSGI-INF/org.compiere.model.WS_ModelFactory.xml @@ -4,5 +4,5 @@ - + \ No newline at end of file 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 cf587196fe..044d2505e0 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 @@ -55,11 +55,10 @@ import org.compiere.model.MRefTable; import org.compiere.model.MReference; import org.compiere.model.MRole; import org.compiere.model.MTable; -import org.compiere.model.MWebServiceType; import org.compiere.model.PO; import org.compiere.model.POInfo; -import org.compiere.model.X_WS_WebServiceFieldInput; -import org.compiere.model.X_WS_WebService_Para; +import org.idempiere.webservices.model.X_WS_WebServiceFieldInput; +import org.idempiere.webservices.model.X_WS_WebService_Para; import org.compiere.util.CLogger; import org.compiere.util.DB; import org.compiere.util.DisplayType; @@ -93,6 +92,7 @@ import org.idempiere.adInterface.x10.WindowTabDataDocument; import org.idempiere.webservices.AbstractService; import org.idempiere.webservices.IWSValidator; import org.idempiere.webservices.fault.IdempiereServiceFault; +import org.idempiere.webservices.model.MWebServiceType; /* * ADEMPIERE/COMPIERE 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 3a15d72a39..650a457f66 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 @@ -34,13 +34,11 @@ import org.adempiere.exceptions.AdempiereException; import org.apache.commons.codec.binary.Base64; import org.compiere.model.Lookup; import org.compiere.model.MUser; -import org.compiere.model.MWebService; -import org.compiere.model.MWebServiceType; import org.compiere.model.PO; import org.compiere.model.POInfo; import org.compiere.model.Query; -import org.compiere.model.X_WS_WebServiceMethod; -import org.compiere.model.X_WS_WebServiceTypeAccess; +import org.idempiere.webservices.model.X_WS_WebServiceMethod; +import org.idempiere.webservices.model.X_WS_WebServiceTypeAccess; import org.compiere.util.CCache; import org.compiere.util.DB; import org.compiere.util.Env; @@ -57,6 +55,8 @@ import org.idempiere.adInterface.x10.StandardResponseDocument; import org.idempiere.adinterface.CompiereService; import org.idempiere.cache.ImmutablePOCache; import org.idempiere.webservices.fault.IdempiereServiceFault; +import org.idempiere.webservices.model.MWebService; +import org.idempiere.webservices.model.MWebServiceType; diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/IWSValidator.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/IWSValidator.java index ff5f60ebd3..63b01b2493 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/IWSValidator.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/IWSValidator.java @@ -16,10 +16,9 @@ package org.idempiere.webservices; import java.util.Map; import java.util.Properties; -import org.compiere.model.MWebServiceType; import org.compiere.model.PO; import org.idempiere.webservices.fault.IdempiereServiceFault; - +import org.idempiere.webservices.model.MWebServiceType; import org.idempiere.adInterface.x10.ADLoginRequest; import org.idempiere.adInterface.x10.DataField; diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebService.java similarity index 99% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebService.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebService.java index 1fbe2f60fd..a9e85053be 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebService.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceFieldInput.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceFieldInput.java similarity index 98% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebServiceFieldInput.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceFieldInput.java index e30a26ea49..2014f0a6af 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceFieldInput.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceFieldInput.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; @@ -227,5 +227,5 @@ public interface I_WS_WebServiceFieldInput /** Get Web Service Type */ public int getWS_WebServiceType_ID(); - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; } diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceFieldOutput.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceFieldOutput.java similarity index 97% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebServiceFieldOutput.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceFieldOutput.java index 57f6749945..3edf9dd67e 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceFieldOutput.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceFieldOutput.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; @@ -149,5 +149,5 @@ public interface I_WS_WebServiceFieldOutput /** Get Web Service Type */ public int getWS_WebServiceType_ID(); - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; } diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceMethod.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceMethod.java similarity index 97% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebServiceMethod.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceMethod.java index d758a6e2f2..85cfa0a46a 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceMethod.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceMethod.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; @@ -168,7 +168,7 @@ public interface I_WS_WebServiceMethod /** Get Web Service */ public int getWS_WebService_ID(); - public org.compiere.model.I_WS_WebService getWS_WebService() throws RuntimeException; + public I_WS_WebService getWS_WebService() throws RuntimeException; /** Column name WS_WebServiceMethod_ID */ public static final String COLUMNNAME_WS_WebServiceMethod_ID = "WS_WebServiceMethod_ID"; diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceType.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceType.java similarity index 96% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebServiceType.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceType.java index d12d46f30e..ad36921286 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceType.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceType.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; @@ -192,7 +192,7 @@ public interface I_WS_WebServiceType /** Get Web Service */ public int getWS_WebService_ID(); - public org.compiere.model.I_WS_WebService getWS_WebService() throws RuntimeException; + public I_WS_WebService getWS_WebService() throws RuntimeException; /** Column name WS_WebServiceMethod_ID */ public static final String COLUMNNAME_WS_WebServiceMethod_ID = "WS_WebServiceMethod_ID"; @@ -203,7 +203,7 @@ public interface I_WS_WebServiceType /** Get Web Service Method */ public int getWS_WebServiceMethod_ID(); - public org.compiere.model.I_WS_WebServiceMethod getWS_WebServiceMethod() throws RuntimeException; + public I_WS_WebServiceMethod getWS_WebServiceMethod() throws RuntimeException; /** Column name WS_WebServiceType_ID */ public static final String COLUMNNAME_WS_WebServiceType_ID = "WS_WebServiceType_ID"; diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceTypeAccess.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceTypeAccess.java similarity index 97% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebServiceTypeAccess.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceTypeAccess.java index 582e8ad966..00ebe0b23b 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebServiceTypeAccess.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebServiceTypeAccess.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; @@ -153,5 +153,5 @@ public interface I_WS_WebServiceTypeAccess /** Get Web Service Type */ public int getWS_WebServiceType_ID(); - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; } diff --git a/org.adempiere.base/src/org/compiere/model/I_WS_WebService_Para.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebService_Para.java similarity index 97% rename from org.adempiere.base/src/org/compiere/model/I_WS_WebService_Para.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebService_Para.java index bbd1f0d68c..e4d01dfda9 100644 --- a/org.adempiere.base/src/org/compiere/model/I_WS_WebService_Para.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/I_WS_WebService_Para.java @@ -14,7 +14,7 @@ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.math.BigDecimal; import java.sql.Timestamp; @@ -165,5 +165,5 @@ public interface I_WS_WebService_Para /** Get Web Service Type */ public int getWS_WebServiceType_ID(); - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException; } diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebService.java similarity index 99% rename from org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebService.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebService.java index 16202fe73d..abf8f88c0d 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebService.java @@ -27,7 +27,7 @@ * - GlobalQSS (http://www.globalqss.com) * ***********************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.PreparedStatement; import java.sql.ResultSet; diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServiceMethod.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServiceMethod.java similarity index 98% rename from org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServiceMethod.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServiceMethod.java index 87bd66c9b9..c861f2449f 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServiceMethod.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServiceMethod.java @@ -23,7 +23,7 @@ * - Trek Global Corporation * * - Heng Sin Low * **********************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServicePara.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServicePara.java similarity index 98% rename from org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServicePara.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServicePara.java index 3f91f905f6..1706366b4d 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServicePara.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServicePara.java @@ -27,7 +27,7 @@ * - GlobalQSS (http://www.globalqss.com) * ***********************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServiceType.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServiceType.java similarity index 98% rename from org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServiceType.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServiceType.java index 292e785918..5ede04a38a 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/MWebServiceType.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/MWebServiceType.java @@ -27,7 +27,7 @@ * - GlobalQSS (http://www.globalqss.com) * ***********************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.ArrayList; @@ -37,6 +37,9 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import org.compiere.model.MColumn; +import org.compiere.model.MTable; +import org.compiere.model.Query; import org.compiere.util.CLogger; import org.compiere.util.DB; import org.compiere.util.Env; diff --git a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/WS_ModelFactory.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/WS_ModelFactory.java similarity index 98% rename from org.idempiere.webservices/WEB-INF/src/org/compiere/model/WS_ModelFactory.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/WS_ModelFactory.java index a6201442b7..6804ce83cc 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/compiere/model/WS_ModelFactory.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/WS_ModelFactory.java @@ -23,7 +23,7 @@ * - Carlos Ruiz - globalqss * **********************************************************************/ -package org.compiere.model; +package org.idempiere.webservices.model; import org.adempiere.base.AnnotationBasedModelFactory; import org.adempiere.base.IModelFactory; diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebService.java similarity index 97% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebService.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebService.java index 0b606a741d..f32cf0560b 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebService.java @@ -15,10 +15,14 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; + +import org.compiere.model.I_Persistent; +import org.compiere.model.PO; +import org.compiere.model.POInfo; import org.compiere.util.KeyNamePair; /** Generated Model for WS_WebService diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceFieldInput.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceFieldInput.java similarity index 96% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebServiceFieldInput.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceFieldInput.java index 0f6152a992..9f6513a57b 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceFieldInput.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceFieldInput.java @@ -15,10 +15,15 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; + +import org.compiere.model.I_Persistent; +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.POInfo; import org.compiere.util.KeyNamePair; /** Generated Model for WS_WebServiceFieldInput @@ -280,9 +285,9 @@ public class X_WS_WebServiceFieldInput extends PO implements I_WS_WebServiceFiel return (String)get_Value(COLUMNNAME_WS_WebServiceFieldInput_UU); } - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException { - return (org.compiere.model.I_WS_WebServiceType)MTable.get(getCtx(), org.compiere.model.I_WS_WebServiceType.Table_ID) + return (I_WS_WebServiceType)MTable.get(getCtx(), I_WS_WebServiceType.Table_ID) .getPO(getWS_WebServiceType_ID(), get_TrxName()); } diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceFieldOutput.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceFieldOutput.java similarity index 94% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebServiceFieldOutput.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceFieldOutput.java index 46f8e69d2d..3f0fc8e331 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceFieldOutput.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceFieldOutput.java @@ -15,10 +15,15 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; + +import org.compiere.model.I_Persistent; +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.POInfo; import org.compiere.util.KeyNamePair; /** Generated Model for WS_WebServiceFieldOutput @@ -143,9 +148,9 @@ public class X_WS_WebServiceFieldOutput extends PO implements I_WS_WebServiceFie return (String)get_Value(COLUMNNAME_WS_WebServiceFieldOutput_UU); } - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException { - return (org.compiere.model.I_WS_WebServiceType)MTable.get(getCtx(), org.compiere.model.I_WS_WebServiceType.Table_ID) + return (I_WS_WebServiceType)MTable.get(getCtx(), I_WS_WebServiceType.Table_ID) .getPO(getWS_WebServiceType_ID(), get_TrxName()); } diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceMethod.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceMethod.java similarity index 94% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebServiceMethod.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceMethod.java index bc09ae0e80..d06ea1a2f7 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceMethod.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceMethod.java @@ -15,10 +15,15 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; + +import org.compiere.model.I_Persistent; +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.POInfo; import org.compiere.util.KeyNamePair; /** Generated Model for WS_WebServiceMethod @@ -141,9 +146,9 @@ public class X_WS_WebServiceMethod extends PO implements I_WS_WebServiceMethod, return (String)get_Value(COLUMNNAME_Value); } - public org.compiere.model.I_WS_WebService getWS_WebService() throws RuntimeException + public I_WS_WebService getWS_WebService() throws RuntimeException { - return (org.compiere.model.I_WS_WebService)MTable.get(getCtx(), org.compiere.model.I_WS_WebService.Table_ID) + return (I_WS_WebService)MTable.get(getCtx(), I_WS_WebService.Table_ID) .getPO(getWS_WebService_ID(), get_TrxName()); } diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceType.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceType.java similarity index 94% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebServiceType.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceType.java index 8af84af40b..21d19f30e9 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceType.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceType.java @@ -15,10 +15,15 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; + +import org.compiere.model.I_Persistent; +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.POInfo; import org.compiere.util.KeyNamePair; /** Generated Model for WS_WebServiceType @@ -194,9 +199,9 @@ public class X_WS_WebServiceType extends PO implements I_WS_WebServiceType, I_Pe return (String)get_Value(COLUMNNAME_Value); } - public org.compiere.model.I_WS_WebService getWS_WebService() throws RuntimeException + public I_WS_WebService getWS_WebService() throws RuntimeException { - return (org.compiere.model.I_WS_WebService)MTable.get(getCtx(), org.compiere.model.I_WS_WebService.Table_ID) + return (I_WS_WebService)MTable.get(getCtx(), I_WS_WebService.Table_ID) .getPO(getWS_WebService_ID(), get_TrxName()); } @@ -220,9 +225,9 @@ public class X_WS_WebServiceType extends PO implements I_WS_WebServiceType, I_Pe return ii.intValue(); } - public org.compiere.model.I_WS_WebServiceMethod getWS_WebServiceMethod() throws RuntimeException + public I_WS_WebServiceMethod getWS_WebServiceMethod() throws RuntimeException { - return (org.compiere.model.I_WS_WebServiceMethod)MTable.get(getCtx(), org.compiere.model.I_WS_WebServiceMethod.Table_ID) + return (I_WS_WebServiceMethod)MTable.get(getCtx(), I_WS_WebServiceMethod.Table_ID) .getPO(getWS_WebServiceMethod_ID(), get_TrxName()); } diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceTypeAccess.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceTypeAccess.java similarity index 93% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebServiceTypeAccess.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceTypeAccess.java index cdeb627041..5e3f4d167e 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebServiceTypeAccess.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebServiceTypeAccess.java @@ -15,11 +15,16 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; +import org.compiere.model.I_Persistent; +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.POInfo; + /** Generated Model for WS_WebServiceTypeAccess * @author iDempiere (generated) * @version Development 9.0 - $Id$ */ @@ -140,9 +145,9 @@ public class X_WS_WebServiceTypeAccess extends PO implements I_WS_WebServiceType return (String)get_Value(COLUMNNAME_WS_WebServiceTypeAccess_UU); } - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException { - return (org.compiere.model.I_WS_WebServiceType)MTable.get(getCtx(), org.compiere.model.I_WS_WebServiceType.Table_ID) + return (I_WS_WebServiceType)MTable.get(getCtx(), I_WS_WebServiceType.Table_ID) .getPO(getWS_WebServiceType_ID(), get_TrxName()); } diff --git a/org.adempiere.base/src/org/compiere/model/X_WS_WebService_Para.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebService_Para.java similarity index 94% rename from org.adempiere.base/src/org/compiere/model/X_WS_WebService_Para.java rename to org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebService_Para.java index f17c88f459..21a41d6411 100644 --- a/org.adempiere.base/src/org/compiere/model/X_WS_WebService_Para.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/model/X_WS_WebService_Para.java @@ -15,11 +15,16 @@ * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ /** Generated Model - DO NOT CHANGE */ -package org.compiere.model; +package org.idempiere.webservices.model; import java.sql.ResultSet; import java.util.Properties; +import org.compiere.model.I_Persistent; +import org.compiere.model.MTable; +import org.compiere.model.PO; +import org.compiere.model.POInfo; + /** Generated Model for WS_WebService_Para * @author iDempiere (generated) * @version Development 9.0 - $Id$ */ @@ -158,9 +163,9 @@ public class X_WS_WebService_Para extends PO implements I_WS_WebService_Para, I_ return (String)get_Value(COLUMNNAME_WS_WebService_Para_UU); } - public org.compiere.model.I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException + public I_WS_WebServiceType getWS_WebServiceType() throws RuntimeException { - return (org.compiere.model.I_WS_WebServiceType)MTable.get(getCtx(), org.compiere.model.I_WS_WebServiceType.Table_ID) + return (I_WS_WebServiceType)MTable.get(getCtx(), I_WS_WebServiceType.Table_ID) .getPO(getWS_WebServiceType_ID(), get_TrxName()); } diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/process/WebServiceTypeCreateParameters.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/process/WebServiceTypeCreateParameters.java index 33fc090537..333bc58471 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/process/WebServiceTypeCreateParameters.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/webservices/process/WebServiceTypeCreateParameters.java @@ -25,8 +25,8 @@ package org.idempiere.webservices.process; -import org.compiere.model.MWebServiceType; import org.compiere.process.SvrProcess; +import org.idempiere.webservices.model.MWebServiceType; /** * @author Nicolas Micoud - TGI