hg merge release-6.1 (merge release6.1 into default)
This commit is contained in:
commit
4002655536
|
@ -0,0 +1,67 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- IDEMPIERE-2648 implement pack-in pack-out handle for infoWindow
|
||||||
|
-- Nov 12, 2018, 2:11:41 PM BRST
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (213804,0,'Info Window','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.',50006,'AD_InfoWindow_ID',10,'N','N','N','N','N',0,'N',19,0,0,'Y',TO_DATE('2018-11-12 14:11:40','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2018-11-12 14:11:40','YYYY-MM-DD HH24:MI:SS'),100,3068,'N','N','D','N','N','N','Y','6b52cd03-c9ae-4b0e-b24f-45323a7ed42d','Y',0,'N','N','C','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:32 PM BRST
|
||||||
|
UPDATE AD_Column SET FKConstraintType='N',Updated=TO_DATE('2018-11-12 14:12:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=213804
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:35 PM BRST
|
||||||
|
UPDATE AD_Column SET FKConstraintName='ADInfoWindow_ADPackageExpDetai', FKConstraintType='N',Updated=TO_DATE('2018-11-12 14:12:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=213804
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:35 PM BRST
|
||||||
|
ALTER TABLE AD_Package_Exp_Detail ADD AD_InfoWindow_ID NUMBER(10) DEFAULT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:35 PM BRST
|
||||||
|
ALTER TABLE AD_Package_Exp_Detail ADD CONSTRAINT ADInfoWindow_ADPackageExpDetai FOREIGN KEY (AD_InfoWindow_ID) REFERENCES ad_infowindow(ad_infowindow_id) DEFERRABLE INITIALLY DEFERRED
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:14:03 PM BRST
|
||||||
|
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200445,'Info Window',50004,'IW',0,0,'Y',TO_DATE('2018-11-12 14:14:02','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2018-11-12 14:14:02','YYYY-MM-DD HH24:MI:SS'),100,'D','c1e5ee93-987c-43cd-90e9-e4cf5d592105')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:14 PM BRST
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (205861,'Info Window','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.',50006,213804,'Y',10,330,'N','N','N','N',0,0,'Y',TO_DATE('2018-11-12 14:15:13','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2018-11-12 14:15:13','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','9cbe0104-e976-411a-9aa3-d35798c57519','Y',330,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=290, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53284
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=300, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57418
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=310, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=205861
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET SeqNo=320, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50116
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET SeqNo=330, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50117
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204547
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:16:29 PM BRST
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@Type@=''IW''', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2018-11-12 14:16:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=205861
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018 2:49:09 PM BRST
|
||||||
|
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2018-11-12 14:49:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=213804
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201811121420_IDEMPIERE-2648.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
-- IDEMPIERE-2648 implement pack-in pack-out handle for infoWindow
|
||||||
|
-- Nov 12, 2018, 2:11:41 PM BRST
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (213804,0,'Info Window','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.',50006,'AD_InfoWindow_ID',10,'N','N','N','N','N',0,'N',19,0,0,'Y',TO_TIMESTAMP('2018-11-12 14:11:40','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2018-11-12 14:11:40','YYYY-MM-DD HH24:MI:SS'),100,3068,'N','N','D','N','N','N','Y','6b52cd03-c9ae-4b0e-b24f-45323a7ed42d','Y',0,'N','N','C')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:32 PM BRST
|
||||||
|
UPDATE AD_Column SET FKConstraintType='N',Updated=TO_TIMESTAMP('2018-11-12 14:12:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=213804
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:35 PM BRST
|
||||||
|
UPDATE AD_Column SET FKConstraintName='ADInfoWindow_ADPackageExpDetai', FKConstraintType='N',Updated=TO_TIMESTAMP('2018-11-12 14:12:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=213804
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:35 PM BRST
|
||||||
|
ALTER TABLE AD_Package_Exp_Detail ADD COLUMN AD_InfoWindow_ID NUMERIC(10) DEFAULT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:12:35 PM BRST
|
||||||
|
ALTER TABLE AD_Package_Exp_Detail ADD CONSTRAINT ADInfoWindow_ADPackageExpDetai FOREIGN KEY (AD_InfoWindow_ID) REFERENCES ad_infowindow(ad_infowindow_id) DEFERRABLE INITIALLY DEFERRED
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:14:03 PM BRST
|
||||||
|
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200445,'Info Window',50004,'IW',0,0,'Y',TO_TIMESTAMP('2018-11-12 14:14:02','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2018-11-12 14:14:02','YYYY-MM-DD HH24:MI:SS'),100,'D','c1e5ee93-987c-43cd-90e9-e4cf5d592105')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:14 PM BRST
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (205861,'Info Window','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.',50006,213804,'Y',10,330,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2018-11-12 14:15:13','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2018-11-12 14:15:13','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','9cbe0104-e976-411a-9aa3-d35798c57519','Y',330,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=290, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53284
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=300, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57418
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=310, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=205861
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET SeqNo=320, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50116
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET SeqNo=330, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50117
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:15:57 PM BRST
|
||||||
|
UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:15:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204547
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018, 2:16:29 PM BRST
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@Type@=''IW''', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2018-11-12 14:16:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=205861
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Nov 12, 2018 2:49:09 PM BRST
|
||||||
|
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2018-11-12 14:49:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=213804
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201811121420_IDEMPIERE-2648.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -105,7 +105,12 @@ BEGIN
|
||||||
|| 'WHERE Name = '''
|
|| 'WHERE Name = '''
|
||||||
|| r.tablename
|
|| r.tablename
|
||||||
|| ''' AND istableid = ''Y''';
|
|| ''' AND istableid = ''Y''';
|
||||||
EXECUTE IMMEDIATE cmdseq INTO currentseq, currentseqsys;
|
BEGIN
|
||||||
|
EXECUTE IMMEDIATE cmdseq INTO currentseq, currentseqsys;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN NO_DATA_FOUND THEN
|
||||||
|
DBMS_OUTPUT.PUT_LINE ('Sequence does not exist for table '|| r.tablename);
|
||||||
|
END;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF currentnextsys <> currentseqsys OR (currentnext <> currentseq AND Isnativeseqon ='N')
|
IF currentnextsys <> currentseqsys OR (currentnext <> currentseq AND Isnativeseqon ='N')
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
|
||||||
|
<booleanAttribute key="append.args" value="true"/>
|
||||||
|
<stringAttribute key="application" value="org.adempiere.base.PackInFolderApplication"/>
|
||||||
|
<booleanAttribute key="askclear" value="true"/>
|
||||||
|
<booleanAttribute key="automaticAdd" value="false"/>
|
||||||
|
<booleanAttribute key="automaticValidate" value="true"/>
|
||||||
|
<stringAttribute key="bootstrap" value=""/>
|
||||||
|
<stringAttribute key="checked" value="[NONE]"/>
|
||||||
|
<booleanAttribute key="clearConfig" value="true"/>
|
||||||
|
<booleanAttribute key="clearws" value="false"/>
|
||||||
|
<booleanAttribute key="clearwslog" value="false"/>
|
||||||
|
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/packinfolder.app"/>
|
||||||
|
<booleanAttribute key="default" value="false"/>
|
||||||
|
<booleanAttribute key="includeOptional" value="false"/>
|
||||||
|
<stringAttribute key="location" value="${workspace_loc}/../runtime-packinfolder.app"/>
|
||||||
|
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||||
|
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -arch ${target.arch} -nl ${target.nl} -consoleLog /home/carlos/srcFH/scm/fhca/dumps/2packs"/>
|
||||||
|
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||||
|
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-DPropertyFile=/home/carlos/.idempiere/camaleo21pg.properties"/>
|
||||||
|
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||||
|
<stringAttribute key="pde.version" value="3.3"/>
|
||||||
|
<stringAttribute key="product" value="org.adempiere.server.server_product"/>
|
||||||
|
<stringAttribute key="selected_target_plugins" value="bcprov@default:default,com.itextpdf@default:default,com.jaspersoft.studio.bundles.barbecue@default:default,com.jaspersoft.studio.bundles.poi@default:default,com.sun.mail.javax.mail@default:default,groovy-all@default:default,javax.activation@default:default,javax.ejb@default:default,javax.jms@default:default,javax.management.j2ee-api@default:default,javax.transaction@default:false,javax.xml.rpc@default:default,javax.xml.soap@default:default,javax.xml.stream@default:default,javax.xml@default:default,net.sf.supercsv.super-csv@default:default,org.apache.activemq.activemq-core@default:default,org.apache.activemq.kahadb@default:default,org.apache.ant@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.scr@default:default,org.apache.poi@default:default,org.apache.servicemix.bundles.cglib@default:default,org.apache.servicemix.bundles.xmlbeans@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.cryptacular@default:default,org.dom4j@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@3:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.osgi-servlet-api@default:default,org.eclipse.jetty.osgi.alpn.fragment@default:false,org.eclipse.osgi.compatibility.plugins@default:false,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jfree.chart-osgi@default:default,org.jfree.jcommon-osgi@default:default,org.junit@default:default,org.krysalis.barcode4j@default:default,org.passay@default:default,org.restlet@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default"/>
|
||||||
|
<stringAttribute key="selected_workspace_plugins" value="org.adempiere.base.process@default:default,org.adempiere.base@4:default,org.adempiere.extend@default:false,org.adempiere.install@default:default,org.adempiere.pipo.handlers@default:default,org.adempiere.pipo@3:true,org.adempiere.plugin.utils@3:true,org.apache.ecs@default:default,org.compiere.db.oracle.provider@default:default,org.compiere.db.postgresql.provider@default:default,org.slf4j.jdk14@default:false"/>
|
||||||
|
<booleanAttribute key="show_selected_only" value="false"/>
|
||||||
|
<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
|
||||||
|
<booleanAttribute key="tracing" value="false"/>
|
||||||
|
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||||
|
<booleanAttribute key="useDefaultConfig" value="true"/>
|
||||||
|
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||||
|
<booleanAttribute key="useProduct" value="false"/>
|
||||||
|
</launchConfiguration>
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,16 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<get src="${url.maven2}/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.jar" dest="lib/bsh.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<!-- bsf-all-3.0-beta3.jar replace for grovy-engine, jyyhon-enjine, bsh-engine
|
|
||||||
http://mvnrepository.com/artifact/org.apache.bsf/bsf-all/3.0-beta3
|
|
||||||
<get src="${url.maven2}/org/apache/bsf/bsf-all/3.0-beta3/bsf-all-3.0-beta3.jar" dest="bsf-all-3.0-beta3.jar" usetimestamp="true" verbose="true" retries="5"/>
|
|
||||||
-->
|
|
||||||
<get src="${url.maven2.ga}/com/sun/script/jython-engine/20080611/jython-engine-20080611.jar" dest="lib/jython-engine.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/python/jython/2.2.1/jython-2.2.1.jar" dest="lib/jython.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/it/sauronsoftware/cron4j/cron4j/2.2.5/cron4j-2.2.5.jar" dest="lib/cron4j.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-validator/commons-validator/1.6/commons-validator-1.6.jar" dest="lib/commons-validator.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<!-- jnlp is not used in idempiere? -->
|
|
||||||
<get src="${url.maven2.opennms}/javax/jnlp/jnlp/1.5.0/jnlp-1.5.0.jar" dest="lib/jnlp.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -128,4 +128,16 @@
|
||||||
</run>
|
</run>
|
||||||
</application>
|
</application>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension
|
||||||
|
id="org.adempiere.base.PackInFolderApplication"
|
||||||
|
point="org.eclipse.core.runtime.applications">
|
||||||
|
<application
|
||||||
|
cardinality="singleton-global"
|
||||||
|
thread="main"
|
||||||
|
visible="true">
|
||||||
|
<run
|
||||||
|
class="org.adempiere.base.PackInFolderApplication">
|
||||||
|
</run>
|
||||||
|
</application>
|
||||||
|
</extension>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* 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 (sponsored by FH) *
|
||||||
|
**********************************************************************/
|
||||||
|
package org.adempiere.base;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import org.compiere.Adempiere;
|
||||||
|
import org.compiere.model.MPInstance;
|
||||||
|
import org.compiere.process.ProcessCall;
|
||||||
|
import org.compiere.process.ProcessInfo;
|
||||||
|
import org.compiere.util.CLogMgt;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.eclipse.equinox.app.IApplication;
|
||||||
|
import org.eclipse.equinox.app.IApplicationContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Carlos Ruiz (globalqss)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class PackInFolderApplication implements IApplication {
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Object start(IApplicationContext context) throws Exception {
|
||||||
|
Adempiere.startup(false);
|
||||||
|
CLogMgt.setLevel(Level.FINE);
|
||||||
|
|
||||||
|
Map<?, ?> args = context.getArguments();
|
||||||
|
String commandlineArgs[] = (String[]) args.get("application.args");
|
||||||
|
if (commandlineArgs.length == 1) {
|
||||||
|
Properties ctx = Env.getCtx();
|
||||||
|
String directory = commandlineArgs[0];
|
||||||
|
ProcessInfo pi = new ProcessInfo("PackInFolder", 200099);
|
||||||
|
pi.setAD_Client_ID(0);
|
||||||
|
pi.setAD_User_ID(100);
|
||||||
|
MPInstance instance = new MPInstance(ctx, 200099, 0);
|
||||||
|
instance.saveEx();
|
||||||
|
instance.createParameter(10, "Folder", directory);
|
||||||
|
pi.setAD_PInstance_ID(instance.getAD_PInstance_ID());
|
||||||
|
ProcessCall process = Core.getProcess("org.adempiere.pipo2.PackInFolder");
|
||||||
|
process.startProcess(ctx, pi, null);
|
||||||
|
StringBuilder msgout = new StringBuilder("Process=").append(pi.getTitle())
|
||||||
|
.append(" Error=").append(pi.isError()).append(" Summary=")
|
||||||
|
.append(pi.getSummary());
|
||||||
|
System.out.println(msgout.toString());
|
||||||
|
} else {
|
||||||
|
System.out.println("Apply PackIn from Folder usage:");
|
||||||
|
System.out.println("RUN_ApplyPackInFromFolder.sh folder");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return IApplication.EXIT_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.equinox.app.IApplication#stop()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void stop() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -90,6 +90,21 @@ public interface I_AD_Package_Exp_Detail
|
||||||
|
|
||||||
public org.compiere.model.I_AD_ImpFormat getAD_ImpFormat() throws RuntimeException;
|
public org.compiere.model.I_AD_ImpFormat getAD_ImpFormat() throws RuntimeException;
|
||||||
|
|
||||||
|
/** Column name AD_InfoWindow_ID */
|
||||||
|
public static final String COLUMNNAME_AD_InfoWindow_ID = "AD_InfoWindow_ID";
|
||||||
|
|
||||||
|
/** Set Info Window.
|
||||||
|
* Info and search/select Window
|
||||||
|
*/
|
||||||
|
public void setAD_InfoWindow_ID (int AD_InfoWindow_ID);
|
||||||
|
|
||||||
|
/** Get Info Window.
|
||||||
|
* Info and search/select Window
|
||||||
|
*/
|
||||||
|
public int getAD_InfoWindow_ID();
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_InfoWindow getAD_InfoWindow() throws RuntimeException;
|
||||||
|
|
||||||
/** Column name AD_Menu_ID */
|
/** Column name AD_Menu_ID */
|
||||||
public static final String COLUMNNAME_AD_Menu_ID = "AD_Menu_ID";
|
public static final String COLUMNNAME_AD_Menu_ID = "AD_Menu_ID";
|
||||||
|
|
||||||
|
|
|
@ -808,7 +808,7 @@ public class MOrder extends X_C_Order implements DocAction
|
||||||
+" WHERE iol.M_InOut_ID=M_InOut.M_InOut_ID"
|
+" WHERE iol.M_InOut_ID=M_InOut.M_InOut_ID"
|
||||||
+" AND iol.C_OrderLine_ID=ol.C_OrderLine_ID"
|
+" AND iol.C_OrderLine_ID=ol.C_OrderLine_ID"
|
||||||
+" AND ol.C_Order_ID=?)";
|
+" AND ol.C_Order_ID=?)";
|
||||||
List<MInvoice> list = new Query(getCtx(), I_M_InOut.Table_Name, whereClause, get_TrxName())
|
List<MInOut> list = new Query(getCtx(), MInOut.Table_Name, whereClause, get_TrxName())
|
||||||
.setParameters(get_ID())
|
.setParameters(get_ID())
|
||||||
.setOrderBy("M_InOut_ID DESC")
|
.setOrderBy("M_InOut_ID DESC")
|
||||||
.list();
|
.list();
|
||||||
|
|
|
@ -119,6 +119,8 @@ public class MPackageExpDetail extends X_AD_Package_Exp_Detail
|
||||||
return getAD_Workflow_ID();
|
return getAD_Workflow_ID();
|
||||||
} else if (TYPE_EntityType.equals(type)) {
|
} else if (TYPE_EntityType.equals(type)) {
|
||||||
return getAD_EntityType_ID();
|
return getAD_EntityType_ID();
|
||||||
|
} else if (TYPE_InfoWindow.equals(type)) {
|
||||||
|
return getAD_InfoWindow_ID();
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_Package_Exp_Detail extends PO implements I_AD_Package_Exp_Deta
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20181104L;
|
private static final long serialVersionUID = 20181112L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Package_Exp_Detail (Properties ctx, int AD_Package_Exp_Detail_ID, String trxName)
|
public X_AD_Package_Exp_Detail (Properties ctx, int AD_Package_Exp_Detail_ID, String trxName)
|
||||||
|
@ -154,6 +154,34 @@ public class X_AD_Package_Exp_Detail extends PO implements I_AD_Package_Exp_Deta
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_InfoWindow getAD_InfoWindow() throws RuntimeException
|
||||||
|
{
|
||||||
|
return (org.compiere.model.I_AD_InfoWindow)MTable.get(getCtx(), org.compiere.model.I_AD_InfoWindow.Table_Name)
|
||||||
|
.getPO(getAD_InfoWindow_ID(), get_TrxName()); }
|
||||||
|
|
||||||
|
/** Set Info Window.
|
||||||
|
@param AD_InfoWindow_ID
|
||||||
|
Info and search/select Window
|
||||||
|
*/
|
||||||
|
public void setAD_InfoWindow_ID (int AD_InfoWindow_ID)
|
||||||
|
{
|
||||||
|
if (AD_InfoWindow_ID < 1)
|
||||||
|
set_ValueNoCheck (COLUMNNAME_AD_InfoWindow_ID, null);
|
||||||
|
else
|
||||||
|
set_ValueNoCheck (COLUMNNAME_AD_InfoWindow_ID, Integer.valueOf(AD_InfoWindow_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Info Window.
|
||||||
|
@return Info and search/select Window
|
||||||
|
*/
|
||||||
|
public int getAD_InfoWindow_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_AD_InfoWindow_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Menu getAD_Menu() throws RuntimeException
|
public org.compiere.model.I_AD_Menu getAD_Menu() throws RuntimeException
|
||||||
{
|
{
|
||||||
return (org.compiere.model.I_AD_Menu)MTable.get(getCtx(), org.compiere.model.I_AD_Menu.Table_Name)
|
return (org.compiere.model.I_AD_Menu)MTable.get(getCtx(), org.compiere.model.I_AD_Menu.Table_Name)
|
||||||
|
@ -915,6 +943,8 @@ public class X_AD_Package_Exp_Detail extends PO implements I_AD_Package_Exp_Deta
|
||||||
public static final String TYPE_EntityType = "ET";
|
public static final String TYPE_EntityType = "ET";
|
||||||
/** SQL Mandatory = SQM */
|
/** SQL Mandatory = SQM */
|
||||||
public static final String TYPE_SQLMandatory = "SQM";
|
public static final String TYPE_SQLMandatory = "SQM";
|
||||||
|
/** Info Window = IW */
|
||||||
|
public static final String TYPE_InfoWindow = "IW";
|
||||||
/** Set Type.
|
/** Set Type.
|
||||||
@param Type
|
@param Type
|
||||||
Type of Validation (SQL, Java Script, Java Language)
|
Type of Validation (SQL, Java Script, Java Language)
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class MPrintFormat extends X_AD_PrintFormat
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 5563074831750686572L;
|
private static final long serialVersionUID = 2979978408305853342L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Public Constructor.
|
* Public Constructor.
|
||||||
|
@ -650,6 +650,7 @@ public class MPrintFormat extends X_AD_PrintFormat
|
||||||
} // createFromTable
|
} // createFromTable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* Create MPrintFormat for Table
|
* Create MPrintFormat for Table
|
||||||
* @param ctx context
|
* @param ctx context
|
||||||
* @param AD_Table_ID table
|
* @param AD_Table_ID table
|
||||||
|
@ -657,12 +658,25 @@ public class MPrintFormat extends X_AD_PrintFormat
|
||||||
* @return print format
|
* @return print format
|
||||||
*/
|
*/
|
||||||
static public MPrintFormat createFromTable (Properties ctx,
|
static public MPrintFormat createFromTable (Properties ctx,
|
||||||
int AD_Table_ID, int AD_PrintFormat_ID)
|
int AD_Table_ID, int AD_PrintFormat_ID) {
|
||||||
|
return createFromTable(ctx, AD_Table_ID, AD_PrintFormat_ID, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create MPrintFormat for Table
|
||||||
|
* @param ctx context
|
||||||
|
* @param AD_Table_ID table
|
||||||
|
* @param AD_PrintFormat_ID 0 or existing PrintFormat
|
||||||
|
* @param trxName the transaction
|
||||||
|
* @return print format
|
||||||
|
*/
|
||||||
|
static public MPrintFormat createFromTable (Properties ctx,
|
||||||
|
int AD_Table_ID, int AD_PrintFormat_ID, String trxName)
|
||||||
{
|
{
|
||||||
int AD_Client_ID = Env.getAD_Client_ID(ctx);
|
int AD_Client_ID = Env.getAD_Client_ID(ctx);
|
||||||
if (s_log.isLoggable(Level.INFO)) s_log.info ("AD_Table_ID=" + AD_Table_ID + " - AD_Client_ID=" + AD_Client_ID);
|
if (s_log.isLoggable(Level.INFO)) s_log.info ("AD_Table_ID=" + AD_Table_ID + " - AD_Client_ID=" + AD_Client_ID);
|
||||||
|
|
||||||
MPrintFormat pf = new MPrintFormat(ctx, AD_PrintFormat_ID, null);
|
MPrintFormat pf = new MPrintFormat(ctx, AD_PrintFormat_ID, trxName);
|
||||||
pf.setAD_Table_ID (AD_Table_ID);
|
pf.setAD_Table_ID (AD_Table_ID);
|
||||||
|
|
||||||
// Get Info
|
// Get Info
|
||||||
|
@ -682,7 +696,7 @@ public class MPrintFormat extends X_AD_PrintFormat
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pstmt = DB.prepareStatement(sql, null);
|
pstmt = DB.prepareStatement(sql, trxName);
|
||||||
pstmt.setInt(1, AD_Table_ID);
|
pstmt.setInt(1, AD_Table_ID);
|
||||||
pstmt.setInt(2, AD_Client_ID);
|
pstmt.setInt(2, AD_Client_ID);
|
||||||
rs = pstmt.executeQuery();
|
rs = pstmt.executeQuery();
|
||||||
|
|
|
@ -46,8 +46,6 @@ public class ConfigVM extends Config
|
||||||
// Java Home, e.g. D:\j2sdk1.4.1\jre
|
// Java Home, e.g. D:\j2sdk1.4.1\jre
|
||||||
String javaHome = System.getProperty("java.home");
|
String javaHome = System.getProperty("java.home");
|
||||||
log.fine(javaHome);
|
log.fine(javaHome);
|
||||||
if (javaHome.endsWith("jre"))
|
|
||||||
javaHome = javaHome.substring(0, javaHome.length()-4);
|
|
||||||
p_data.setJavaHome(javaHome);
|
p_data.setJavaHome(javaHome);
|
||||||
} // init
|
} // init
|
||||||
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,10 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<!-- seem payment sdk is change without use verisign.jar, i can find out this lib. maybe have to update this plug-in
|
|
||||||
http://paypal.github.io/sdk/#ppo-payflow-->
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/jpayment.jar" dest="lib/jpayment.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/Verisign.jar" dest="lib/Verisign.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/payflow.jar" dest="lib/payflow.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -207,7 +207,27 @@
|
||||||
<handler
|
<handler
|
||||||
class="org.adempiere.pipo2.handler.ViewColumnElementHandler"
|
class="org.adempiere.pipo2.handler.ViewColumnElementHandler"
|
||||||
id="AD_ViewColumn">
|
id="AD_ViewColumn">
|
||||||
</handler>
|
</handler>
|
||||||
|
<handler
|
||||||
|
class="org.adempiere.pipo2.handler.InfoWindowElementHandler"
|
||||||
|
id="AD_InfoWindow">
|
||||||
|
</handler>
|
||||||
|
<handler
|
||||||
|
class="org.adempiere.pipo2.handler.InfoColumnElementHandler"
|
||||||
|
id="AD_InfoColumn ">
|
||||||
|
</handler>
|
||||||
|
<handler
|
||||||
|
class="org.adempiere.pipo2.handler.InfoProcessElementHandler"
|
||||||
|
id="AD_InfoProcess ">
|
||||||
|
</handler>
|
||||||
|
<handler
|
||||||
|
class="org.adempiere.pipo2.handler.InfoRelatedElementHandler"
|
||||||
|
id="AD_InfoRelated ">
|
||||||
|
</handler>
|
||||||
|
<handler
|
||||||
|
class="org.adempiere.pipo2.handler.InfoWindowAccessElementHandler"
|
||||||
|
id="AD_InfoWindow_Access">
|
||||||
|
</handler>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -0,0 +1,155 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* 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) - sponsored by FH *
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
package org.adempiere.pipo2.handler;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import javax.xml.transform.sax.TransformerHandler;
|
||||||
|
|
||||||
|
import org.adempiere.pipo2.AbstractElementHandler;
|
||||||
|
import org.adempiere.pipo2.Element;
|
||||||
|
import org.adempiere.pipo2.ElementHandler;
|
||||||
|
import org.adempiere.pipo2.PIPOContext;
|
||||||
|
import org.adempiere.pipo2.PackOut;
|
||||||
|
import org.adempiere.pipo2.PoExporter;
|
||||||
|
import org.adempiere.pipo2.PoFiller;
|
||||||
|
import org.adempiere.pipo2.exception.POSaveFailedException;
|
||||||
|
import org.compiere.model.I_AD_Element;
|
||||||
|
import org.compiere.model.I_AD_InfoColumn;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow;
|
||||||
|
import org.compiere.model.X_AD_InfoColumn;
|
||||||
|
import org.compiere.model.X_AD_Package_Imp_Detail;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
import org.xml.sax.helpers.AttributesImpl;
|
||||||
|
|
||||||
|
public class InfoColumnElementHandler extends AbstractElementHandler {
|
||||||
|
|
||||||
|
public void startElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoColumn.Table_Name);
|
||||||
|
|
||||||
|
String entitytype = getStringValue(element, "EntityType");
|
||||||
|
if (isProcessElement(ctx.ctx, entitytype)) {
|
||||||
|
if (isParentDefer(element, I_AD_InfoWindow.Table_Name)) {
|
||||||
|
element.defer = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
X_AD_InfoColumn mInfoColumn = findPO(ctx, element);
|
||||||
|
if (mInfoColumn == null) {
|
||||||
|
mInfoColumn = new X_AD_InfoColumn(ctx.ctx, 0, getTrxName(ctx));
|
||||||
|
}
|
||||||
|
PoFiller filler = new PoFiller(ctx, mInfoColumn, element, this);
|
||||||
|
|
||||||
|
List<String> notfounds = filler.autoFill(excludes);
|
||||||
|
if (notfounds.size() > 0) {
|
||||||
|
element.defer = true;
|
||||||
|
element.unresolved = notfounds.toString();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.recordId = mInfoColumn.get_ID();
|
||||||
|
if (mInfoColumn.is_new() || mInfoColumn.is_Changed()) {
|
||||||
|
X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_InfoColumn.Table_Name, X_AD_InfoColumn.Table_ID);
|
||||||
|
String action = null;
|
||||||
|
if (!mInfoColumn.is_new()) {
|
||||||
|
backupRecord(ctx, impDetail.getAD_Package_Imp_Detail_ID(), X_AD_InfoColumn.Table_Name, mInfoColumn);
|
||||||
|
action = "Update";
|
||||||
|
} else {
|
||||||
|
action = "New";
|
||||||
|
}
|
||||||
|
if (mInfoColumn.save(getTrxName(ctx)) == true) {
|
||||||
|
logImportDetail(ctx, impDetail, 1, mInfoColumn.getColumnName(), mInfoColumn.get_ID(), action);
|
||||||
|
element.recordId = mInfoColumn.get_ID();
|
||||||
|
} else {
|
||||||
|
logImportDetail(ctx, impDetail, 0, mInfoColumn.getColumnName(), mInfoColumn.get_ID(), action);
|
||||||
|
throw new POSaveFailedException("Failed to save InfoColumn " + mInfoColumn.getColumnName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
element.skip = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create(PIPOContext ctx, TransformerHandler document) throws SAXException {
|
||||||
|
int AD_InfoColumn_ID = Env.getContextAsInt(ctx.ctx, X_AD_InfoColumn.COLUMNNAME_AD_InfoColumn_ID);
|
||||||
|
if (ctx.packOut.isExported(X_AD_InfoColumn.COLUMNNAME_AD_InfoColumn_ID+"|"+AD_InfoColumn_ID))
|
||||||
|
return;
|
||||||
|
|
||||||
|
X_AD_InfoColumn m_InfoColumn = new X_AD_InfoColumn(ctx.ctx, AD_InfoColumn_ID, getTrxName(ctx));
|
||||||
|
|
||||||
|
if (m_InfoColumn.getAD_Element_ID() > 0) {
|
||||||
|
PackOut packOut = ctx.packOut;
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_Element.Table_Name);
|
||||||
|
try {
|
||||||
|
handler.packOut(packOut,document,null,m_InfoColumn.getAD_Element_ID());
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isPackOutElement(ctx, m_InfoColumn))
|
||||||
|
return;
|
||||||
|
|
||||||
|
verifyPackOutRequirement(m_InfoColumn);
|
||||||
|
|
||||||
|
AttributesImpl atts = new AttributesImpl();
|
||||||
|
addTypeName(atts, "table");
|
||||||
|
document.startElement("", "", I_AD_InfoColumn.Table_Name, atts);
|
||||||
|
createInfoColumnBinding(ctx, document, m_InfoColumn);
|
||||||
|
|
||||||
|
PackOut packOut = ctx.packOut;
|
||||||
|
packOut.getCtx().ctx.put("Table_Name",I_AD_InfoColumn.Table_Name);
|
||||||
|
try {
|
||||||
|
new CommonTranslationHandler().packOut(packOut,document,null,m_InfoColumn.get_ID());
|
||||||
|
} catch(Exception e) {
|
||||||
|
if (log.isLoggable(Level.INFO)) log.info(e.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
document.endElement("", "", I_AD_InfoColumn.Table_Name);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoColumnBinding(PIPOContext ctx, TransformerHandler document, X_AD_InfoColumn m_InfoColumn) {
|
||||||
|
|
||||||
|
PoExporter filler = new PoExporter(ctx, document, m_InfoColumn);
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoColumn.Table_Name);
|
||||||
|
|
||||||
|
if (m_InfoColumn.getAD_InfoColumn_ID() <= PackOut.MAX_OFFICIAL_ID)
|
||||||
|
filler.add("AD_InfoColumn_ID", new AttributesImpl());
|
||||||
|
filler.export(excludes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId) throws Exception {
|
||||||
|
Env.setContext(packout.getCtx().ctx, I_AD_InfoColumn.COLUMNNAME_AD_InfoColumn_ID, recordId);
|
||||||
|
create(packout.getCtx(), packoutHandler);
|
||||||
|
packout.getCtx().ctx.remove(I_AD_InfoColumn.COLUMNNAME_AD_InfoColumn_ID);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,143 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* 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) - sponsored by FH *
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
package org.adempiere.pipo2.handler;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import javax.xml.transform.sax.TransformerHandler;
|
||||||
|
|
||||||
|
import org.adempiere.pipo2.AbstractElementHandler;
|
||||||
|
import org.adempiere.pipo2.Element;
|
||||||
|
import org.adempiere.pipo2.PIPOContext;
|
||||||
|
import org.adempiere.pipo2.PackOut;
|
||||||
|
import org.adempiere.pipo2.PoExporter;
|
||||||
|
import org.adempiere.pipo2.PoFiller;
|
||||||
|
import org.adempiere.pipo2.exception.POSaveFailedException;
|
||||||
|
import org.compiere.model.I_AD_InfoProcess;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow;
|
||||||
|
import org.compiere.model.X_AD_InfoProcess;
|
||||||
|
import org.compiere.model.X_AD_Package_Imp_Detail;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
import org.xml.sax.helpers.AttributesImpl;
|
||||||
|
|
||||||
|
public class InfoProcessElementHandler extends AbstractElementHandler {
|
||||||
|
|
||||||
|
public void startElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoProcess.Table_Name);
|
||||||
|
|
||||||
|
String entitytype = getStringValue(element, "EntityType");
|
||||||
|
if (isProcessElement(ctx.ctx, entitytype)) {
|
||||||
|
if (isParentDefer(element, I_AD_InfoWindow.Table_Name)) {
|
||||||
|
element.defer = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
X_AD_InfoProcess mInfoProcess = findPO(ctx, element);
|
||||||
|
if (mInfoProcess == null) {
|
||||||
|
mInfoProcess = new X_AD_InfoProcess(ctx.ctx, 0, getTrxName(ctx));
|
||||||
|
}
|
||||||
|
PoFiller filler = new PoFiller(ctx, mInfoProcess, element, this);
|
||||||
|
|
||||||
|
List<String> notfounds = filler.autoFill(excludes);
|
||||||
|
if (notfounds.size() > 0) {
|
||||||
|
element.defer = true;
|
||||||
|
element.unresolved = notfounds.toString();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.recordId = mInfoProcess.get_ID();
|
||||||
|
if (mInfoProcess.is_new() || mInfoProcess.is_Changed()) {
|
||||||
|
X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_InfoProcess.Table_Name, X_AD_InfoProcess.Table_ID);
|
||||||
|
String action = null;
|
||||||
|
if (!mInfoProcess.is_new()) {
|
||||||
|
backupRecord(ctx, impDetail.getAD_Package_Imp_Detail_ID(), X_AD_InfoProcess.Table_Name, mInfoProcess);
|
||||||
|
action = "Update";
|
||||||
|
} else {
|
||||||
|
action = "New";
|
||||||
|
}
|
||||||
|
if (mInfoProcess.save(getTrxName(ctx)) == true) {
|
||||||
|
logImportDetail(ctx, impDetail, 1, mInfoProcess.toString(), mInfoProcess.get_ID(), action);
|
||||||
|
element.recordId = mInfoProcess.get_ID();
|
||||||
|
} else {
|
||||||
|
logImportDetail(ctx, impDetail, 0, mInfoProcess.toString(), mInfoProcess.get_ID(), action);
|
||||||
|
throw new POSaveFailedException("Failed to save InfoProcess " + mInfoProcess.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
element.skip = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create(PIPOContext ctx, TransformerHandler document) throws SAXException {
|
||||||
|
int AD_InfoProcess_ID = Env.getContextAsInt(ctx.ctx, X_AD_InfoProcess.COLUMNNAME_AD_InfoProcess_ID);
|
||||||
|
if (ctx.packOut.isExported(X_AD_InfoProcess.COLUMNNAME_AD_InfoProcess_ID+"|"+AD_InfoProcess_ID))
|
||||||
|
return;
|
||||||
|
|
||||||
|
X_AD_InfoProcess m_InfoProcess = new X_AD_InfoProcess(ctx.ctx, AD_InfoProcess_ID, getTrxName(ctx));
|
||||||
|
|
||||||
|
if (!isPackOutElement(ctx, m_InfoProcess))
|
||||||
|
return;
|
||||||
|
|
||||||
|
verifyPackOutRequirement(m_InfoProcess);
|
||||||
|
|
||||||
|
AttributesImpl atts = new AttributesImpl();
|
||||||
|
addTypeName(atts, "table");
|
||||||
|
document.startElement("", "", I_AD_InfoProcess.Table_Name, atts);
|
||||||
|
createInfoProcessBinding(ctx, document, m_InfoProcess);
|
||||||
|
|
||||||
|
PackOut packOut = ctx.packOut;
|
||||||
|
packOut.getCtx().ctx.put("Table_Name",I_AD_InfoProcess.Table_Name);
|
||||||
|
try {
|
||||||
|
new CommonTranslationHandler().packOut(packOut,document,null,m_InfoProcess.get_ID());
|
||||||
|
} catch(Exception e) {
|
||||||
|
if (log.isLoggable(Level.INFO)) log.info(e.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
document.endElement("", "", I_AD_InfoProcess.Table_Name);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoProcessBinding(PIPOContext ctx, TransformerHandler document, X_AD_InfoProcess m_InfoProcess) {
|
||||||
|
|
||||||
|
PoExporter filler = new PoExporter(ctx, document, m_InfoProcess);
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoProcess.Table_Name);
|
||||||
|
|
||||||
|
if (m_InfoProcess.getAD_InfoProcess_ID() <= PackOut.MAX_OFFICIAL_ID)
|
||||||
|
filler.add("AD_InfoProcess_ID", new AttributesImpl());
|
||||||
|
filler.export(excludes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId) throws Exception {
|
||||||
|
Env.setContext(packout.getCtx().ctx, I_AD_InfoProcess.COLUMNNAME_AD_InfoProcess_ID, recordId);
|
||||||
|
create(packout.getCtx(), packoutHandler);
|
||||||
|
packout.getCtx().ctx.remove(I_AD_InfoProcess.COLUMNNAME_AD_InfoProcess_ID);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,143 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* 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) - sponsored by FH *
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
package org.adempiere.pipo2.handler;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import javax.xml.transform.sax.TransformerHandler;
|
||||||
|
|
||||||
|
import org.adempiere.pipo2.AbstractElementHandler;
|
||||||
|
import org.adempiere.pipo2.Element;
|
||||||
|
import org.adempiere.pipo2.PIPOContext;
|
||||||
|
import org.adempiere.pipo2.PackOut;
|
||||||
|
import org.adempiere.pipo2.PoExporter;
|
||||||
|
import org.adempiere.pipo2.PoFiller;
|
||||||
|
import org.adempiere.pipo2.exception.POSaveFailedException;
|
||||||
|
import org.compiere.model.I_AD_InfoRelated;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow;
|
||||||
|
import org.compiere.model.X_AD_InfoRelated;
|
||||||
|
import org.compiere.model.X_AD_Package_Imp_Detail;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
import org.xml.sax.helpers.AttributesImpl;
|
||||||
|
|
||||||
|
public class InfoRelatedElementHandler extends AbstractElementHandler {
|
||||||
|
|
||||||
|
public void startElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoRelated.Table_Name);
|
||||||
|
|
||||||
|
String entitytype = getStringValue(element, "EntityType");
|
||||||
|
if (isProcessElement(ctx.ctx, entitytype)) {
|
||||||
|
if (isParentDefer(element, I_AD_InfoWindow.Table_Name)) {
|
||||||
|
element.defer = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
X_AD_InfoRelated mInfoRelated = findPO(ctx, element);
|
||||||
|
if (mInfoRelated == null) {
|
||||||
|
mInfoRelated = new X_AD_InfoRelated(ctx.ctx, 0, getTrxName(ctx));
|
||||||
|
}
|
||||||
|
PoFiller filler = new PoFiller(ctx, mInfoRelated, element, this);
|
||||||
|
|
||||||
|
List<String> notfounds = filler.autoFill(excludes);
|
||||||
|
if (notfounds.size() > 0) {
|
||||||
|
element.defer = true;
|
||||||
|
element.unresolved = notfounds.toString();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.recordId = mInfoRelated.get_ID();
|
||||||
|
if (mInfoRelated.is_new() || mInfoRelated.is_Changed()) {
|
||||||
|
X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_InfoRelated.Table_Name, X_AD_InfoRelated.Table_ID);
|
||||||
|
String action = null;
|
||||||
|
if (!mInfoRelated.is_new()) {
|
||||||
|
backupRecord(ctx, impDetail.getAD_Package_Imp_Detail_ID(), X_AD_InfoRelated.Table_Name, mInfoRelated);
|
||||||
|
action = "Update";
|
||||||
|
} else {
|
||||||
|
action = "New";
|
||||||
|
}
|
||||||
|
if (mInfoRelated.save(getTrxName(ctx)) == true) {
|
||||||
|
logImportDetail(ctx, impDetail, 1, mInfoRelated.toString(), mInfoRelated.get_ID(), action);
|
||||||
|
element.recordId = mInfoRelated.get_ID();
|
||||||
|
} else {
|
||||||
|
logImportDetail(ctx, impDetail, 0, mInfoRelated.toString(), mInfoRelated.get_ID(), action);
|
||||||
|
throw new POSaveFailedException("Failed to save InfoRelated " + mInfoRelated.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
element.skip = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create(PIPOContext ctx, TransformerHandler document) throws SAXException {
|
||||||
|
int AD_InfoRelated_ID = Env.getContextAsInt(ctx.ctx, X_AD_InfoRelated.COLUMNNAME_AD_InfoRelated_ID);
|
||||||
|
if (ctx.packOut.isExported(X_AD_InfoRelated.COLUMNNAME_AD_InfoRelated_ID+"|"+AD_InfoRelated_ID))
|
||||||
|
return;
|
||||||
|
|
||||||
|
X_AD_InfoRelated m_InfoRelated = new X_AD_InfoRelated(ctx.ctx, AD_InfoRelated_ID, getTrxName(ctx));
|
||||||
|
|
||||||
|
if (!isPackOutElement(ctx, m_InfoRelated))
|
||||||
|
return;
|
||||||
|
|
||||||
|
verifyPackOutRequirement(m_InfoRelated);
|
||||||
|
|
||||||
|
AttributesImpl atts = new AttributesImpl();
|
||||||
|
addTypeName(atts, "table");
|
||||||
|
document.startElement("", "", I_AD_InfoRelated.Table_Name, atts);
|
||||||
|
createInfoRelatedBinding(ctx, document, m_InfoRelated);
|
||||||
|
|
||||||
|
PackOut packOut = ctx.packOut;
|
||||||
|
packOut.getCtx().ctx.put("Table_Name",I_AD_InfoRelated.Table_Name);
|
||||||
|
try {
|
||||||
|
new CommonTranslationHandler().packOut(packOut,document,null,m_InfoRelated.get_ID());
|
||||||
|
} catch(Exception e) {
|
||||||
|
if (log.isLoggable(Level.INFO)) log.info(e.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
document.endElement("", "", I_AD_InfoRelated.Table_Name);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoRelatedBinding(PIPOContext ctx, TransformerHandler document, X_AD_InfoRelated m_InfoRelated) {
|
||||||
|
|
||||||
|
PoExporter filler = new PoExporter(ctx, document, m_InfoRelated);
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoRelated.Table_Name);
|
||||||
|
|
||||||
|
if (m_InfoRelated.getAD_InfoRelated_ID() <= PackOut.MAX_OFFICIAL_ID)
|
||||||
|
filler.add("AD_InfoRelated_ID", new AttributesImpl());
|
||||||
|
filler.export(excludes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId) throws Exception {
|
||||||
|
Env.setContext(packout.getCtx().ctx, I_AD_InfoRelated.COLUMNNAME_AD_InfoRelated_ID, recordId);
|
||||||
|
create(packout.getCtx(), packoutHandler);
|
||||||
|
packout.getCtx().ctx.remove(I_AD_InfoRelated.COLUMNNAME_AD_InfoRelated_ID);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,96 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* 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) - sponsored by FH *
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
package org.adempiere.pipo2.handler;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.xml.transform.sax.TransformerHandler;
|
||||||
|
|
||||||
|
import org.adempiere.pipo2.AbstractElementHandler;
|
||||||
|
import org.adempiere.pipo2.Element;
|
||||||
|
import org.adempiere.pipo2.PIPOContext;
|
||||||
|
import org.adempiere.pipo2.PackOut;
|
||||||
|
import org.adempiere.pipo2.PoExporter;
|
||||||
|
import org.adempiere.pipo2.PoFiller;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow_Access;
|
||||||
|
import org.compiere.model.Query;
|
||||||
|
import org.compiere.model.X_AD_InfoWindow;
|
||||||
|
import org.compiere.model.X_AD_InfoWindow_Access;
|
||||||
|
import org.compiere.model.X_AD_Role;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
import org.xml.sax.helpers.AttributesImpl;
|
||||||
|
|
||||||
|
public class InfoWindowAccessElementHandler extends AbstractElementHandler {
|
||||||
|
|
||||||
|
public void startElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoWindow_Access.Table_Name);
|
||||||
|
|
||||||
|
X_AD_InfoWindow_Access po = findPO(ctx, element);
|
||||||
|
if (po == null) {
|
||||||
|
po = new X_AD_InfoWindow_Access(ctx.ctx, 0, getTrxName(ctx));
|
||||||
|
}
|
||||||
|
PoFiller filler = new PoFiller(ctx, po, element, this);
|
||||||
|
List<String> notfounds = filler.autoFill(excludes);
|
||||||
|
if (notfounds.size() > 0) {
|
||||||
|
element.defer = true;
|
||||||
|
element.unresolved = notfounds.toString();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
po.saveEx();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create(PIPOContext ctx, TransformerHandler document) throws SAXException {
|
||||||
|
int AD_InfoWindow_ID = Env.getContextAsInt(ctx.ctx, X_AD_InfoWindow.COLUMNNAME_AD_InfoWindow_ID);
|
||||||
|
int AD_Role_ID = Env.getContextAsInt(ctx.ctx, X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||||
|
Query query = new Query(ctx.ctx, "AD_InfoWindow_Access", "AD_Role_ID=? AND AD_InfoWindow_ID=?", getTrxName(ctx));
|
||||||
|
X_AD_InfoWindow_Access po = query.setParameters(AD_Role_ID, AD_InfoWindow_ID).first();
|
||||||
|
if (po != null) {
|
||||||
|
if (!isPackOutElement(ctx, po))
|
||||||
|
return;
|
||||||
|
verifyPackOutRequirement(po);
|
||||||
|
AttributesImpl atts = new AttributesImpl();
|
||||||
|
addTypeName(atts, "table");
|
||||||
|
document.startElement("", "", I_AD_InfoWindow_Access.Table_Name, atts);
|
||||||
|
createInfoWindowAccessBinding(ctx, document, po);
|
||||||
|
document.endElement("", "", I_AD_InfoWindow_Access.Table_Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoWindowAccessBinding(PIPOContext ctx, TransformerHandler document, X_AD_InfoWindow_Access po) {
|
||||||
|
PoExporter filler = new PoExporter(ctx, document, po);
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoWindow_Access.Table_Name);
|
||||||
|
filler.export(excludes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId) throws Exception {
|
||||||
|
create(packout.getCtx(), packoutHandler);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,226 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* 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) - sponsored by FH *
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
package org.adempiere.pipo2.handler;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import javax.xml.transform.sax.TransformerHandler;
|
||||||
|
|
||||||
|
import org.adempiere.exceptions.AdempiereException;
|
||||||
|
import org.adempiere.pipo2.AbstractElementHandler;
|
||||||
|
import org.adempiere.pipo2.Element;
|
||||||
|
import org.adempiere.pipo2.ElementHandler;
|
||||||
|
import org.adempiere.pipo2.PIPOContext;
|
||||||
|
import org.adempiere.pipo2.PackOut;
|
||||||
|
import org.adempiere.pipo2.PoExporter;
|
||||||
|
import org.adempiere.pipo2.PoFiller;
|
||||||
|
import org.adempiere.pipo2.exception.POSaveFailedException;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow;
|
||||||
|
import org.compiere.model.I_AD_Process;
|
||||||
|
import org.compiere.model.I_AD_Reference;
|
||||||
|
import org.compiere.model.I_AD_Table;
|
||||||
|
import org.compiere.model.I_AD_Val_Rule;
|
||||||
|
import org.compiere.model.Query;
|
||||||
|
import org.compiere.model.X_AD_InfoColumn;
|
||||||
|
import org.compiere.model.X_AD_InfoProcess;
|
||||||
|
import org.compiere.model.X_AD_InfoRelated;
|
||||||
|
import org.compiere.model.X_AD_InfoWindow;
|
||||||
|
import org.compiere.model.X_AD_Package_Imp_Detail;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
import org.xml.sax.helpers.AttributesImpl;
|
||||||
|
|
||||||
|
public class InfoWindowElementHandler extends AbstractElementHandler {
|
||||||
|
|
||||||
|
private InfoColumnElementHandler infoColumnHandler = new InfoColumnElementHandler();
|
||||||
|
private InfoProcessElementHandler infoProcessHandler = new InfoProcessElementHandler();
|
||||||
|
private InfoRelatedElementHandler infoRelatedHandler = new InfoRelatedElementHandler();
|
||||||
|
|
||||||
|
public void startElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
String entitytype = getStringValue(element, "EntityType");
|
||||||
|
if (isProcessElement(ctx.ctx, entitytype)) {
|
||||||
|
X_AD_InfoWindow mInfoWindow = findPO(ctx, element);
|
||||||
|
if (mInfoWindow == null) {
|
||||||
|
mInfoWindow = new X_AD_InfoWindow(ctx.ctx, 0, getTrxName(ctx));
|
||||||
|
}
|
||||||
|
PoFiller filler = new PoFiller(ctx, mInfoWindow, element, this);
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoWindow.Table_Name);
|
||||||
|
|
||||||
|
List<String> notfounds = filler.autoFill(excludes);
|
||||||
|
if (notfounds.size() > 0) {
|
||||||
|
element.defer = true;
|
||||||
|
element.unresolved = notfounds.toString();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.recordId = mInfoWindow.get_ID();
|
||||||
|
if (mInfoWindow.is_new() || mInfoWindow.is_Changed()) {
|
||||||
|
X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_InfoWindow.Table_Name, X_AD_InfoWindow.Table_ID);
|
||||||
|
String action = null;
|
||||||
|
if (!mInfoWindow.is_new()) {
|
||||||
|
backupRecord(ctx, impDetail.getAD_Package_Imp_Detail_ID(), X_AD_InfoWindow.Table_Name, mInfoWindow);
|
||||||
|
action = "Update";
|
||||||
|
} else {
|
||||||
|
action = "New";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mInfoWindow.save(getTrxName(ctx)) == true) {
|
||||||
|
logImportDetail(ctx, impDetail, 1, mInfoWindow.getName(), mInfoWindow.get_ID(), action);
|
||||||
|
element.recordId = mInfoWindow.get_ID();
|
||||||
|
element.requireRoleAccessUpdate = true;
|
||||||
|
} else {
|
||||||
|
logImportDetail(ctx, impDetail, 0, mInfoWindow.getName(), mInfoWindow.get_ID(), action);
|
||||||
|
throw new POSaveFailedException("Failed to save InfoWindow " + mInfoWindow.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
element.skip = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endElement(PIPOContext ctx, Element element) throws SAXException {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create(PIPOContext ctx, TransformerHandler document) throws SAXException {
|
||||||
|
int AD_InfoWindow_ID = Env.getContextAsInt(ctx.ctx, "AD_InfoWindow_ID");
|
||||||
|
if (ctx.packOut.isExported("AD_InfoWindow_ID"+"|"+AD_InfoWindow_ID))
|
||||||
|
return;
|
||||||
|
|
||||||
|
PackOut packOut = ctx.packOut;
|
||||||
|
|
||||||
|
X_AD_InfoWindow m_InfoWindow = new X_AD_InfoWindow(ctx.ctx, AD_InfoWindow_ID, getTrxName(ctx));
|
||||||
|
|
||||||
|
AttributesImpl atts = new AttributesImpl();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (m_InfoWindow.getAD_Table_ID() > 0) {
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_Table.Table_Name);
|
||||||
|
handler.packOut(packOut,document,null,m_InfoWindow.getAD_Table_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean createElement = isPackOutElement(ctx, m_InfoWindow);
|
||||||
|
|
||||||
|
if (createElement) {
|
||||||
|
verifyPackOutRequirement(m_InfoWindow);
|
||||||
|
addTypeName(atts, "table");
|
||||||
|
document.startElement("", "", I_AD_InfoWindow.Table_Name, atts);
|
||||||
|
createInfoWindowBinding(ctx, document, m_InfoWindow);
|
||||||
|
|
||||||
|
packOut.getCtx().ctx.put("Table_Name",I_AD_InfoWindow.Table_Name);
|
||||||
|
try {
|
||||||
|
new CommonTranslationHandler().packOut(packOut,document,null,m_InfoWindow.get_ID());
|
||||||
|
} catch(Exception e) {
|
||||||
|
if (log.isLoggable(Level.INFO)) log.info(e.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Query queryCols = new Query(ctx.ctx, "AD_InfoColumn", "AD_InfoWindow_ID = ?", getTrxName(ctx));
|
||||||
|
List<X_AD_InfoColumn> infoColumnlist = queryCols.setParameters(AD_InfoWindow_ID).list();
|
||||||
|
for (X_AD_InfoColumn infoColumn : infoColumnlist) {
|
||||||
|
if (infoColumn.getAD_Reference_ID()>0)
|
||||||
|
{
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_Reference.Table_Name);
|
||||||
|
handler.packOut(packOut,document,null,infoColumn.getAD_Reference_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (infoColumn.getAD_Reference_Value_ID()>0)
|
||||||
|
{
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_Reference.Table_Name);
|
||||||
|
handler.packOut(packOut,document,null,infoColumn.getAD_Reference_Value_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (infoColumn.getAD_Val_Rule_ID() > 0)
|
||||||
|
{
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_Val_Rule.Table_Name);
|
||||||
|
handler.packOut(packOut,document,null,infoColumn.getAD_Val_Rule_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
createInfoColumn(ctx, document, infoColumn.getAD_InfoColumn_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
Query queryProc= new Query(ctx.ctx, "AD_InfoProcess", "AD_InfoWindow_ID = ?", getTrxName(ctx));
|
||||||
|
List<X_AD_InfoProcess> infoProcesslist = queryProc.setParameters(AD_InfoWindow_ID).list();
|
||||||
|
for (X_AD_InfoProcess infoProcess : infoProcesslist) {
|
||||||
|
if (infoProcess.getAD_Process_ID()>0)
|
||||||
|
{
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_Process.Table_Name);
|
||||||
|
handler.packOut(packOut,document,null,infoProcess.getAD_Process_ID());
|
||||||
|
}
|
||||||
|
createInfoProcess(ctx, document, infoProcess.getAD_InfoProcess_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
Query queryRel= new Query(ctx.ctx, "AD_InfoRelated", "AD_InfoWindow_ID = ?", getTrxName(ctx));
|
||||||
|
List<X_AD_InfoRelated> infoRelatedlist = queryRel.setParameters(AD_InfoWindow_ID).list();
|
||||||
|
for (X_AD_InfoRelated infoRelated : infoRelatedlist) {
|
||||||
|
createInfoRelated(ctx, document, infoRelated.getAD_InfoRelated_ID());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (createElement) {
|
||||||
|
document.endElement("", "", X_AD_InfoWindow.Table_Name);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new AdempiereException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoColumn(PIPOContext ctx, TransformerHandler document, int AD_InfoColumn_ID) throws SAXException {
|
||||||
|
Env.setContext(ctx.ctx, X_AD_InfoColumn.COLUMNNAME_AD_InfoColumn_ID, AD_InfoColumn_ID);
|
||||||
|
infoColumnHandler.create(ctx, document);
|
||||||
|
ctx.ctx.remove(X_AD_InfoColumn.COLUMNNAME_AD_InfoColumn_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoProcess(PIPOContext ctx, TransformerHandler document, int AD_InfoProcess_ID) throws SAXException {
|
||||||
|
Env.setContext(ctx.ctx, X_AD_InfoProcess.COLUMNNAME_AD_InfoProcess_ID, AD_InfoProcess_ID);
|
||||||
|
infoProcessHandler.create(ctx, document);
|
||||||
|
ctx.ctx.remove(X_AD_InfoProcess.COLUMNNAME_AD_InfoProcess_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoRelated(PIPOContext ctx, TransformerHandler document, int AD_InfoRelated_ID) throws SAXException {
|
||||||
|
Env.setContext(ctx.ctx, X_AD_InfoRelated.COLUMNNAME_AD_InfoRelated_ID, AD_InfoRelated_ID);
|
||||||
|
infoRelatedHandler.create(ctx, document);
|
||||||
|
ctx.ctx.remove(X_AD_InfoRelated.COLUMNNAME_AD_InfoRelated_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createInfoWindowBinding(PIPOContext ctx, TransformerHandler document, X_AD_InfoWindow m_InfoWindow) {
|
||||||
|
PoExporter filler = new PoExporter(ctx, document, m_InfoWindow);
|
||||||
|
List<String> excludes = defaultExcludeList(X_AD_InfoWindow.Table_Name);
|
||||||
|
|
||||||
|
if (m_InfoWindow.getAD_InfoWindow_ID() <= PackOut.MAX_OFFICIAL_ID)
|
||||||
|
filler.add("AD_InfoWindow_ID", new AttributesImpl());
|
||||||
|
|
||||||
|
filler.export(excludes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler,int recordId) throws Exception
|
||||||
|
{
|
||||||
|
Env.setContext(packout.getCtx().ctx, "AD_InfoWindow_ID", recordId);
|
||||||
|
this.create(packout.getCtx(), packoutHandler);
|
||||||
|
packout.getCtx().ctx.remove("AD_InfoWindow_ID");
|
||||||
|
}
|
||||||
|
}
|
|
@ -34,6 +34,7 @@ import org.adempiere.pipo2.PackOut;
|
||||||
import org.adempiere.pipo2.PoFiller;
|
import org.adempiere.pipo2.PoFiller;
|
||||||
import org.adempiere.pipo2.ReferenceUtils;
|
import org.adempiere.pipo2.ReferenceUtils;
|
||||||
import org.compiere.model.I_AD_Form;
|
import org.compiere.model.I_AD_Form;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow;
|
||||||
import org.compiere.model.I_AD_Menu;
|
import org.compiere.model.I_AD_Menu;
|
||||||
import org.compiere.model.I_AD_Process;
|
import org.compiere.model.I_AD_Process;
|
||||||
import org.compiere.model.I_AD_Task;
|
import org.compiere.model.I_AD_Task;
|
||||||
|
@ -230,7 +231,7 @@ public class MenuElementHandler extends AbstractElementHandler {
|
||||||
String sql = null;
|
String sql = null;
|
||||||
int AD_Tree_ID = getDefaultMenuTreeId();
|
int AD_Tree_ID = getDefaultMenuTreeId();
|
||||||
sql = "SELECT A.Node_ID, B.AD_Menu_ID, B.Name, B.AD_WINDOW_ID, B.AD_WORKFLOW_ID, B.AD_TASK_ID, "
|
sql = "SELECT A.Node_ID, B.AD_Menu_ID, B.Name, B.AD_WINDOW_ID, B.AD_WORKFLOW_ID, B.AD_TASK_ID, "
|
||||||
+ "B.AD_PROCESS_ID, B.AD_FORM_ID, B.AD_WORKBENCH_ID "
|
+ "B.AD_PROCESS_ID, B.AD_FORM_ID, B.AD_WORKBENCH_ID, B.AD_INFOWINDOW_ID "
|
||||||
+ "FROM AD_TreeNodeMM A, AD_Menu B "
|
+ "FROM AD_TreeNodeMM A, AD_Menu B "
|
||||||
+ "WHERE A.Node_ID = "
|
+ "WHERE A.Node_ID = "
|
||||||
+ AD_Menu_ID + " AND A.Node_ID = B.AD_Menu_ID" + " AND A.AD_Tree_ID="+AD_Tree_ID;
|
+ AD_Menu_ID + " AND A.Node_ID = B.AD_Menu_ID" + " AND A.AD_Tree_ID="+AD_Tree_ID;
|
||||||
|
@ -257,10 +258,11 @@ public class MenuElementHandler extends AbstractElementHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rs.getInt("AD_WINDOW_ID") > 0
|
if (rs.getInt("AD_WINDOW_ID") > 0
|
||||||
|| rs.getInt("AD_WORKFLOW_ID") > 0
|
|
||||||
|| rs.getInt("AD_TASK_ID") > 0
|
|
||||||
|| rs.getInt("AD_PROCESS_ID") > 0
|
|| rs.getInt("AD_PROCESS_ID") > 0
|
||||||
|| rs.getInt("AD_FORM_ID") > 0) {
|
|| rs.getInt("AD_TASK_ID") > 0
|
||||||
|
|| rs.getInt("AD_FORM_ID") > 0
|
||||||
|
|| rs.getInt("AD_WORKFLOW_ID") > 0
|
||||||
|
|| rs.getInt("AD_INFOWINDOW_ID") > 0) {
|
||||||
// Call CreateWindow.
|
// Call CreateWindow.
|
||||||
if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Window_ID)>0)
|
if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Window_ID)>0)
|
||||||
{
|
{
|
||||||
|
@ -286,6 +288,11 @@ public class MenuElementHandler extends AbstractElementHandler {
|
||||||
ElementHandler handler = packOut.getHandler(I_AD_Workflow.Table_Name);
|
ElementHandler handler = packOut.getHandler(I_AD_Workflow.Table_Name);
|
||||||
handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Workflow_ID));
|
handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Workflow_ID));
|
||||||
}
|
}
|
||||||
|
else if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_InfoWindow_ID) > 0)
|
||||||
|
{
|
||||||
|
ElementHandler handler = packOut.getHandler(I_AD_InfoWindow.Table_Name);
|
||||||
|
handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_InfoWindow_ID));
|
||||||
|
}
|
||||||
// Call CreateModule because entry is a summary menu
|
// Call CreateModule because entry is a summary menu
|
||||||
} else {
|
} else {
|
||||||
createModule(ctx, document, rs.getInt("Node_ID"));
|
createModule(ctx, document, rs.getInt("Node_ID"));
|
||||||
|
@ -306,7 +313,7 @@ public class MenuElementHandler extends AbstractElementHandler {
|
||||||
String sql = null;
|
String sql = null;
|
||||||
int AD_Tree_ID = getDefaultMenuTreeId();
|
int AD_Tree_ID = getDefaultMenuTreeId();
|
||||||
sql = "SELECT A.Node_ID, B.AD_Menu_ID, B.Name, B.AD_WINDOW_ID, B.AD_WORKFLOW_ID, B.AD_TASK_ID, "
|
sql = "SELECT A.Node_ID, B.AD_Menu_ID, B.Name, B.AD_WINDOW_ID, B.AD_WORKFLOW_ID, B.AD_TASK_ID, "
|
||||||
+ "B.AD_PROCESS_ID, B.AD_FORM_ID, B.AD_WORKBENCH_ID "
|
+ "B.AD_PROCESS_ID, B.AD_FORM_ID, B.AD_WORKBENCH_ID, B.AD_INFOWINDOW_ID "
|
||||||
+ "FROM AD_TreeNodeMM A, AD_Menu B "
|
+ "FROM AD_TreeNodeMM A, AD_Menu B "
|
||||||
+ "WHERE A.Parent_ID = "
|
+ "WHERE A.Parent_ID = "
|
||||||
+ menu_id + " AND A.Node_ID = B.AD_Menu_ID" + " AND A.AD_Tree_ID="+AD_Tree_ID;
|
+ menu_id + " AND A.Node_ID = B.AD_Menu_ID" + " AND A.AD_Tree_ID="+AD_Tree_ID;
|
||||||
|
@ -326,10 +333,11 @@ public class MenuElementHandler extends AbstractElementHandler {
|
||||||
document.startElement("", "", I_AD_Menu.Table_Name, atts);
|
document.startElement("", "", I_AD_Menu.Table_Name, atts);
|
||||||
createMenuBinding(ctx, document, m_Menu);
|
createMenuBinding(ctx, document, m_Menu);
|
||||||
if (rs.getInt("AD_WINDOW_ID") > 0
|
if (rs.getInt("AD_WINDOW_ID") > 0
|
||||||
|| rs.getInt("AD_WORKFLOW_ID") > 0
|
|
||||||
|| rs.getInt("AD_TASK_ID") > 0
|
|
||||||
|| rs.getInt("AD_PROCESS_ID") > 0
|
|| rs.getInt("AD_PROCESS_ID") > 0
|
||||||
|| rs.getInt("AD_FORM_ID") > 0) {
|
|| rs.getInt("AD_TASK_ID") > 0
|
||||||
|
|| rs.getInt("AD_FORM_ID") > 0
|
||||||
|
|| rs.getInt("AD_WORKFLOW_ID") > 0
|
||||||
|
|| rs.getInt("AD_INFOWINDOW_ID") > 0) {
|
||||||
// Call CreateWindow.
|
// Call CreateWindow.
|
||||||
if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Window_ID)>0)
|
if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Window_ID)>0)
|
||||||
{
|
{
|
||||||
|
@ -356,6 +364,11 @@ public class MenuElementHandler extends AbstractElementHandler {
|
||||||
ElementHandler handler = packOut.getHandler("AD_Workflow");
|
ElementHandler handler = packOut.getHandler("AD_Workflow");
|
||||||
handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Workflow_ID));
|
handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Workflow_ID));
|
||||||
}
|
}
|
||||||
|
else if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_InfoWindow_ID) > 0)
|
||||||
|
{
|
||||||
|
ElementHandler handler = packOut.getHandler("AD_InfoWindow");
|
||||||
|
handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_InfoWindow_ID));
|
||||||
|
}
|
||||||
// Call CreateModule because entry is a summary menu
|
// Call CreateModule because entry is a summary menu
|
||||||
} else {
|
} else {
|
||||||
createModule(ctx, document, rs.getInt("Node_ID"));
|
createModule(ctx, document, rs.getInt("Node_ID"));
|
||||||
|
|
|
@ -34,6 +34,7 @@ import org.adempiere.pipo2.exception.POSaveFailedException;
|
||||||
import org.compiere.model.I_AD_Role;
|
import org.compiere.model.I_AD_Role;
|
||||||
import org.compiere.model.MRole;
|
import org.compiere.model.MRole;
|
||||||
import org.compiere.model.X_AD_Form;
|
import org.compiere.model.X_AD_Form;
|
||||||
|
import org.compiere.model.X_AD_InfoWindow;
|
||||||
import org.compiere.model.X_AD_Package_Exp_Detail;
|
import org.compiere.model.X_AD_Package_Exp_Detail;
|
||||||
import org.compiere.model.X_AD_Package_Imp_Detail;
|
import org.compiere.model.X_AD_Package_Imp_Detail;
|
||||||
import org.compiere.model.X_AD_Process;
|
import org.compiere.model.X_AD_Process;
|
||||||
|
@ -55,6 +56,7 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
private FormAccessElementHandler formHandler = new FormAccessElementHandler();
|
private FormAccessElementHandler formHandler = new FormAccessElementHandler();
|
||||||
private TaskAccessElementHandler taskHandler = new TaskAccessElementHandler();
|
private TaskAccessElementHandler taskHandler = new TaskAccessElementHandler();
|
||||||
private WorkflowAccessElementHandler workflowHandler = new WorkflowAccessElementHandler();
|
private WorkflowAccessElementHandler workflowHandler = new WorkflowAccessElementHandler();
|
||||||
|
private InfoWindowAccessElementHandler infoWindowHandler = new InfoWindowAccessElementHandler();
|
||||||
|
|
||||||
public void startElement(PIPOContext ctx, Element element)
|
public void startElement(PIPOContext ctx, Element element)
|
||||||
throws SAXException {
|
throws SAXException {
|
||||||
|
@ -240,6 +242,23 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
} finally {
|
} finally {
|
||||||
DB.close(rs, pstmt);
|
DB.close(rs, pstmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Process AD_InfoWindow_Access Values
|
||||||
|
sql = "SELECT AD_InfoWindow_ID, AD_Role_ID FROM AD_InfoWindow_Access WHERE AD_Role_ID= " + Role_id;
|
||||||
|
pstmt = null;
|
||||||
|
rs = null;
|
||||||
|
try {
|
||||||
|
pstmt = DB.prepareStatement(sql, getTrxName(ctx));
|
||||||
|
rs = pstmt.executeQuery();
|
||||||
|
while (rs.next()) {
|
||||||
|
createInfoWindowAccess(ctx, document, rs.getInt("AD_InfoWindow_ID"), rs.getInt("AD_Role_ID"));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.log(Level.SEVERE, "AD_InfoWindow_Access", e);
|
||||||
|
throw new DatabaseAccessException("Failed to export InfoWindow access.");
|
||||||
|
} finally {
|
||||||
|
DB.close(rs, pstmt);
|
||||||
|
}
|
||||||
|
|
||||||
if (createElement) {
|
if (createElement) {
|
||||||
document.endElement("", "", X_AD_Role.Table_Name);
|
document.endElement("", "", X_AD_Role.Table_Name);
|
||||||
|
@ -291,6 +310,15 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createInfoWindowAccess(PIPOContext ctx,
|
||||||
|
TransformerHandler document, int AD_InfoWindow_ID, int AD_Role_ID) throws SAXException {
|
||||||
|
Env.setContext(ctx.ctx, X_AD_InfoWindow.COLUMNNAME_AD_InfoWindow_ID, AD_InfoWindow_ID);
|
||||||
|
Env.setContext(ctx.ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, AD_Role_ID);
|
||||||
|
infoWindowHandler.create(ctx, document);
|
||||||
|
ctx.ctx.remove(X_AD_InfoWindow.COLUMNNAME_AD_InfoWindow_ID);
|
||||||
|
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
private void createUserRole(PIPOContext ctx, TransformerHandler document,
|
private void createUserRole(PIPOContext ctx, TransformerHandler document,
|
||||||
int AD_User_ID, int AD_Role_ID, int AD_Org_ID) throws SAXException {
|
int AD_User_ID, int AD_Role_ID, int AD_Org_ID) throws SAXException {
|
||||||
|
|
|
@ -426,12 +426,14 @@ public class PackInHandler extends DefaultHandler {
|
||||||
|
|
||||||
String fkConstraintSql = MColumn.getForeignKeyConstraintSql(md, catalog, schema, tableName, table, column, false);
|
String fkConstraintSql = MColumn.getForeignKeyConstraintSql(md, catalog, schema, tableName, table, column, false);
|
||||||
if (! Util.isEmpty(fkConstraintSql)) {
|
if (! Util.isEmpty(fkConstraintSql)) {
|
||||||
|
if (fkConstraintSql.toLowerCase().contains(" ad_sequence(ad_sequence_id)"))
|
||||||
|
fkConstraintSql = fkConstraintSql + "; COMMIT";
|
||||||
if (fkConstraintSql.indexOf(DB.SQLSTATEMENT_SEPARATOR) == -1) {
|
if (fkConstraintSql.indexOf(DB.SQLSTATEMENT_SEPARATOR) == -1) {
|
||||||
DB.executeUpdate(fkConstraintSql, false, m_ctx.trx.getTrxName());
|
DB.executeUpdate(fkConstraintSql, false, m_ctx.trx.getTrxName());
|
||||||
} else {
|
} else {
|
||||||
String statements[] = fkConstraintSql.split(DB.SQLSTATEMENT_SEPARATOR);
|
String statements[] = fkConstraintSql.split(DB.SQLSTATEMENT_SEPARATOR);
|
||||||
for (int i = 0; i < statements.length; i++) {
|
for (int i = 0; i < statements.length; i++) {
|
||||||
if (Util.isEmpty(statements[i]))
|
if (Util.isEmpty(statements[i], true))
|
||||||
continue;
|
continue;
|
||||||
DB.executeUpdateEx(statements[i], m_ctx.trx.getTrxName());
|
DB.executeUpdateEx(statements[i], m_ctx.trx.getTrxName());
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ import java.util.logging.Level;
|
||||||
import org.compiere.model.I_AD_EntityType;
|
import org.compiere.model.I_AD_EntityType;
|
||||||
import org.compiere.model.I_AD_Form;
|
import org.compiere.model.I_AD_Form;
|
||||||
import org.compiere.model.I_AD_ImpFormat;
|
import org.compiere.model.I_AD_ImpFormat;
|
||||||
|
import org.compiere.model.I_AD_InfoWindow;
|
||||||
import org.compiere.model.I_AD_Menu;
|
import org.compiere.model.I_AD_Menu;
|
||||||
import org.compiere.model.I_AD_Message;
|
import org.compiere.model.I_AD_Message;
|
||||||
import org.compiere.model.I_AD_ModelValidator;
|
import org.compiere.model.I_AD_ModelValidator;
|
||||||
|
@ -195,6 +196,8 @@ public class PackOutProcess extends SvrProcess
|
||||||
return I_AD_ModelValidator.Table_Name;
|
return I_AD_ModelValidator.Table_Name;
|
||||||
else if (X_AD_Package_Exp_Detail.TYPE_EntityType.equals(type))
|
else if (X_AD_Package_Exp_Detail.TYPE_EntityType.equals(type))
|
||||||
return I_AD_EntityType.Table_Name;
|
return I_AD_EntityType.Table_Name;
|
||||||
|
else if (X_AD_Package_Exp_Detail.TYPE_InfoWindow.equals(type))
|
||||||
|
return I_AD_InfoWindow.Table_Name;
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -303,7 +303,7 @@ public class PoFiller{
|
||||||
} else if (info.getColumnClass(index) == Timestamp.class) {
|
} else if (info.getColumnClass(index) == Timestamp.class) {
|
||||||
setTimestamp(qName);
|
setTimestamp(qName);
|
||||||
}else if(DisplayType.TextLong == info.getColumnDisplayType(index)) {// export column from system have type is normal string, but import to system have this column but type is textlong (mean blob)
|
}else if(DisplayType.TextLong == info.getColumnDisplayType(index)) {// export column from system have type is normal string, but import to system have this column but type is textlong (mean blob)
|
||||||
if (getStringValue (qName) != null || !isBlobOnPackinFile(qName)) {
|
if (getStringValue (qName) != null && !isBlobOnPackinFile(qName)) {
|
||||||
setString(qName);
|
setString(qName);
|
||||||
}else {
|
}else {
|
||||||
setBlob(qName);
|
setBlob(qName);
|
||||||
|
|
|
@ -43,7 +43,7 @@ public abstract class AbstractActivator implements BundleActivator, ServiceTrack
|
||||||
protected BundleContext context;
|
protected BundleContext context;
|
||||||
protected ServiceTracker<IDictionaryService, IDictionaryService> serviceTracker;
|
protected ServiceTracker<IDictionaryService, IDictionaryService> serviceTracker;
|
||||||
protected IDictionaryService service;
|
protected IDictionaryService service;
|
||||||
private String trxName = "";
|
private String trxName = null;
|
||||||
private ProcessInfo m_processInfo = null;
|
private ProcessInfo m_processInfo = null;
|
||||||
private IProcessUI m_processUI = null;
|
private IProcessUI m_processUI = null;
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ public abstract class AbstractActivator implements BundleActivator, ServiceTrack
|
||||||
service.merge(context, zipfile);
|
service.merge(context, zipfile);
|
||||||
success = true;
|
success = true;
|
||||||
} else {
|
} else {
|
||||||
logger.log(Level.SEVERE, "The file was previously installed: " + zipfile.getName());
|
logger.log(Level.WARNING, "The file was previously installed: " + zipfile.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
|
@ -77,7 +77,7 @@ public abstract class AbstractActivator implements BundleActivator, ServiceTrack
|
||||||
addLog(Level.SEVERE, "Could not find an IDictionaryService to process the zip files");
|
addLog(Level.SEVERE, "Could not find an IDictionaryService to process the zip files");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
addLog(Level.SEVERE, "The file was previously installed: " + zipfile.getName());
|
addLog(Level.WARNING, "The file was previously installed: " + zipfile.getName());
|
||||||
success = true;
|
success = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,15 +107,24 @@ public abstract class AbstractActivator implements BundleActivator, ServiceTrack
|
||||||
|
|
||||||
while(maxAttempts > 0 && !lockAcquired) {
|
while(maxAttempts > 0 && !lockAcquired) {
|
||||||
maxAttempts --;
|
maxAttempts --;
|
||||||
if (getDBLock(timeout))
|
if (logger.isLoggable(Level.INFO)) logger.log(Level.INFO, "Acquiring lock with timeout " + timeout + " for " + getName() + " / remaining attempts " + maxAttempts);
|
||||||
lockAcquired = true;
|
try {
|
||||||
|
if (getDBLock(timeout))
|
||||||
|
lockAcquired = true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
// Timeout throws DBException, ignore and try again
|
||||||
|
releaseLock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return lockAcquired;
|
return lockAcquired;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void releaseLock() {
|
public void releaseLock() {
|
||||||
Trx.get(trxName, false).close();
|
if (trxName != null) {
|
||||||
|
Trx.get(trxName, false).close();
|
||||||
|
trxName = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean getDBLock(int timeout) throws AdempiereSystemError {
|
private boolean getDBLock(int timeout) throws AdempiereSystemError {
|
||||||
|
|
|
@ -60,16 +60,17 @@ public class AdempiereActivator extends AbstractActivator {
|
||||||
if (pkg == null) {
|
if (pkg == null) {
|
||||||
try {
|
try {
|
||||||
if (getDBLock()) {
|
if (getDBLock()) {
|
||||||
System.out.println("Installing " + getName() + " " + version + " ...");
|
logger.log(Level.WARNING, "Installing " + getName() + " " + version + " ...");
|
||||||
packIn();
|
packIn();
|
||||||
install();
|
install();
|
||||||
releaseLock();
|
logger.log(Level.WARNING, getName() + " " + version + " installed.");
|
||||||
System.out.println(getName() + " " + version + " installed.");
|
|
||||||
} else {
|
} else {
|
||||||
logger.log(Level.SEVERE, "Could not acquire the DB lock to install:" + getName());
|
logger.log(Level.WARNING, "Could not acquire the DB lock to install:" + getName());
|
||||||
}
|
}
|
||||||
} catch (AdempiereSystemError e) {
|
} catch (AdempiereSystemError e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
releaseLock();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (logger.isLoggable(Level.INFO)) logger.info(getName() + " " + version + " was installed: "
|
if (logger.isLoggable(Level.INFO)) logger.info(getName() + " " + version + " was installed: "
|
||||||
|
@ -121,7 +122,7 @@ public class AdempiereActivator extends AbstractActivator {
|
||||||
// call 2pack
|
// call 2pack
|
||||||
merge(zipfile, getPKVersion());
|
merge(zipfile, getPKVersion());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.log(Level.SEVERE, "Pack in failed.", e);
|
logger.log(Level.WARNING, "Pack in failed.", e);
|
||||||
}
|
}
|
||||||
finally{
|
finally{
|
||||||
if (zipstream != null) {
|
if (zipstream != null) {
|
||||||
|
|
|
@ -157,7 +157,7 @@ public class Incremental2PackActivator extends AbstractActivator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (patch) {
|
if (patch) {
|
||||||
System.out.println("Patch Meta Data for " + getName() + " " + entry.version + " ...");
|
logger.log(Level.WARNING, "Patch Meta Data for " + getName() + " " + entry.version + " ...");
|
||||||
|
|
||||||
X_AD_Package_Imp pi = new X_AD_Package_Imp(Env.getCtx(), 0, trx.getTrxName());
|
X_AD_Package_Imp pi = new X_AD_Package_Imp(Env.getCtx(), 0, trx.getTrxName());
|
||||||
pi.setName(getName());
|
pi.setName(getName());
|
||||||
|
@ -175,7 +175,7 @@ public class Incremental2PackActivator extends AbstractActivator {
|
||||||
trx.commit(true);
|
trx.commit(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
trx.rollback();
|
trx.rollback();
|
||||||
logger.log(Level.SEVERE, e.getLocalizedMessage(), e);
|
logger.log(Level.WARNING, e.getLocalizedMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
trx.close();
|
trx.close();
|
||||||
}
|
}
|
||||||
|
@ -197,12 +197,13 @@ public class Incremental2PackActivator extends AbstractActivator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
releaseLock();
|
|
||||||
} else {
|
} else {
|
||||||
logger.log(Level.SEVERE, "Could not acquire the DB lock to install:" + getName());
|
logger.log(Level.WARNING, "Could not acquire the DB lock to install:" + getName());
|
||||||
}
|
}
|
||||||
} catch (AdempiereSystemError e) {
|
} catch (AdempiereSystemError e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
releaseLock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,7 +221,7 @@ public class Incremental2PackActivator extends AbstractActivator {
|
||||||
MSession.get(Env.getCtx(), true);
|
MSession.get(Env.getCtx(), true);
|
||||||
String path = packout.getPath();
|
String path = packout.getPath();
|
||||||
String suffix = "_"+path.substring(path.lastIndexOf("2Pack_"));
|
String suffix = "_"+path.substring(path.lastIndexOf("2Pack_"));
|
||||||
System.out.println("Installing " + getName() + " " + path + " ...");
|
logger.log(Level.WARNING, "Installing " + getName() + " " + path + " ...");
|
||||||
FileOutputStream zipstream = null;
|
FileOutputStream zipstream = null;
|
||||||
try {
|
try {
|
||||||
// copy the resource to a temporary file to process it with 2pack
|
// copy the resource to a temporary file to process it with 2pack
|
||||||
|
@ -236,7 +237,7 @@ public class Incremental2PackActivator extends AbstractActivator {
|
||||||
if (!merge(zipfile, extractVersionString(packout)))
|
if (!merge(zipfile, extractVersionString(packout)))
|
||||||
return false;
|
return false;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.log(Level.SEVERE, "Pack in failed.", e);
|
logger.log(Level.WARNING, "Pack in failed.", e);
|
||||||
return false;
|
return false;
|
||||||
} finally{
|
} finally{
|
||||||
if (zipstream != null) {
|
if (zipstream != null) {
|
||||||
|
@ -245,7 +246,7 @@ public class Incremental2PackActivator extends AbstractActivator {
|
||||||
} catch (Exception e2) {}
|
} catch (Exception e2) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println(getName() + " " + packout.getPath() + " installed");
|
logger.log(Level.WARNING, getName() + " " + packout.getPath() + " installed");
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,19 +167,19 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
currentFile = zipFile;
|
currentFile = zipFile;
|
||||||
if (!packIn(zipFile)) {
|
if (!packIn(zipFile)) {
|
||||||
// stop processing further packages if one fail
|
// stop processing further packages if one fail
|
||||||
addLog(Level.SEVERE, "Failed application of " + zipFile);
|
addLog(Level.WARNING, "Failed application of " + zipFile);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
addLog(Level.INFO, "Successful application of " + zipFile);
|
addLog(Level.INFO, "Successful application of " + zipFile);
|
||||||
filesToProcess.remove(zipFile);
|
filesToProcess.remove(zipFile);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
addLog(Level.SEVERE, "Could not acquire the DB lock to automatically install the packins");
|
addLog(Level.WARNING, "Could not acquire the DB lock to automatically install the packins");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch (AdempiereSystemError e) {
|
} catch (AdempiereSystemError e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
addLog(Level.SEVERE, e.getLocalizedMessage());
|
addLog(Level.WARNING, e.getLocalizedMessage());
|
||||||
} finally {
|
} finally {
|
||||||
releaseLock();
|
releaseLock();
|
||||||
}
|
}
|
||||||
|
@ -212,7 +212,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
seedClientValue = clientValue.split("-")[2];
|
seedClientValue = clientValue.split("-")[2];
|
||||||
seedClientIDs = getClientIDs(seedClientValue);
|
seedClientIDs = getClientIDs(seedClientValue);
|
||||||
if (seedClientIDs.length == 0) {
|
if (seedClientIDs.length == 0) {
|
||||||
logger.log(Level.SEVERE, "Seed client does not exist: " + seedClientValue);
|
logger.log(Level.WARNING, "Seed client does not exist: " + seedClientValue);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -234,7 +234,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
} else {
|
} else {
|
||||||
clientIDs = getClientIDs(clientValue);
|
clientIDs = getClientIDs(clientValue);
|
||||||
if (clientIDs.length == 0) {
|
if (clientIDs.length == 0) {
|
||||||
logger.log(Level.SEVERE, "Client does not exist: " + clientValue);
|
logger.log(Level.WARNING, "Client does not exist: " + clientValue);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -258,7 +258,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.log(Level.SEVERE, "Pack in failed.", e);
|
logger.log(Level.WARNING, "Pack in failed.", e);
|
||||||
return false;
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
Env.setContext(Env.getCtx(), "#AD_Client_ID", 0);
|
Env.setContext(Env.getCtx(), "#AD_Client_ID", 0);
|
||||||
|
@ -299,7 +299,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
for (String filePath : filePaths) {
|
for (String filePath : filePaths) {
|
||||||
File toProcess = new File(filePath.trim());
|
File toProcess = new File(filePath.trim());
|
||||||
if (!toProcess.exists()) {
|
if (!toProcess.exists()) {
|
||||||
addLog(Level.SEVERE, filePath + " does not exist");
|
addLog(Level.WARNING, filePath + " does not exist");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,7 +326,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
if (toProcess.getName().toLowerCase().endsWith(".zip"))
|
if (toProcess.getName().toLowerCase().endsWith(".zip"))
|
||||||
filesToProcess.add(toProcess);
|
filesToProcess.add(toProcess);
|
||||||
else {
|
else {
|
||||||
logger.log(Level.SEVERE, toProcess.getName() + " is not a valid .zip file");
|
logger.log(Level.WARNING, toProcess.getName() + " is not a valid .zip file");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (toProcess.isDirectory() && toProcess.canRead()) {
|
} else if (toProcess.isDirectory() && toProcess.canRead()) {
|
||||||
|
@ -350,7 +350,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
if (fileToProcess.canRead()) {
|
if (fileToProcess.canRead()) {
|
||||||
filesToProcess.add(fileToProcess);
|
filesToProcess.add(fileToProcess);
|
||||||
} else {
|
} else {
|
||||||
addLog(Level.SEVERE, fileToProcess.getName() + " not readable");
|
addLog(Level.WARNING, fileToProcess.getName() + " not readable");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -359,7 +359,7 @@ public class PackInApplicationActivator extends AbstractActivator {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
addLog(Level.SEVERE, toProcess.getName() + " not a file or folder or not readable");
|
addLog(Level.WARNING, toProcess.getName() + " not a file or folder or not readable");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -169,12 +169,13 @@ public class Version2PackActivator extends AbstractActivator {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
releaseLock();
|
|
||||||
} else {
|
} else {
|
||||||
logger.log(Level.SEVERE, "Could not acquire the DB lock to install:" + getName());
|
logger.log(Level.WARNING, "Could not acquire the DB lock to install:" + getName());
|
||||||
}
|
}
|
||||||
} catch (AdempiereSystemError e) {
|
} catch (AdempiereSystemError e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
releaseLock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,7 +191,7 @@ public class Version2PackActivator extends AbstractActivator {
|
||||||
if (packout != null && service != null) {
|
if (packout != null && service != null) {
|
||||||
String path = packout.getPath();
|
String path = packout.getPath();
|
||||||
String suffix = "_"+path.substring(path.lastIndexOf("2Pack_"));
|
String suffix = "_"+path.substring(path.lastIndexOf("2Pack_"));
|
||||||
System.out.println("Installing " + getName() + " " + path + " ...");
|
logger.log(Level.WARNING, "Installing " + getName() + " " + path + " ...");
|
||||||
FileOutputStream zipstream = null;
|
FileOutputStream zipstream = null;
|
||||||
try {
|
try {
|
||||||
// copy the resource to a temporary file to process it with 2pack
|
// copy the resource to a temporary file to process it with 2pack
|
||||||
|
@ -206,7 +207,7 @@ public class Version2PackActivator extends AbstractActivator {
|
||||||
if (!merge(zipfile, extractVersionString(packout)))
|
if (!merge(zipfile, extractVersionString(packout)))
|
||||||
return false;
|
return false;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.log(Level.SEVERE, "Pack in failed.", e);
|
logger.log(Level.WARNING, "Pack in failed.", e);
|
||||||
return false;
|
return false;
|
||||||
} finally{
|
} finally{
|
||||||
if (zipstream != null) {
|
if (zipstream != null) {
|
||||||
|
@ -215,7 +216,7 @@ public class Version2PackActivator extends AbstractActivator {
|
||||||
} catch (Exception e2) {}
|
} catch (Exception e2) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println(getName() + " " + packout.getPath() + " installed");
|
logger.log(Level.WARNING, getName() + " " + packout.getPath() + " installed");
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE project>
|
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<get src="${url.maven2}/org/codehaus/castor/castor-core/1.3.3/castor-core-1.3.3.jar" dest="lib/castor-core.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/codehaus/castor/castor-xml/1.3.3/castor-xml-1.3.3.jar" dest="lib/castor-xml.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.jp.lib}/jasperreports-fonts-${jp-verion}.jar" dest="lib/jasperreports-fonts.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.jp}/net/sf/jasperreports/jasperreports-chart-themes/${jp-verion}/jasperreports-chart-themes-${jp-verion}.jar" dest="lib/jasperreports-chart-themes.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.jp}/net/sf/jasperreports/jasperreports-chart-customizers/${jp-verion}/jasperreports-chart-customizers-${jp-verion}.jar" dest="lib/jasperreports-chart-customizers.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.jp}/net/sf/jasperreports/jasperreports-functions/${jp-verion}/jasperreports-functions-${jp-verion}.jar" dest="lib/jasperreports-functions.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/mozilla/rhino/1.7.6/rhino-1.7.6.jar" dest="lib/rhino.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.jp.other}/org/olap4j/olap4j/0.9.7.309-JS-3/olap4j-0.9.7.309-JS-3.jar" dest="lib/olap4j.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-beans/2.5/spring-beans-2.5.jar" dest="lib/spring-beans.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-core/2.5/spring-core-2.5.jar" dest="lib/spring-core.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/xml-apis/xml-apis-ext/1.3.04/xml-apis-ext-1.3.04.jar" dest="lib/xml-apis-ext.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/adobe/xmp/xmpcore/5.1.1/xmpcore-5.1.1.jar" dest="lib/xmpcore.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,87 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<cspecExtension
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
|
|
||||||
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<dependencies>
|
|
||||||
<!-- Place your Dependencies here -->
|
|
||||||
<dependency name="org.idempiere.equinox.p2.director.feature" componentType="eclipse.feature"/>
|
|
||||||
<dependency name="org.idempiere.fitnesse.feature" componentType="eclipse.feature"/>
|
|
||||||
<dependency name="org.idempiere.fitnesse.fixture" componentType="osgi.bundle"/>
|
|
||||||
<dependency name="org.idempiere.fitnesse.server" componentType="osgi.bundle"/>
|
|
||||||
<dependency name="org.idempiere.fitrecorder" componentType="osgi.bundle"/>
|
|
||||||
<dependency name="org.idempiere.ui.zk.selenium" componentType="osgi.bundle"/>
|
|
||||||
</dependencies>
|
|
||||||
<generators>
|
|
||||||
<!-- Place your Generators here -->
|
|
||||||
</generators>
|
|
||||||
<artifacts>
|
|
||||||
<!-- Place your Artifacts here -->
|
|
||||||
</artifacts>
|
|
||||||
<actions>
|
|
||||||
<public name="create.product" actor="ant">
|
|
||||||
<actorProperties>
|
|
||||||
<property key="buildFile" value="product.ant" />
|
|
||||||
<property key="targets" value="create.product" />
|
|
||||||
</actorProperties>
|
|
||||||
<properties>
|
|
||||||
<property key="profile" value="${product.profile}" />
|
|
||||||
<property key="iu" value="${product.id}" />
|
|
||||||
<property key="features" value="${product.features}" />
|
|
||||||
</properties>
|
|
||||||
<prerequisites alias="repository">
|
|
||||||
<attribute name="site.p2"/>
|
|
||||||
</prerequisites>
|
|
||||||
<products alias="destination" base="${buckminster.output}">
|
|
||||||
<path path="idempiere.${target.ws}.${target.os}.${target.arch}/" ></path>
|
|
||||||
</products>
|
|
||||||
</public>
|
|
||||||
<public name="create.product.zip" actor="ant">
|
|
||||||
<actorProperties>
|
|
||||||
<property key="buildFileId" value="buckminster.pdetasks" />
|
|
||||||
<property key="targets" value="create.zip" />
|
|
||||||
</actorProperties>
|
|
||||||
<prerequisites alias="action.requirements">
|
|
||||||
<attribute name="create.product" />
|
|
||||||
</prerequisites>
|
|
||||||
<products alias="action.output" base="${buckminster.output}">
|
|
||||||
<path path="idempiereServer.${target.ws}.${target.os}.${target.arch}.zip" ></path>
|
|
||||||
</products>
|
|
||||||
</public>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<actorProperties>
|
|
||||||
<property key="buildFile" value="copyjars.xml" />
|
|
||||||
<property key="targets" value="copy" />
|
|
||||||
</actorProperties>
|
|
||||||
</public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- Place your Groups here -->
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<private name="buckminster.postbind">
|
|
||||||
<attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</private>
|
|
||||||
</groups>
|
|
||||||
<alterDependencies>
|
|
||||||
<!-- Place your Dependency alterations here -->
|
|
||||||
</alterDependencies>
|
|
||||||
<alterArtifacts>
|
|
||||||
<!-- Place your Artifact alterations here -->
|
|
||||||
</alterArtifacts>
|
|
||||||
<alterActions>
|
|
||||||
<!-- Place your Action alterations here -->
|
|
||||||
</alterActions>
|
|
||||||
<alterGroups>
|
|
||||||
<public name="bundle.jars">
|
|
||||||
<attribute name="bundle.jars" component="org.idempiere.fitnesse.fixture"/>
|
|
||||||
<attribute name="bundle.jars" component="org.idempiere.fitnesse.server"/>
|
|
||||||
<attribute name="bundle.jars" component="org.idempiere.fitrecorder"/>
|
|
||||||
<attribute name="bundle.jars" component="org.idempiere.ui.zk.selenium"/>
|
|
||||||
</public>
|
|
||||||
<public name="feature.references">
|
|
||||||
<attribute name="feature.jars" component="org.idempiere.equinox.p2.director.feature"/>
|
|
||||||
<attribute name="feature.jars" component="org.idempiere.fitnesse.feature"/>
|
|
||||||
</public>
|
|
||||||
</alterGroups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,19 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=*
|
|
||||||
target.ws=*
|
|
||||||
target.arch=*
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
|
@ -1,19 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=linux
|
|
||||||
target.ws=gtk
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
|
@ -1,20 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=linux
|
|
||||||
target.ws=gtk
|
|
||||||
target.arch=x86_64
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=macosx
|
|
||||||
target.ws=cocoa
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
|
@ -1,19 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=solaris
|
|
||||||
target.ws=gtk
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
|
@ -1,19 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=win32
|
|
||||||
target.ws=win32
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
|
@ -1,19 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=win32
|
|
||||||
target.ws=win32
|
|
||||||
target.arch=x86_64
|
|
||||||
|
|
||||||
product.features=org.idempiere.fitnesse.feature.feature.group, org.idempiere.equinox.p2.director.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.server.product, org.eclipse.equinox.p2.director
|
|
||||||
|
|
||||||
osgi.user.area=${user.home}
|
|
||||||
osgi.user.area.default=${user.home}
|
|
||||||
osgi.configuration.area.default=configuration
|
|
|
@ -1,41 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<target name="copy">
|
|
||||||
<mkdir dir="data/seed" />
|
|
||||||
<get src="${url.file.srv}/database/6.1/Adempiere_pg.jar" dest="data/seed/Adempiere_pg.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/database/6.1/Adempiere.jar" dest="data/seed/Adempiere.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
|
|
||||||
<mkdir dir="../db/ddlutils/lib" />
|
|
||||||
<get src="${url.maven2}/ant-contrib/ant-contrib/1.0b2/ant-contrib-1.0b2.jar" dest="../db/ddlutils/lib/ant-contrib.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" dest="../db/ddlutils/lib/commons-beanutils.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-betwixt/commons-betwixt/0.8/commons-betwixt-0.8.jar" dest="../db/ddlutils/lib/commons-betwixt.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" dest="../db/ddlutils/lib/commons-codec.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-collections/commons-collections/3.1/commons-collections-3.1.jar" dest="../db/ddlutils/lib/commons-collections.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar" dest="../db/ddlutils/lib/commons-dbcp.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-digester/commons-digester/1.7/commons-digester-1.7.jar" dest="../db/ddlutils/lib/commons-digester.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-lang/commons-lang/2.1/commons-lang-2.1.jar" dest="../db/ddlutils/lib/commons-lang.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" dest="../db/ddlutils/lib/commons-logging.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-pool/commons-pool/1.2/commons-pool-1.2.jar" dest="../db/ddlutils/lib/commons-pool.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/ddlutils/ddlutils/1.0/ddlutils-1.0.jar" dest="../db/ddlutils/lib/DdlUtils.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/dom4j/dom4j/1.4/dom4j-1.4.jar" dest="../db/ddlutils/lib/dom4j.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<!-- it's fyracle db, not yet support on idempiere
|
|
||||||
https://it.wikipedia.org/wiki/Fyracle
|
|
||||||
http://www.biz-wise.nl/compiere_dl.html
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/fyracle.jar" dest="../db/ddlutils/lib/fyracle.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
-->
|
|
||||||
<get src="${url.maven2}/oro/oro/2.0.8/oro-2.0.8.jar" dest="../db/ddlutils/lib/jakarta-oro.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/oracle.jar" dest="../db/ddlutils/lib/oracle.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/postgresql.jar" dest="../db/ddlutils/lib/postgresql.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/stax/stax-api/1.0.1/stax-api-1.0.1.jar" dest="../db/ddlutils/lib/stax-api.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/woodstox/wstx-asl/3.0.2/wstx-asl-3.0.2.jar" dest="../db/ddlutils/lib/wstx-asl.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
|
|
||||||
<mkdir dir="../fitnesse/FitNesseRoot/FitLibraryWeb" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/101-20121212164242.zip" dest="../fitnesse/FitNesseRoot/FitLibraryWeb/101-20121212164242.zip" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/21-20121212154702.zip" dest="../fitnesse/FitNesseRoot/FitLibraryWeb/21-20121212154702.zip" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/6-20121212124109.zip" dest="../fitnesse/FitNesseRoot/FitLibraryWeb/6-20121212124109.zip" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<!-- maybe it's same file in org.idempiere.fitnesse.server, just diference version-->
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/fitnesse2.jar" dest="../fitnesse/fitnesse.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
|
|
||||||
<get src="${url.alpn.boot}" dest="../alpn-boot.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,58 +0,0 @@
|
||||||
<project>
|
|
||||||
<pathconvert property="equinox.launcher.jar">
|
|
||||||
<first count="1">
|
|
||||||
<sort>
|
|
||||||
<fileset dir="${eclipse.home}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar"/>
|
|
||||||
<reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
|
|
||||||
<date/>
|
|
||||||
</reverse>
|
|
||||||
</sort>
|
|
||||||
</first>
|
|
||||||
</pathconvert>
|
|
||||||
|
|
||||||
<target name="create.product">
|
|
||||||
<property name="installableIUs" value="${iu},${features}" />
|
|
||||||
<property name="destination" location="${sp:destination}"/>
|
|
||||||
<delete dir="${destination}"/>
|
|
||||||
<makeurl property="repository" file="${sp:repository}"/>
|
|
||||||
<mkdir dir="${destination}"/>
|
|
||||||
<echoproperties/>
|
|
||||||
<echo message="${equinox.launcher.jar}"/>
|
|
||||||
<echo message="${repository}"/>
|
|
||||||
<echo message="${destination}"/>
|
|
||||||
<java outputproperty="javaoutput" resultproperty="javaresult" jar="${equinox.launcher.jar}" fork="true" failonerror="false" >
|
|
||||||
<arg value="-application"/>
|
|
||||||
<arg value="org.eclipse.equinox.p2.director"/>
|
|
||||||
<arg value="-repository"/>
|
|
||||||
<arg value="${repository}"/>
|
|
||||||
<arg value="-destination"/>
|
|
||||||
<arg value="${destination}/idempiere-server"/>
|
|
||||||
<arg value="-profile"/>
|
|
||||||
<arg value="${profile}"/>
|
|
||||||
<arg value="-profileProperties" />
|
|
||||||
<arg value="org.eclipse.update.install.features=true" />
|
|
||||||
<arg value="-installIU"/>
|
|
||||||
<arg value="${installableIUs}"/>
|
|
||||||
<arg value="-p2.os" />
|
|
||||||
<arg value="${target.os}" />
|
|
||||||
<arg value="-p2.ws" />
|
|
||||||
<arg value="${target.ws}" />
|
|
||||||
<arg value="-p2.arch" />
|
|
||||||
<arg value="${target.arch}" />
|
|
||||||
<arg value="-consoleLog"/>
|
|
||||||
<arg value="-roaming"/>
|
|
||||||
<!-- jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/ -->
|
|
||||||
</java>
|
|
||||||
<!-- IDEMPIERE-1618: This block gives an error message on console. Else errors here are hard
|
|
||||||
to identify for unexperienced users because the java runs in a fork and gives no output to
|
|
||||||
stdout. Messages are still in the latest logfile in ECLIPSE_HOME/configuration
|
|
||||||
(or buckminster) - thanks to CarlosRuiz for this hint.
|
|
||||||
-->
|
|
||||||
<echo message="${javaresult}" />
|
|
||||||
<fail message="result: ${javaresult}\n${javaoutput}">
|
|
||||||
<condition>
|
|
||||||
<not><equals arg1="${javaresult}" arg2="0"/></not>
|
|
||||||
</condition>
|
|
||||||
</fail>
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ $IDEMPIERE_HOME ]; then
|
||||||
|
cd $IDEMPIERE_HOME/utils
|
||||||
|
else
|
||||||
|
cd "`dirname $0`"
|
||||||
|
fi
|
||||||
|
. ./myEnvironment.sh Server
|
||||||
|
|
||||||
|
if [ $JAVA_HOME ]; then
|
||||||
|
JAVA=$JAVA_HOME/bin/java
|
||||||
|
else
|
||||||
|
JAVA=java
|
||||||
|
fi
|
||||||
|
|
||||||
|
# $Id: RUN_ApplyPackInFromFolder.sh
|
||||||
|
echo Apply PackIn from Folder - $IDEMPIERE_HOME \($ADEMPIERE_DB_NAME\)
|
||||||
|
|
||||||
|
if [ $# -eq 1 ]
|
||||||
|
then
|
||||||
|
export DIRECTORY=$1
|
||||||
|
else
|
||||||
|
echo "Usage: $0 folder"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo This Procedure import packin files from directory $DIRECTORY
|
||||||
|
|
||||||
|
$JAVA -Dosgi.compatibility.bootdelegation=true -Dosgi.noShutdown=false -jar plugins/org.eclipse.equinox.launcher_1.*.jar -application org.adempiere.base.PackInFolderApplication $DIRECTORY
|
||||||
|
|
||||||
|
echo Done
|
||||||
|
echo .
|
||||||
|
echo For problems, check log file in base directory
|
|
@ -1,10 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
|
||||||
# $Id: RUN_ImportReference.sh,v 1.11 2005/12/13 00:17:54 jjanke Exp $
|
|
||||||
|
|
||||||
|
# Author + Copyright 1999-2005 Jorg Janke
|
||||||
|
# $Id: RUN_DBExport.sh,v 1.10 2005/05/31 18:45:33 jjanke Exp $
|
||||||
if [ $IDEMPIERE_HOME ]; then
|
if [ $IDEMPIERE_HOME ]; then
|
||||||
cd $IDEMPIERE_HOME/utils
|
cd $IDEMPIERE_HOME/utils
|
||||||
fi
|
fi
|
||||||
. ./myEnvironment.sh Server
|
. ./myEnvironment.sh Server
|
||||||
echo Export Reference - $IDEMPIERE_HOME \($ADEMPIERE_DB_NAME\)
|
echo Export idempiere Database - $IDEMPIERE_HOME \($ADEMPIERE_DB_NAME\)
|
||||||
sh $ADEMPIERE_DB_PATH/ExportReference.sh
|
|
||||||
|
|
||||||
|
# Parameter: <adempiereDBuser>/<adempiereDBpassword>
|
||||||
|
sh $ADEMPIERE_DB_PATH/ExportReference.sh $ADEMPIERE_DB_USER $ADEMPIERE_DB_PASSWORD system/$ADEMPIERE_DB_SYSTEM
|
||||||
|
|
|
@ -7,4 +7,4 @@ fi
|
||||||
. ./myEnvironment.sh Server
|
. ./myEnvironment.sh Server
|
||||||
echo Synchronize iDempiere Database - $IDEMPIERE_HOME \($ADEMPIERE_DB_NAME\)
|
echo Synchronize iDempiere Database - $IDEMPIERE_HOME \($ADEMPIERE_DB_NAME\)
|
||||||
|
|
||||||
sh $ADEMPIERE_DB_PATH/SyncDB.sh "$ADEMPIERE_DB_USER" "$ADEMPIERE_DB_PASSWORD" "$ADEMPIERE_DB_PATH"
|
sh $ADEMPIERE_DB_PATH/SyncDB.sh "$ADEMPIERE_DB_USER" "$ADEMPIERE_DB_PASSWORD" "$ADEMPIERE_DB_PATH" $*
|
||||||
|
|
|
@ -1,21 +1,42 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
echo Adempiere Database Export $Revision: 1.5 $
|
echo Adempiere Database Export $Revision: 1.5 $
|
||||||
|
|
||||||
# $Id: DBExport.sh,v 1.5 2005/12/20 07:12:17 jjanke Exp $
|
# $Id: ExportReference.sh,v 1.5 2005/12/20 07:12:17 jjanke Exp $
|
||||||
|
|
||||||
echo Saving reference database reference@$ADEMPIERE_DB_NAME to $IDEMPIERE_HOME/data/Adempiere.dmp
|
echo Saving reference database reference@$ADEMPIERE_DB_NAME to $IDEMPIERE_HOME/data/Adempiere.dmp
|
||||||
|
|
||||||
if [ "$IDEMPIERE_HOME" = "" -o "$ADEMPIERE_DB_NAME" = "" ]
|
if [ "$IDEMPIERE_HOME" = "" -o "$ADEMPIERE_DB_NAME" = "" ]
|
||||||
then
|
then
|
||||||
echo "Please make sure that the environment variables are set correctly:"
|
echo "Please make sure that the environment variables are set correctly:"
|
||||||
echo " IDEMPIERE_HOME e.g. /idempiere"
|
echo " IDEMPIERE_HOME e.g. /idempiere"
|
||||||
echo " ADEMPIERE_DB_NAME e.g. adempiere.adempiere.org"
|
echo " ADEMPIERE_DB_NAME e.g. adempiere.adempiere.org"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo -------------------------------------
|
||||||
|
echo Re-Create DataPump directory
|
||||||
|
echo -------------------------------------
|
||||||
|
sqlplus $3@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME @$IDEMPIERE_HOME/utils/$ADEMPIERE_DB_PATH/CreateDataPumpDir.sql $IDEMPIERE_HOME/data
|
||||||
|
chgrp dba $IDEMPIERE_HOME/data
|
||||||
|
chmod 770 $IDEMPIERE_HOME/data
|
||||||
|
|
||||||
|
sqlplus $3@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME <<!
|
||||||
|
alter session set "_enable_rename_user"=true;
|
||||||
|
alter system enable restricted session;
|
||||||
|
ALTER USER $1 RENAME TO REFERENCE IDENTIFIED BY "$2";
|
||||||
|
alter system disable restricted session;
|
||||||
|
!
|
||||||
|
|
||||||
# Export
|
# Export
|
||||||
exp reference/reference@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME FILE=$IDEMPIERE_HOME/data/Adempiere.dmp Log=$IDEMPIERE_HOME/data/Adempiere.log CONSISTENT=Y OWNER=reference
|
expdp REFERENCE/$2@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=Adempiere.dmp LOGFILE=Adempiere.log EXCLUDE=STATISTICS SCHEMAS=REFERENCE
|
||||||
|
|
||||||
|
sqlplus $3@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME <<!
|
||||||
|
alter session set "_enable_rename_user"=true;
|
||||||
|
alter system enable restricted session;
|
||||||
|
ALTER USER REFERENCE RENAME TO $1 IDENTIFIED BY "$2";
|
||||||
|
alter system disable restricted session;
|
||||||
|
!
|
||||||
|
|
||||||
cd $IDEMPIERE_HOME/data
|
cd $IDEMPIERE_HOME/data
|
||||||
jar cvfM Adempiere.jar Adempiere.dmp Adempiere.log
|
jar cvfM Adempiere.jar Adempiere.dmp Adempiere.log
|
||||||
|
|
|
@ -30,8 +30,25 @@ ADEMPIERE_DB_PATH=$3
|
||||||
CMD="sqlplus $ADEMPIERE_DB_USER/$ADEMPIERE_DB_PASSWORD@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME"
|
CMD="sqlplus $ADEMPIERE_DB_USER/$ADEMPIERE_DB_PASSWORD@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME"
|
||||||
SILENTCMD="sqlplus -S $ADEMPIERE_DB_USER/$ADEMPIERE_DB_PASSWORD@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME"
|
SILENTCMD="sqlplus -S $ADEMPIERE_DB_USER/$ADEMPIERE_DB_PASSWORD@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME"
|
||||||
ERROR_STRINGS="^(ORA-[0-9]+:|TNS-|PLS-)"
|
ERROR_STRINGS="^(ORA-[0-9]+:|TNS-|PLS-)"
|
||||||
|
DIR_POST=$IDEMPIERE_HOME/migration
|
||||||
|
if [ "x$4" = "x" ]
|
||||||
|
then
|
||||||
|
DIR_SCRIPTS=$IDEMPIERE_HOME/migration
|
||||||
|
else
|
||||||
|
if [ `expr substr "$4" 1 1` = "/" ]
|
||||||
|
then
|
||||||
|
DIR_SCRIPTS="$4"
|
||||||
|
else
|
||||||
|
DIR_SCRIPTS="$IDEMPIERE_HOME/$4"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
cd $IDEMPIERE_HOME/migration
|
cd "$DIR_SCRIPTS"
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
echo "ERROR: Cannot change to folder $DIR_SCRIPTS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Create list of files already applied - registered in AD_MigrationScript table
|
# Create list of files already applied - registered in AD_MigrationScript table
|
||||||
echo "set heading off
|
echo "set heading off
|
||||||
|
@ -47,7 +64,7 @@ find -type d -name $ADEMPIERE_DB_PATH | grep -v "./processes_post_migration/$ADE
|
||||||
do
|
do
|
||||||
cd "${FOLDER}"
|
cd "${FOLDER}"
|
||||||
ls *.sql 2>/dev/null >> $TMPFOLDER/lisFS_$$.txt
|
ls *.sql 2>/dev/null >> $TMPFOLDER/lisFS_$$.txt
|
||||||
cd $IDEMPIERE_HOME/migration
|
cd "$DIR_SCRIPTS"
|
||||||
done
|
done
|
||||||
sort -o $TMPFOLDER/lisFS_$$.txt $TMPFOLDER/lisFS_$$.txt
|
sort -o $TMPFOLDER/lisFS_$$.txt $TMPFOLDER/lisFS_$$.txt
|
||||||
sort -o $TMPFOLDER/lisDB_$$.txt $TMPFOLDER/lisDB_$$.txt
|
sort -o $TMPFOLDER/lisDB_$$.txt $TMPFOLDER/lisDB_$$.txt
|
||||||
|
@ -82,7 +99,7 @@ else
|
||||||
fi
|
fi
|
||||||
if [ x$APPLIED = xY ]
|
if [ x$APPLIED = xY ]
|
||||||
then
|
then
|
||||||
cd $IDEMPIERE_HOME/migration
|
cd "$DIR_POST"
|
||||||
for FILE in processes_post_migration/$ADEMPIERE_DB_PATH/*.sql
|
for FILE in processes_post_migration/$ADEMPIERE_DB_PATH/*.sql
|
||||||
do
|
do
|
||||||
OUTFILE=$TMPFOLDER/SyncDB_out_$$/`basename "$FILE" .sql`.out
|
OUTFILE=$TMPFOLDER/SyncDB_out_$$/`basename "$FILE" .sql`.out
|
||||||
|
@ -97,4 +114,6 @@ if [ -n "$MSGERROR" ]
|
||||||
then
|
then
|
||||||
echo "$MSGERROR"
|
echo "$MSGERROR"
|
||||||
echo "\n Errors were found during the process (see message above) - please review and fix the error running manually the script - and then restart this process again"
|
echo "\n Errors were found during the process (see message above) - please review and fix the error running manually the script - and then restart this process again"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
exit 0
|
||||||
|
|
|
@ -20,6 +20,20 @@ if [ "$IDEMPIERE_HOME" = "" -o "$ADEMPIERE_DB_NAME" = "" -o "$ADEMPIERE_DB_SERV
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ISAMAZONRDS=N
|
||||||
|
if echo "$ADEMPIERE_DB_SERVER" | grep 'rds.amazonaws.com$' > /dev/null
|
||||||
|
then
|
||||||
|
ISAMAZONRDS=Y
|
||||||
|
fi
|
||||||
|
|
||||||
|
PGPASSWORD=$4
|
||||||
|
export PGPASSWORD
|
||||||
|
if [ "x$4" = "x^TryLocalConnection^" ]
|
||||||
|
then
|
||||||
|
LOCALPG=true # Allow to run this command with user postgres (just useful running configure as root)
|
||||||
|
else
|
||||||
|
LOCALPG=false
|
||||||
|
fi
|
||||||
|
|
||||||
PGPASSWORD=$4
|
PGPASSWORD=$4
|
||||||
export PGPASSWORD
|
export PGPASSWORD
|
||||||
|
@ -33,7 +47,14 @@ fi
|
||||||
echo -------------------------------------
|
echo -------------------------------------
|
||||||
echo Recreate user and database
|
echo Recreate user and database
|
||||||
echo -------------------------------------
|
echo -------------------------------------
|
||||||
ADEMPIERE_CREATE_ROLE_SQL="CREATE ROLE $2 SUPERUSER LOGIN PASSWORD '$3'"
|
if [ $ISAMAZONRDS = Y ]
|
||||||
|
then
|
||||||
|
# modified for amazon RDS - doesn't allow SUPERUSER
|
||||||
|
ROOT_ROLE="CREATEDB IN ROLE rds_superuser, adempiere"
|
||||||
|
else
|
||||||
|
ROOT_ROLE="SUPERUSER"
|
||||||
|
fi
|
||||||
|
ADEMPIERE_CREATE_ROLE_SQL="CREATE ROLE $2 $ROOT_ROLE LOGIN PASSWORD '$3'"
|
||||||
if [ $LOCALPG = "true" ]
|
if [ $LOCALPG = "true" ]
|
||||||
then
|
then
|
||||||
# Assuming that adempiere role already exists (it was created out there)
|
# Assuming that adempiere role already exists (it was created out there)
|
||||||
|
@ -41,7 +62,18 @@ then
|
||||||
export PGPASSWORD
|
export PGPASSWORD
|
||||||
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME
|
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME
|
||||||
else
|
else
|
||||||
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME
|
if [ "x$2" != xadempiere ]
|
||||||
|
then
|
||||||
|
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "CREATE ROLE adempiere"
|
||||||
|
fi
|
||||||
|
if [ $ISAMAZONRDS = Y ]
|
||||||
|
then
|
||||||
|
PGPASSWORD=$3
|
||||||
|
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME
|
||||||
|
PGPASSWORD=$4
|
||||||
|
else
|
||||||
|
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME
|
||||||
|
fi
|
||||||
dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2
|
dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2
|
||||||
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL"
|
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL"
|
||||||
fi
|
fi
|
||||||
|
@ -54,7 +86,6 @@ createdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -E UNICODE -T template0 -
|
||||||
echo -------------------------------------
|
echo -------------------------------------
|
||||||
echo Import Adempiere_pg.dmp
|
echo Import Adempiere_pg.dmp
|
||||||
echo -------------------------------------
|
echo -------------------------------------
|
||||||
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $2 -c "drop schema sqlj cascade"
|
|
||||||
ADEMPIERE_ALTER_ROLE_SQL="ALTER ROLE $2 SET search_path TO adempiere, pg_catalog"
|
ADEMPIERE_ALTER_ROLE_SQL="ALTER ROLE $2 SET search_path TO adempiere, pg_catalog"
|
||||||
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $2 -c "$ADEMPIERE_ALTER_ROLE_SQL"
|
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $2 -c "$ADEMPIERE_ALTER_ROLE_SQL"
|
||||||
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $2 -f $IDEMPIERE_HOME/data/ExpDat.dmp
|
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $2 -f $IDEMPIERE_HOME/data/ExpDat.dmp
|
||||||
|
|
|
@ -21,6 +21,12 @@ if [ "$IDEMPIERE_HOME" = "" -o "$ADEMPIERE_DB_NAME" = "" -o "$ADEMPIERE_DB_SERV
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ISAMAZONRDS=N
|
||||||
|
if echo "$ADEMPIERE_DB_SERVER" | grep 'rds.amazonaws.com$' > /dev/null
|
||||||
|
then
|
||||||
|
ISAMAZONRDS=Y
|
||||||
|
fi
|
||||||
|
|
||||||
PGPASSWORD=$4
|
PGPASSWORD=$4
|
||||||
export PGPASSWORD
|
export PGPASSWORD
|
||||||
if [ "x$4" = "x^TryLocalConnection^" ]
|
if [ "x$4" = "x^TryLocalConnection^" ]
|
||||||
|
@ -32,7 +38,14 @@ fi
|
||||||
echo -------------------------------------
|
echo -------------------------------------
|
||||||
echo Recreate user and database
|
echo Recreate user and database
|
||||||
echo -------------------------------------
|
echo -------------------------------------
|
||||||
ADEMPIERE_CREATE_ROLE_SQL="CREATE ROLE $2 SUPERUSER LOGIN PASSWORD '$3'"
|
if [ $ISAMAZONRDS = Y ]
|
||||||
|
then
|
||||||
|
# modified for amazon RDS - doesn't allow SUPERUSER
|
||||||
|
ROOT_ROLE="CREATEDB IN ROLE rds_superuser, adempiere"
|
||||||
|
else
|
||||||
|
ROOT_ROLE="SUPERUSER"
|
||||||
|
fi
|
||||||
|
ADEMPIERE_CREATE_ROLE_SQL="CREATE ROLE $2 $ROOT_ROLE LOGIN PASSWORD '$3'"
|
||||||
if [ $LOCALPG = "true" ]
|
if [ $LOCALPG = "true" ]
|
||||||
then
|
then
|
||||||
# Assuming that adempiere role already exists (it was created out there)
|
# Assuming that adempiere role already exists (it was created out there)
|
||||||
|
@ -40,7 +53,18 @@ then
|
||||||
export PGPASSWORD
|
export PGPASSWORD
|
||||||
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME
|
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME
|
||||||
else
|
else
|
||||||
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME
|
if [ "x$2" != xadempiere ]
|
||||||
|
then
|
||||||
|
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "CREATE ROLE adempiere"
|
||||||
|
fi
|
||||||
|
if [ $ISAMAZONRDS = Y ]
|
||||||
|
then
|
||||||
|
PGPASSWORD=$3
|
||||||
|
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME
|
||||||
|
PGPASSWORD=$4
|
||||||
|
else
|
||||||
|
dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME
|
||||||
|
fi
|
||||||
dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2
|
dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2
|
||||||
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL"
|
psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -32,8 +32,25 @@ ADEMPIERE_DB_PATH=$3
|
||||||
CMD="psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $ADEMPIERE_DB_USER"
|
CMD="psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -d $ADEMPIERE_DB_NAME -U $ADEMPIERE_DB_USER"
|
||||||
SILENTCMD="$CMD -q -t"
|
SILENTCMD="$CMD -q -t"
|
||||||
ERROR_STRINGS="^(ERROR:|FEHLER:|FATAL:|ERRO:)"
|
ERROR_STRINGS="^(ERROR:|FEHLER:|FATAL:|ERRO:)"
|
||||||
|
DIR_POST=$IDEMPIERE_HOME/migration
|
||||||
|
if [ "x$4" = "x" ]
|
||||||
|
then
|
||||||
|
DIR_SCRIPTS=$IDEMPIERE_HOME/migration
|
||||||
|
else
|
||||||
|
if [ `expr substr "$4" 1 1` = "/" ]
|
||||||
|
then
|
||||||
|
DIR_SCRIPTS="$4"
|
||||||
|
else
|
||||||
|
DIR_SCRIPTS="$IDEMPIERE_HOME/$4"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
cd $IDEMPIERE_HOME/migration
|
cd "$DIR_SCRIPTS"
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
echo "ERROR: Cannot change to folder $DIR_SCRIPTS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Create list of files already applied - registered in AD_MigrationScript table
|
# Create list of files already applied - registered in AD_MigrationScript table
|
||||||
echo "select name from ad_migrationscript" | $SILENTCMD | sed -e 's:^ ::' | grep -v '^$' | sort > $TMPFOLDER/lisDB_$$.txt
|
echo "select name from ad_migrationscript" | $SILENTCMD | sed -e 's:^ ::' | grep -v '^$' | sort > $TMPFOLDER/lisDB_$$.txt
|
||||||
|
@ -44,7 +61,7 @@ find -type d -name $ADEMPIERE_DB_PATH | grep -v "./processes_post_migration/$ADE
|
||||||
do
|
do
|
||||||
cd "${FOLDER}"
|
cd "${FOLDER}"
|
||||||
ls *.sql 2>/dev/null >> $TMPFOLDER/lisFS_$$.txt
|
ls *.sql 2>/dev/null >> $TMPFOLDER/lisFS_$$.txt
|
||||||
cd $IDEMPIERE_HOME/migration
|
cd "$DIR_SCRIPTS"
|
||||||
done
|
done
|
||||||
sort -o $TMPFOLDER/lisFS_$$.txt $TMPFOLDER/lisFS_$$.txt
|
sort -o $TMPFOLDER/lisFS_$$.txt $TMPFOLDER/lisFS_$$.txt
|
||||||
sort -o $TMPFOLDER/lisDB_$$.txt $TMPFOLDER/lisDB_$$.txt
|
sort -o $TMPFOLDER/lisDB_$$.txt $TMPFOLDER/lisDB_$$.txt
|
||||||
|
@ -79,7 +96,7 @@ else
|
||||||
fi
|
fi
|
||||||
if [ x$APPLIED = xY ]
|
if [ x$APPLIED = xY ]
|
||||||
then
|
then
|
||||||
cd $IDEMPIERE_HOME/migration
|
cd "$DIR_POST"
|
||||||
for FILE in processes_post_migration/$ADEMPIERE_DB_PATH/*.sql
|
for FILE in processes_post_migration/$ADEMPIERE_DB_PATH/*.sql
|
||||||
do
|
do
|
||||||
OUTFILE=$TMPFOLDER/SyncDB_out_$$/`basename "$FILE" .sql`.out
|
OUTFILE=$TMPFOLDER/SyncDB_out_$$/`basename "$FILE" .sql`.out
|
||||||
|
@ -90,11 +107,12 @@ then
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
PGPASSWORD=
|
||||||
|
export PGPASSWORD
|
||||||
if [ -n "$MSGERROR" ]
|
if [ -n "$MSGERROR" ]
|
||||||
then
|
then
|
||||||
echo "$MSGERROR"
|
echo "$MSGERROR"
|
||||||
echo "\n Errors were found during the process (see message above) - please review and fix the error running manually the script - and then restart this process again"
|
echo "\n Errors were found during the process (see message above) - please review and fix the error running manually the script - and then restart this process again"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
exit 0
|
||||||
PGPASSWORD=
|
|
||||||
export PGPASSWORD
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
@Rem $Id: RUN_ApplyPackInFromFolder.bat
|
||||||
|
|
||||||
|
@if (%IDEMPIERE_HOME%) == () (CALL myEnvironment.bat Server) else (CALL %IDEMPIERE_HOME%\utils\myEnvironment.bat Server)
|
||||||
|
@Title Import Translation - %IDEMPIERE_HOME% (%ADEMPIERE_DB_NAME%)
|
||||||
|
|
||||||
|
@SET DIRECTORY=%1
|
||||||
|
|
||||||
|
@echo This Procedure import packin files from directory %DIRECTORY%
|
||||||
|
@pause
|
||||||
|
|
||||||
|
FOR %%c in (plugins\org.eclipse.equinox.launcher_1.*.jar) DO set JARFILE=%%c
|
||||||
|
@"%JAVA_HOME%\bin\java" -Dosgi.compatibility.bootdelegation=true -Dosgi.noShutdown=false -jar %JARFILE% -application org.adempiere.base.PackInFolderApplication %DIRECTORY%
|
||||||
|
|
||||||
|
@pause
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<target name="copy">
|
|
||||||
<mkdir dir="WEB-INF/lib" />
|
|
||||||
<get src="${url.maven2.opennms}/javax/samples/jnlp/jnlp-jardiff/1.6.0/jnlp-jardiff-1.6.0.jar" dest="WEB-INF/lib/jnlp-jardiff.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.opennms}/javax/samples/jnlp/jnlp-servlet/1.6.0/jnlp-servlet-1.6.0.jar" dest="WEB-INF/lib/jnlp-servlet.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -297,10 +297,17 @@ public abstract class AdempiereServer implements Runnable
|
||||||
p_model.getFrequency(), p_model.getCronPattern());
|
p_model.getFrequency(), p_model.getCronPattern());
|
||||||
|
|
||||||
m_sleepMS = m_nextWork - now;
|
m_sleepMS = m_nextWork - now;
|
||||||
|
if (m_nextWork == 0) {
|
||||||
|
m_sleepMS = 0;
|
||||||
|
}
|
||||||
if (log.isLoggable(Level.INFO)) log.info(" Next run: " + new Timestamp(m_nextWork) + " sleep " + m_sleepMS);
|
if (log.isLoggable(Level.INFO)) log.info(" Next run: " + new Timestamp(m_nextWork) + " sleep " + m_sleepMS);
|
||||||
//
|
//
|
||||||
p_model.setDateLastRun(lastRun);
|
p_model.setDateLastRun(lastRun);
|
||||||
p_model.setDateNextRun(new Timestamp(m_nextWork));
|
if (m_nextWork == 0) {
|
||||||
|
p_model.setDateNextRun(null);
|
||||||
|
} else {
|
||||||
|
p_model.setDateNextRun(new Timestamp(m_nextWork));
|
||||||
|
}
|
||||||
p_model.saveEx();
|
p_model.saveEx();
|
||||||
} // run
|
} // run
|
||||||
|
|
||||||
|
|
|
@ -577,7 +577,9 @@ public class AdempiereServerMgr implements ServiceTrackerCustomizer<IServerFacto
|
||||||
public void run() {
|
public void run() {
|
||||||
if (server.isSleeping()) {
|
if (server.isSleeping()) {
|
||||||
server.run();
|
server.run();
|
||||||
scheduleFuture = Adempiere.getThreadPoolExecutor().schedule(this, server.getSleepMS(), TimeUnit.MILLISECONDS);
|
if (server.getSleepMS() != 0) {
|
||||||
|
scheduleFuture = Adempiere.getThreadPoolExecutor().schedule(this, server.getSleepMS(), TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
//server busy, try again after one minute
|
//server busy, try again after one minute
|
||||||
scheduleFuture = Adempiere.getThreadPoolExecutor().schedule(this, 60 * 1000, TimeUnit.MILLISECONDS);
|
scheduleFuture = Adempiere.getThreadPoolExecutor().schedule(this, 60 * 1000, TimeUnit.MILLISECONDS);
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=*
|
|
||||||
target.ws=*
|
|
||||||
target.arch=*
|
|
|
@ -1,64 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<cspecExtension
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
|
|
||||||
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<dependencies>
|
|
||||||
<!-- Place your Dependencies here -->
|
|
||||||
<dependency name="org.idempiere.eclipse.platform.feature" componentType="eclipse.feature"/>
|
|
||||||
</dependencies>
|
|
||||||
<generators>
|
|
||||||
<!-- Place your Generators here -->
|
|
||||||
</generators>
|
|
||||||
<artifacts>
|
|
||||||
<!-- Place your Artifacts here -->
|
|
||||||
</artifacts>
|
|
||||||
<actions>
|
|
||||||
<public name="create.product" actor="ant">
|
|
||||||
<actorProperties>
|
|
||||||
<property key="buildFile" value="product.ant" />
|
|
||||||
<property key="targets" value="create.product" />
|
|
||||||
</actorProperties>
|
|
||||||
<properties>
|
|
||||||
<property key="profile" value="${product.profile}" />
|
|
||||||
<property key="iu" value="${product.id}" />
|
|
||||||
<property key="features" value="${product.features}" />
|
|
||||||
</properties>
|
|
||||||
<prerequisites alias="repository">
|
|
||||||
<attribute name="site.p2" />
|
|
||||||
</prerequisites>
|
|
||||||
<products alias="destination" base="${buckminster.output}">
|
|
||||||
<path path="adempiere.${target.ws}.${target.os}.${target.arch}/" ></path>
|
|
||||||
</products>
|
|
||||||
</public>
|
|
||||||
<public name="create.product.zip" actor="ant">
|
|
||||||
<actorProperties>
|
|
||||||
<property key="buildFileId" value="buckminster.pdetasks" />
|
|
||||||
<property key="targets" value="create.zip" />
|
|
||||||
</actorProperties>
|
|
||||||
<prerequisites alias="action.requirements">
|
|
||||||
<attribute name="create.product" />
|
|
||||||
</prerequisites>
|
|
||||||
<products alias="action.output" base="${buckminster.output}">
|
|
||||||
<path path="idempiereClient.${target.ws}.${target.os}.${target.arch}.zip" />
|
|
||||||
</products>
|
|
||||||
</public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- Place your Groups here -->
|
|
||||||
</groups>
|
|
||||||
<alterDependencies>
|
|
||||||
<!-- Place your Dependency alterations here -->
|
|
||||||
</alterDependencies>
|
|
||||||
<alterArtifacts>
|
|
||||||
<!-- Place your Artifact alterations here -->
|
|
||||||
</alterArtifacts>
|
|
||||||
<alterActions>
|
|
||||||
<!-- Place your Action alterations here -->
|
|
||||||
</alterActions>
|
|
||||||
<alterGroups>
|
|
||||||
<public name="feature.references">
|
|
||||||
<attribute name="feature.jars" component="org.idempiere.eclipse.platform.feature"/>
|
|
||||||
</public>
|
|
||||||
</alterGroups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,15 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=*
|
|
||||||
target.ws=*
|
|
||||||
target.arch=*
|
|
||||||
|
|
||||||
product.features=org.idempiere.eclipse.platform.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.ui.swing.product
|
|
|
@ -1,15 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=linux
|
|
||||||
target.ws=gtk
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.eclipse.platform.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.ui.swing.product
|
|
|
@ -1,15 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=linux
|
|
||||||
target.ws=gtk
|
|
||||||
target.arch=x86_64
|
|
||||||
|
|
||||||
product.features=org.idempiere.eclipse.platform.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.ui.swing.product
|
|
|
@ -1,15 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=macosx
|
|
||||||
target.ws=cocoa
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.eclipse.platform.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.ui.swing.product
|
|
|
@ -1,15 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=solaris
|
|
||||||
target.ws=gtk
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.eclipse.platform.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.ui.swing.product
|
|
|
@ -1,15 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=win32
|
|
||||||
target.ws=win32
|
|
||||||
target.arch=x86
|
|
||||||
|
|
||||||
product.features=org.idempiere.eclipse.platform.feature.feature.group
|
|
||||||
product.profile=DefaultProfile
|
|
||||||
product.id=org.adempiere.ui.swing.product
|
|
|
@ -1,58 +0,0 @@
|
||||||
<project>
|
|
||||||
<pathconvert property="equinox.launcher.jar">
|
|
||||||
<first count="1">
|
|
||||||
<sort>
|
|
||||||
<fileset dir="${eclipse.home}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar"/>
|
|
||||||
<reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
|
|
||||||
<date/>
|
|
||||||
</reverse>
|
|
||||||
</sort>
|
|
||||||
</first>
|
|
||||||
</pathconvert>
|
|
||||||
|
|
||||||
<target name="create.product">
|
|
||||||
<property name="installableIUs" value="${iu},${features}" />
|
|
||||||
<property name="destination" location="${sp:destination}"/>
|
|
||||||
<delete dir="${destination}"/>
|
|
||||||
<makeurl property="repository" file="${sp:repository}"/>
|
|
||||||
<mkdir dir="${destination}"/>
|
|
||||||
<echoproperties/>
|
|
||||||
<echo message="${equinox.launcher.jar}"/>
|
|
||||||
<echo message="${repository}"/>
|
|
||||||
<echo message="${destination}"/>
|
|
||||||
<java outputproperty="javaoutput" resultproperty="javaresult" jar="${equinox.launcher.jar}" fork="true" failonerror="false" >
|
|
||||||
<arg value="-application"/>
|
|
||||||
<arg value="org.eclipse.equinox.p2.director"/>
|
|
||||||
<arg value="-repository"/>
|
|
||||||
<arg value="${repository}"/>
|
|
||||||
<arg value="-destination"/>
|
|
||||||
<arg value="${destination}/adempiere-client"/>
|
|
||||||
<arg value="-profile"/>
|
|
||||||
<arg value="${profile}"/>
|
|
||||||
<arg value="-profileProperties" />
|
|
||||||
<arg value="org.eclipse.update.install.features=true" />
|
|
||||||
<arg value="-installIU"/>
|
|
||||||
<arg value="${installableIUs}"/>
|
|
||||||
<arg value="-p2.os" />
|
|
||||||
<arg value="${target.os}" />
|
|
||||||
<arg value="-p2.ws" />
|
|
||||||
<arg value="${target.ws}" />
|
|
||||||
<arg value="-p2.arch" />
|
|
||||||
<arg value="${target.arch}" />
|
|
||||||
<arg value="-consoleLog"/>
|
|
||||||
<arg value="-roaming"/>
|
|
||||||
<!-- jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/ -->
|
|
||||||
</java>
|
|
||||||
<!-- IDEMPIERE-1618: This block gives an error message on console. Else errors here are hard
|
|
||||||
to identify for unexperienced users because the java runs in a fork and gives no output to
|
|
||||||
stdout. Messages are still in the latest logfile in ECLIPSE_HOME/configuration
|
|
||||||
(or buckminster) - thanks to CarlosRuiz for this hint.
|
|
||||||
-->
|
|
||||||
<echo message="${javaresult}" />
|
|
||||||
<fail message="result: ${javaresult}\n${javaoutput}">
|
|
||||||
<condition>
|
|
||||||
<not><equals arg1="${javaresult}" arg2="0"/></not>
|
|
||||||
</condition>
|
|
||||||
</fail>
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,10 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<target name="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<get src="${url.maven2}/org/swinglabs/swingx/1.6/swingx-1.6.jar" dest="lib/swingx.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/jgoodies/looks/2.0.4/looks-2.0.4.jar" dest="lib/looks.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<!-- old version is only for swing, but can't find out old version, so use jar for Swing, SWT and JavaFX to keep same version -->
|
|
||||||
<get src="${url.maven2}/com/miglayout/miglayout/3.7.1/miglayout-3.7.1.jar" dest="lib/miglayout.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/jpedal.jar" dest="lib/jpedal.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -369,14 +369,14 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
toolbar.enableFind(true);
|
toolbar.enableFind(true);
|
||||||
adTabbox.evaluate(null);
|
adTabbox.evaluate(null);
|
||||||
|
|
||||||
|
toolbar.updateToolbarAccess(adWindowId);
|
||||||
|
updateToolbar();
|
||||||
|
|
||||||
if (detailQuery != null && zoomToDetailTab(detailQuery))
|
if (detailQuery != null && zoomToDetailTab(detailQuery))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
toolbar.updateToolbarAccess(adWindowId);
|
|
||||||
updateToolbar();
|
|
||||||
|
|
||||||
SessionManager.getAppDesktop().updateHelpContext(X_AD_CtxHelp.CTXTYPE_Tab, adTabbox.getSelectedGridTab().getAD_Tab_ID());
|
SessionManager.getAppDesktop().updateHelpContext(X_AD_CtxHelp.CTXTYPE_Tab, adTabbox.getSelectedGridTab().getAD_Tab_ID());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
package org.adempiere.webui.panel;
|
package org.adempiere.webui.panel;
|
||||||
|
|
||||||
|
import org.adempiere.webui.component.Borderlayout;
|
||||||
import org.adempiere.webui.component.Checkbox;
|
import org.adempiere.webui.component.Checkbox;
|
||||||
import org.adempiere.webui.component.Column;
|
import org.adempiere.webui.component.Column;
|
||||||
import org.adempiere.webui.component.Columns;
|
import org.adempiere.webui.component.Columns;
|
||||||
|
@ -30,6 +31,7 @@ import org.compiere.util.Util;
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.event.Events;
|
import org.zkoss.zk.ui.event.Events;
|
||||||
|
import org.zkoss.zul.Center;
|
||||||
import org.zkoss.zul.Div;
|
import org.zkoss.zul.Div;
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +40,7 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -2097631726230470398L;
|
private static final long serialVersionUID = -4595966853507636969L;
|
||||||
|
|
||||||
private static final int RENDER_IN_COLUMNS=4;
|
private static final int RENDER_IN_COLUMNS=4;
|
||||||
private MPrintFormat m_printFormat;
|
private MPrintFormat m_printFormat;
|
||||||
|
@ -60,7 +62,7 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
|
|
||||||
m_chkboxes = new Checkbox[m_pfi.size()];
|
m_chkboxes = new Checkbox[m_pfi.size()];
|
||||||
m_textBoxes = new Textbox[m_pfi.size()];
|
m_textBoxes = new Textbox[m_pfi.size()];
|
||||||
m_oldLabel = new String[m_pfi.size()];
|
m_oldLabel = new String[m_pfi.size()];
|
||||||
|
@ -70,6 +72,13 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener
|
||||||
ZKUpdateUtil.setHeight(wind, "100%");
|
ZKUpdateUtil.setHeight(wind, "100%");
|
||||||
ZKUpdateUtil.setHflex(wind, "1");
|
ZKUpdateUtil.setHflex(wind, "1");
|
||||||
|
|
||||||
|
Borderlayout borderlayout = new Borderlayout();
|
||||||
|
wind.appendChild(borderlayout);
|
||||||
|
ZKUpdateUtil.setHflex(borderlayout, "1");
|
||||||
|
Center center = new Center();
|
||||||
|
center.setAutoscroll(true);
|
||||||
|
borderlayout.appendChild(center);
|
||||||
|
|
||||||
Grid grid = new Grid();
|
Grid grid = new Grid();
|
||||||
//have problem moving the following out as css class
|
//have problem moving the following out as css class
|
||||||
ZKUpdateUtil.setHflex(grid, "1");
|
ZKUpdateUtil.setHflex(grid, "1");
|
||||||
|
@ -81,7 +90,7 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener
|
||||||
Div div = new Div();
|
Div div = new Div();
|
||||||
div.setStyle("width:90%;height:100%;border:none;margin:none;padding:none");
|
div.setStyle("width:90%;height:100%;border:none;margin:none;padding:none");
|
||||||
div.appendChild(grid);
|
div.appendChild(grid);
|
||||||
wind.appendChild(div);
|
center.appendChild(div);
|
||||||
this.appendChild(wind);
|
this.appendChild(wind);
|
||||||
|
|
||||||
Columns columns = new Columns();
|
Columns columns = new Columns();
|
||||||
|
|
|
@ -15,6 +15,7 @@ package org.adempiere.webui.panel;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.adempiere.webui.component.Borderlayout;
|
||||||
import org.adempiere.webui.component.Checkbox;
|
import org.adempiere.webui.component.Checkbox;
|
||||||
import org.adempiere.webui.component.Column;
|
import org.adempiere.webui.component.Column;
|
||||||
import org.adempiere.webui.component.Columns;
|
import org.adempiere.webui.component.Columns;
|
||||||
|
@ -29,6 +30,7 @@ import org.compiere.util.Msg;
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.event.Events;
|
import org.zkoss.zk.ui.event.Events;
|
||||||
|
import org.zkoss.zul.Center;
|
||||||
import org.zkoss.zul.Div;
|
import org.zkoss.zul.Div;
|
||||||
import org.zkoss.zul.Row;
|
import org.zkoss.zul.Row;
|
||||||
|
|
||||||
|
@ -36,7 +38,7 @@ public class WRC5SummaryFieldsPanel extends WRCTabPanel implements EventListener
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -2231369601903381581L;
|
private static final long serialVersionUID = 4660623126634851224L;
|
||||||
|
|
||||||
private static final int RENDER_IN_COLUMNS=10;
|
private static final int RENDER_IN_COLUMNS=10;
|
||||||
Checkbox m_chkSum[]=null;
|
Checkbox m_chkSum[]=null;
|
||||||
|
@ -65,10 +67,17 @@ public class WRC5SummaryFieldsPanel extends WRCTabPanel implements EventListener
|
||||||
grid.setStyle("margin:0; padding:0; position: absolute");
|
grid.setStyle("margin:0; padding:0; position: absolute");
|
||||||
grid.makeNoStrip();
|
grid.makeNoStrip();
|
||||||
|
|
||||||
|
Borderlayout borderlayout = new Borderlayout();
|
||||||
|
wind.appendChild(borderlayout);
|
||||||
|
ZKUpdateUtil.setHflex(borderlayout, "1");
|
||||||
|
Center center = new Center();
|
||||||
|
center.setAutoscroll(true);
|
||||||
|
borderlayout.appendChild(center);
|
||||||
|
|
||||||
Div div = new Div();
|
Div div = new Div();
|
||||||
div.setStyle("width:90%;height:100%;border:none;margin:none;padding:none");
|
div.setStyle("width:90%;height:100%;border:none;margin:none;padding:none");
|
||||||
div.appendChild(grid);
|
div.appendChild(grid);
|
||||||
wind.appendChild(div);
|
center.appendChild(div);
|
||||||
this.appendChild(wind);
|
this.appendChild(wind);
|
||||||
|
|
||||||
Columns columns = new Columns();
|
Columns columns = new Columns();
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,10 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE project>
|
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<target name="copy">
|
|
||||||
<mkdir dir="WEB-INF/lib" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/labelapplet.jar" dest="labelapplet.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.atlassian.3rdparty}/org/outerj/daisy/daisydiff/1.1.14-atlassian-hosted/daisydiff-1.1.14-atlassian-hosted.jar" dest="WEB-INF/lib/daisydiff.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven.zkoss}/org/zkoss/zkforge/ckez/4.7.0.0/ckez-4.7.0.0.jar" dest="WEB-INF/lib/ckez.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,11 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<!--in maven has newer version, but now keep old version
|
|
||||||
${url.maven2}/org/codeartisans/thirdparties/swing/org-netbeans-api-visual/2.23.1/org-netbeans-api-visual-2.23.1.jar
|
|
||||||
${url.maven2}/org/codeartisans/thirdparties/swing/org-openide-util/8.6.2/org-openide-util-8.6.2.jar
|
|
||||||
-->
|
|
||||||
<get src="${url.maven2.netbeans}/org/netbeans/api/org-netbeans-api-visual/RELEASE65/org-netbeans-api-visual-RELEASE65.jar" dest="lib/org-netbeans-api-visual.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2.netbeans}/org/netbeans/api/org-openide-util/RELEASE65/org-openide-util-RELEASE65.jar" dest="lib/org-openide-util.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,11 +0,0 @@
|
||||||
## buckminster.properties ##
|
|
||||||
#Where all the output should go
|
|
||||||
buckminster.output.root=${user.home}/buckminster.output
|
|
||||||
# Where the temp files should go
|
|
||||||
buckminster.temp.root=${user.home}/tmp
|
|
||||||
# How .qualifier in versions should be replaced
|
|
||||||
qualifier.replacement.*=generator:buildTimestamp
|
|
||||||
generator.buildTimestamp.format='v'yyyyMMdd-HHmm
|
|
||||||
target.os=*
|
|
||||||
target.ws=*
|
|
||||||
target.arch=*
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,9 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<get src="${url.maven2}/com/mchange/c3p0/0.9.5/c3p0-0.9.5.jar" dest="lib/c3p0.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/mchange/mchange-commons-java/0.2.9/mchange-commons-java-0.2.9.jar" dest="lib/mchange-commons-java.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/google/code/maven-play-plugin/com/mchange/c3p0-oracle-thin-extras/0.9.5/c3p0-oracle-thin-extras-0.9.5.jar" dest="lib/c3p0-oracle-thin-extras.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/ojdbc7.jar" dest="lib/ojdbc7.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<get src="${url.maven2}/com/mchange/c3p0/0.9.5.2/c3p0-0.9.5.2.jar" dest="lib/c3p0.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/mchange/mchange-commons-java/0.2.12/mchange-commons-java-0.2.12.jar" dest="lib/mchange-commons-java.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/postgresql/postgresql/42.1.4/postgresql-42.1.4.jar" dest="lib/postgresql.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,18 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE project>
|
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/fitlibrary-2.0.jar" dest="lib/fitlibrary.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/fitnesse/fitnesse/20111025/fitnesse-20111025.jar" dest="lib/fitnesse.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/fitlibraryweb-2.0.jar" dest="lib/fitlibraryweb.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<!--old version is 2.35, can't find out in maven also homepage.
|
|
||||||
when host old version (2.35) to bitbucket.org can't donwload by ant, maybe big file (even it's download normal with browse).
|
|
||||||
|
|
||||||
not sure why use a standalone (full) version.
|
|
||||||
in case use lib version, we can download at maven, it's small ${url.maven2}/org/seleniumhq/selenium/selenium-server/2.35.0/selenium-server-2.35.0.jar-->
|
|
||||||
<get src="${url.maven2.jenkins}/org/seleniumhq/selenium/selenium-server-standalone/2.39.0/selenium-server-standalone-2.39.0.jar" dest="lib/selenium-server-standalone.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/log4j/log4j/1.2.16/log4j-1.2.16.jar" dest="lib/log4j.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/github/detro/ghostdriver/phantomjsdriver/1.0.3/phantomjsdriver-1.0.3.jar" dest="lib/phantomjsdriver.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<target name="copy">
|
|
||||||
<get src="${url.maven2}/com/hazelcast/hazelcast/3.9.3/hazelcast-3.9.3.jar" dest="lib/hazelcast.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/hazelcast/hazelcast-aws/2.1.0/hazelcast-aws-2.1.0.jar" dest="lib/hazelcast-aws.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,26 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<target name="copy">
|
|
||||||
<mkdir dir="WEB-INF/lib" />
|
|
||||||
<get src="${url.maven2}/org/springframework/osgi/spring-osgi-extender/1.2.1/spring-osgi-extender-1.2.1.jar" dest="WEB-INF/lib/spring-osgi-extender.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-aop/3.0.7.RELEASE/spring-aop-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-aop.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar" dest="WEB-INF/lib/stax2-api.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-web/3.0.7.RELEASE/spring-web-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-web.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-context/3.0.7.RELEASE/spring-context-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-context.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-beans/3.0.7.RELEASE/spring-beans-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-beans.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-core/3.0.7.RELEASE/spring-core-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-core.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-asm/3.0.7.RELEASE/spring-asm-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-asm.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/springframework/spring-expression/3.0.7.RELEASE/spring-expression-3.0.7.RELEASE.jar" dest="WEB-INF/lib/spring-expression.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar" dest="WEB-INF/lib/wsdl4j.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/cxf/cxf-bundle/2.6.2/cxf-bundle-2.6.2.jar" dest="WEB-INF/lib/cxf-bundle.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/neethi/neethi/3.0.2/neethi-3.0.2.jar" dest="WEB-INF/lib/neethi.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/ws/xmlschema/xmlschema-core/2.0.3/xmlschema-core-2.0.3.jar" dest="WEB-INF/lib/xmlschema-core.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/cxf/cxf-rt-frontend-jaxws/2.6.1/cxf-rt-frontend-jaxws-2.6.1.jar" dest="WEB-INF/lib/cxf-rt-frontend-jaxws.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/xmlbeans/xmlbeans/3.0.0/xmlbeans-3.0.0.jar" dest="WEB-INF/lib/xmlbeans.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" dest="WEB-INF/lib/aopalliance.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.file.srv}/jarfile/6.1/idempiere-xmlbeans-1.0.jar" dest="WEB-INF/lib/idempiere-xmlbeans.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/org/apache/axis/axis/1.4/axis-1.4.jar" dest="WEB-INF/lib/axis.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/commons-discovery/commons-discovery/0.5/commons-discovery-0.5.jar" dest="WEB-INF/lib/commons-discovery.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/javax/ws/rs/jsr311-api/1.1/jsr311-api-1.1.jar" dest="WEB-INF/lib/jsr311-api.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,26 +0,0 @@
|
||||||
<cspecExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
|
|
||||||
xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
|
|
||||||
<actions>
|
|
||||||
<!-- public action with ant actor to do the actual copying -->
|
|
||||||
<cs:public name="fetch.dependency.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copyjars.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
<cs:public name="fetch.sources.jars" actor="ant">
|
|
||||||
<cs:actorProperties>
|
|
||||||
<cs:property key="buildFile" value="copysources.xml" />
|
|
||||||
<cs:property key="targets" value="copy" />
|
|
||||||
</cs:actorProperties>
|
|
||||||
</cs:public>
|
|
||||||
</actions>
|
|
||||||
<groups>
|
|
||||||
<!-- buckminster.prebind the prebind group will be executed during materialization -->
|
|
||||||
<cs:private name="buckminster.postbind">
|
|
||||||
<cs:attribute name="fetch.dependency.jars" alias="action.requirements" />
|
|
||||||
<!--<cs:attribute name="fetch.sources.jars" alias="action.requirements" />-->
|
|
||||||
</cs:private>
|
|
||||||
</groups>
|
|
||||||
</cspecExtension>
|
|
|
@ -1,11 +0,0 @@
|
||||||
<project name="zklibrary" basedir="." default="copy">
|
|
||||||
<target name="copy">
|
|
||||||
<mkdir dir="lib" />
|
|
||||||
<get src="${url.maven.zkoss}/org/zkoss/zkforge/gmapsz/3.0.4/gmapsz-3.0.4.jar" dest="lib/gmapsz.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven.zkoss}/org/zkoss/zkforge/timelinez/2.3.1_50/timelinez-2.3.1_50.jar" dest="lib/timelinez.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven.zkoss}/org/zkoss/zkforge/timeplotz/1.1_50/timeplotz-1.1_50.jar" dest="lib/timeplotz.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven.zkoss}/org/zkoss/calendar/calendar/2.1.5/calendar-2.1.5.jar" dest="lib/calendar.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven.zkoss}/org/zkoss/theme/breeze/8.5.0/breeze-8.5.0.jar" dest="lib/breeze.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
<get src="${url.maven2}/com/google/javascript/closure-compiler/v20171112/closure-compiler-v20171112.jar" dest="lib/closure-compiler.jar" usetimestamp="true" verbose="true" retries="5" />
|
|
||||||
</target>
|
|
||||||
</project>
|
|
1
pom.xml
1
pom.xml
|
@ -55,7 +55,6 @@
|
||||||
<module>org.adempiere.replication-feature</module>
|
<module>org.adempiere.replication-feature</module>
|
||||||
<module>org.adempiere.pipo-feature</module>
|
<module>org.adempiere.pipo-feature</module>
|
||||||
<module>org.adempiere.replication.server-feature</module>
|
<module>org.adempiere.replication.server-feature</module>
|
||||||
<module>org.adempiere.sdk-feature</module>
|
|
||||||
<module>org.adempiere.server-feature</module>
|
<module>org.adempiere.server-feature</module>
|
||||||
<module>org.adempiere.target.platform-feature</module>
|
<module>org.adempiere.target.platform-feature</module>
|
||||||
<module>org.adempiere.ui.swing-feature</module>
|
<module>org.adempiere.ui.swing-feature</module>
|
||||||
|
|
Loading…
Reference in New Issue