hg merge release-6.2 (merge release6.2 into default)
This commit is contained in:
commit
f5e6beb8b7
|
@ -0,0 +1,170 @@
|
|||
SET SQLBLANKLINES ON
|
||||
SET DEFINE OFF
|
||||
|
||||
-- Nov 29, 2016 2:52:01 PM GMT+08:00
|
||||
-- 1006829 - Create product label
|
||||
INSERT INTO AD_Element (AD_Element_ID,ColumnName,Updated,Name,Description,PrintName,AD_Element_UU,IsActive,Created,AD_Org_ID,CreatedBy,UpdatedBy,AD_Client_ID,EntityType) VALUES (203058,'IsPrintBarcodeText',TO_DATE('2016-11-29 14:51:59','YYYY-MM-DD HH24:MI:SS'),'Print Barcode Text','Print barcode text at the bottom of barcode','Print Barcode Text','ef298ad1-4d63-44eb-bf6f-c38f442bda1f','Y',TO_DATE('2016-11-29 14:51:59','YYYY-MM-DD HH24:MI:SS'),0,100,100,0,'U')
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:53:24 PM GMT+08:00
|
||||
UPDATE AD_Element SET EntityType='D',Updated=TO_DATE('2016-11-29 14:53:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=203058
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:53:57 PM GMT+08:00
|
||||
INSERT INTO AD_Column (AD_Column_ID,SeqNoSelection,IsSyncDatabase,Version,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,Updated,IsUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,IsActive,CreatedBy,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,AD_Org_ID,Created,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (212946,0,'N',0,'Y','N','N',0,'N',1,'N','N','N','Y','bbe56dbf-97c7-4705-96be-5fc434f1c6c1',TO_DATE('2016-11-29 14:53:56','YYYY-MM-DD HH24:MI:SS'),'Y','IsPrintBarcodeText','Print barcode text at the bottom of barcode','Y','Print Barcode Text','Y','Y',100,100,'N','N',0,0,TO_DATE('2016-11-29 14:53:56','YYYY-MM-DD HH24:MI:SS'),'D','N','N','N',203058,20,489)
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:54:06 PM GMT+08:00
|
||||
ALTER TABLE AD_PrintFormatItem ADD IsPrintBarcodeText CHAR(1) DEFAULT 'Y' CHECK (IsPrintBarcodeText IN ('Y','N')) NOT NULL
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:57:37 PM GMT+08:00
|
||||
INSERT INTO AD_Field (SortNo,AD_Field_ID,IsEncrypted,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,IsReadOnly,DisplayLogic,AD_Org_ID,Updated,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,CreatedBy,UpdatedBy,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,Created,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,AD_Tab_ID) VALUES (0,204351,'N',0,'N','N',560,'Y','N','@PrintFormatType@=F & @BarcodeType@!''''',0,TO_DATE('2016-11-29 14:57:36','YYYY-MM-DD HH24:MI:SS'),'Print barcode text at the bottom of barcode','Print Barcode Text','0bc427e5-7aae-498a-8a27-d6fe946cdaf5','Y','N',100,100,'Y','Y',560,1,'N',0,TO_DATE('2016-11-29 14:57:36','YYYY-MM-DD HH24:MI:SS'),2,1,'N','N',212946,'D',426)
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:35 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=220, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2016-11-29 14:58:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204351
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5677
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5761
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5690
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=260,Updated=TO_DATE('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5681
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=270,Updated=TO_DATE('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5669
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=280,Updated=TO_DATE('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5804
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=290,Updated=TO_DATE('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5763
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=300,Updated=TO_DATE('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5695
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=310,Updated=TO_DATE('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5691
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5685
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5673
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5678
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=350,Updated=TO_DATE('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5805
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=360,Updated=TO_DATE('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11023
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=370,Updated=TO_DATE('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5689
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=380,Updated=TO_DATE('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5688
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=390,Updated=TO_DATE('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11021
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=400,Updated=TO_DATE('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5682
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=410,Updated=TO_DATE('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5686
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=420,Updated=TO_DATE('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11020
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=430,Updated=TO_DATE('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5693
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=440,Updated=TO_DATE('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5674
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=450,Updated=TO_DATE('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200001
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=460,Updated=TO_DATE('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5694
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=470,Updated=TO_DATE('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5676
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=480,Updated=TO_DATE('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5680
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=490,Updated=TO_DATE('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8294
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=500,Updated=TO_DATE('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5757
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=510,Updated=TO_DATE('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8293
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=520,Updated=TO_DATE('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8295
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=530,Updated=TO_DATE('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8292
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=540,Updated=TO_DATE('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5758
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=550,Updated=TO_DATE('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8604
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=560,Updated=TO_DATE('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8605
|
||||
;
|
||||
|
||||
UPDATE AD_PrintFormatItem SET IsPrintBarcodeText='N' WHERE BarcodeType='USP'
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201611301200_Ticket_1006829.sql') FROM dual
|
||||
;
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
SET SQLBLANKLINES ON
|
||||
SET DEFINE OFF
|
||||
|
||||
-- May 23, 2017 6:42:29 PM SGT
|
||||
-- 1007781 Fix barcode text bug
|
||||
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Ref_List_UU,Name,Value,IsActive,CreatedBy,UpdatedBy,AD_Client_ID,AD_Org_ID,Created,Updated,EntityType,AD_Reference_ID) VALUES (200374,'af593ade-94ff-47bf-9b4e-a60c278d3541','Code 39 with Checksum','39C','Y',100,100,0,0,TO_DATE('2017-05-23 18:42:28','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-05-23 18:42:28','YYYY-MM-DD HH24:MI:SS'),'D',377)
|
||||
;
|
||||
|
||||
-- May 23, 2017 6:42:30 PM SGT
|
||||
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Ref_List_UU,Name,Value,IsActive,CreatedBy,UpdatedBy,AD_Client_ID,AD_Org_ID,Created,Updated,EntityType,AD_Reference_ID) VALUES (200375,'918c6018-41f7-40ba-965b-65512ec99808','Code 39 w/o Checksum','39c','Y',100,100,0,0,TO_DATE('2017-05-23 18:42:29','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-05-23 18:42:29','YYYY-MM-DD HH24:MI:SS'),'D',377)
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201705231845_Ticket_1007781.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,10 @@
|
|||
SET SQLBLANKLINES ON
|
||||
SET DEFINE OFF
|
||||
|
||||
-- May 17, 2018 12:24:17 PM SGT
|
||||
-- 1009003 add QR Code as Barcode Type for Print Formats
|
||||
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Created,Updated,EntityType,AD_Client_ID,AD_Org_ID,CreatedBy,UpdatedBy,Value,Name,IsActive,AD_Ref_List_UU,AD_Reference_ID) VALUES (200396,TO_DATE('2018-05-17 12:24:15','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2018-05-17 12:24:15','YYYY-MM-DD HH24:MI:SS'),'D',0,0,100,100,'QRC','QR Code','Y','702f344c-557a-4a34-aaae-578cb1b2d137',377)
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201805221235_Ticket_1009003.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,11 @@
|
|||
SET SQLBLANKLINES ON
|
||||
SET DEFINE OFF
|
||||
|
||||
-- IDEMPIERE-3945 Country name "Germany - Deutschland" should be named Germany
|
||||
-- Apr 9, 2019, 11:22:01 AM CEST
|
||||
UPDATE C_Country SET Name='Germany',Description='Deutschland',Updated=TO_DATE('2019-04-09 11:22:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE C_Country_ID=101
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201904091130_IDEMPIERE-3945.sql') FROM dual
|
||||
;
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
-- Nov 29, 2016 2:52:01 PM GMT+08:00
|
||||
-- 1006829 - Create product label
|
||||
INSERT INTO AD_Element (AD_Element_ID,ColumnName,Updated,Name,Description,PrintName,AD_Element_UU,IsActive,Created,AD_Org_ID,CreatedBy,UpdatedBy,AD_Client_ID,EntityType) VALUES (203058,'IsPrintBarcodeText',TO_TIMESTAMP('2016-11-29 14:51:59','YYYY-MM-DD HH24:MI:SS'),'Print Barcode Text','Print barcode text at the bottom of barcode','Print Barcode Text','ef298ad1-4d63-44eb-bf6f-c38f442bda1f','Y',TO_TIMESTAMP('2016-11-29 14:51:59','YYYY-MM-DD HH24:MI:SS'),0,100,100,0,'U')
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:53:24 PM GMT+08:00
|
||||
UPDATE AD_Element SET EntityType='D',Updated=TO_TIMESTAMP('2016-11-29 14:53:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=203058
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:53:57 PM GMT+08:00
|
||||
INSERT INTO AD_Column (AD_Column_ID,SeqNoSelection,IsSyncDatabase,Version,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,Updated,IsUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,IsActive,CreatedBy,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,AD_Org_ID,Created,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (212946,0,'N',0,'Y','N','N',0,'N',1,'N','N','N','Y','bbe56dbf-97c7-4705-96be-5fc434f1c6c1',TO_TIMESTAMP('2016-11-29 14:53:56','YYYY-MM-DD HH24:MI:SS'),'Y','IsPrintBarcodeText','Print barcode text at the bottom of barcode','Y','Print Barcode Text','Y','Y',100,100,'N','N',0,0,TO_TIMESTAMP('2016-11-29 14:53:56','YYYY-MM-DD HH24:MI:SS'),'D','N','N','N',203058,20,489)
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:54:06 PM GMT+08:00
|
||||
ALTER TABLE AD_PrintFormatItem ADD COLUMN IsPrintBarcodeText CHAR(1) DEFAULT 'Y' CHECK (IsPrintBarcodeText IN ('Y','N')) NOT NULL
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:57:37 PM GMT+08:00
|
||||
INSERT INTO AD_Field (SortNo,AD_Field_ID,IsEncrypted,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,IsReadOnly,DisplayLogic,AD_Org_ID,Updated,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,CreatedBy,UpdatedBy,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,Created,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,AD_Tab_ID) VALUES (0,204351,'N',0,'N','N',560,'Y','N','@PrintFormatType@=F & @BarcodeType@!''''',0,TO_TIMESTAMP('2016-11-29 14:57:36','YYYY-MM-DD HH24:MI:SS'),'Print barcode text at the bottom of barcode','Print Barcode Text','0bc427e5-7aae-498a-8a27-d6fe946cdaf5','Y','N',100,100,'Y','Y',560,1,'N',0,TO_TIMESTAMP('2016-11-29 14:57:36','YYYY-MM-DD HH24:MI:SS'),2,1,'N','N',212946,'D',426)
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:35 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=220, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2016-11-29 14:58:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204351
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5677
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5761
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5690
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:36 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2016-11-29 14:58:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5681
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5669
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5804
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5763
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:37 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2016-11-29 14:58:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5695
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5691
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5685
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5673
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5678
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:38 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=350,Updated=TO_TIMESTAMP('2016-11-29 14:58:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5805
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=360,Updated=TO_TIMESTAMP('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11023
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=370,Updated=TO_TIMESTAMP('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5689
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=380,Updated=TO_TIMESTAMP('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5688
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:39 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=390,Updated=TO_TIMESTAMP('2016-11-29 14:58:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11021
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=400,Updated=TO_TIMESTAMP('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5682
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=410,Updated=TO_TIMESTAMP('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5686
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=420,Updated=TO_TIMESTAMP('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11020
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=430,Updated=TO_TIMESTAMP('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5693
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:40 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=440,Updated=TO_TIMESTAMP('2016-11-29 14:58:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5674
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=450,Updated=TO_TIMESTAMP('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200001
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=460,Updated=TO_TIMESTAMP('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5694
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=470,Updated=TO_TIMESTAMP('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5676
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:41 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=480,Updated=TO_TIMESTAMP('2016-11-29 14:58:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5680
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=490,Updated=TO_TIMESTAMP('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8294
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=500,Updated=TO_TIMESTAMP('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5757
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=510,Updated=TO_TIMESTAMP('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8293
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:42 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=520,Updated=TO_TIMESTAMP('2016-11-29 14:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8295
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=530,Updated=TO_TIMESTAMP('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8292
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=540,Updated=TO_TIMESTAMP('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5758
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=550,Updated=TO_TIMESTAMP('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8604
|
||||
;
|
||||
|
||||
-- Nov 29, 2016 2:58:43 PM GMT+08:00
|
||||
UPDATE AD_Field SET SeqNo=560,Updated=TO_TIMESTAMP('2016-11-29 14:58:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8605
|
||||
;
|
||||
|
||||
UPDATE AD_PrintFormatItem SET IsPrintBarcodeText='N' WHERE BarcodeType='USP'
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201611301200_Ticket_1006829.sql') FROM dual
|
||||
;
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
-- May 23, 2017 6:42:29 PM SGT
|
||||
-- 1007781 Fix barcode text bug
|
||||
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Ref_List_UU,Name,Value,IsActive,CreatedBy,UpdatedBy,AD_Client_ID,AD_Org_ID,Created,Updated,EntityType,AD_Reference_ID) VALUES (200374,'af593ade-94ff-47bf-9b4e-a60c278d3541','Code 39 with Checksum','39C','Y',100,100,0,0,TO_TIMESTAMP('2017-05-23 18:42:28','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-05-23 18:42:28','YYYY-MM-DD HH24:MI:SS'),'D',377)
|
||||
;
|
||||
|
||||
-- May 23, 2017 6:42:30 PM SGT
|
||||
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Ref_List_UU,Name,Value,IsActive,CreatedBy,UpdatedBy,AD_Client_ID,AD_Org_ID,Created,Updated,EntityType,AD_Reference_ID) VALUES (200375,'918c6018-41f7-40ba-965b-65512ec99808','Code 39 w/o Checksum','39c','Y',100,100,0,0,TO_TIMESTAMP('2017-05-23 18:42:29','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-05-23 18:42:29','YYYY-MM-DD HH24:MI:SS'),'D',377)
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201705231845_Ticket_1007781.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,7 @@
|
|||
-- May 17, 2018 12:24:17 PM SGT
|
||||
-- 1009003 add QR Code as Barcode Type for Print Formats
|
||||
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Created,Updated,EntityType,AD_Client_ID,AD_Org_ID,CreatedBy,UpdatedBy,Value,Name,IsActive,AD_Ref_List_UU,AD_Reference_ID) VALUES (200396,TO_TIMESTAMP('2018-05-17 12:24:15','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2018-05-17 12:24:15','YYYY-MM-DD HH24:MI:SS'),'D',0,0,100,100,'QRC','QR Code','Y','702f344c-557a-4a34-aaae-578cb1b2d137',377)
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201805221235_Ticket_1009003.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,8 @@
|
|||
-- IDEMPIERE-3945 Country name "Germany - Deutschland" should be named Germany
|
||||
-- Apr 9, 2019, 11:22:01 AM CEST
|
||||
UPDATE C_Country SET Name='Germany',Description='Deutschland',Updated=TO_TIMESTAMP('2019-04-09 11:22:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE C_Country_ID=101
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201904091130_IDEMPIERE-3945.sql') FROM dual
|
||||
;
|
||||
|
|
@ -6,12 +6,6 @@ INSERT INTO AD_ELEMENT_TRL (AD_Element_ID, AD_LANGUAGE, AD_Client_ID, AD_Org_ID,
|
|||
UPDATE AD_COLUMN c SET AD_Element_id = (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE UPPER(c.ColumnName)=UPPER(e.ColumnName)) WHERE AD_Element_ID IS NULL
|
||||
;
|
||||
|
||||
DELETE FROM AD_ELEMENT_TRL WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName)))
|
||||
;
|
||||
|
||||
DELETE FROM AD_ELEMENT e WHERE AD_Element_ID >= 1000000 AND NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName))
|
||||
;
|
||||
|
||||
UPDATE AD_COLUMN c SET (ColumnName, Name, Description, Help, Placeholder) = (SELECT ColumnName, Name, Description, Help, Placeholder FROM AD_ELEMENT e WHERE c.AD_Element_ID=e.AD_Element_ID), Updated = SYSDATE WHERE EXISTS (SELECT 1 FROM AD_ELEMENT e WHERE c.AD_Element_ID=e.AD_Element_ID AND (c.ColumnName <> e.ColumnName OR c.Name <> e.Name OR COALESCE(c.Description,N' ') <> COALESCE(e.Description,N' ') OR COALESCE(c.Help,N' ') <> COALESCE(e.Help,N' ') OR COALESCE(c.Placeholder,N' ') <> COALESCE(e.Placeholder,N' ')))
|
||||
;
|
||||
|
||||
|
|
|
@ -6,12 +6,6 @@ INSERT INTO AD_ELEMENT_TRL (AD_Element_ID, AD_LANGUAGE, AD_Client_ID, AD_Org_ID,
|
|||
UPDATE AD_COLUMN SET AD_Element_id = (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE UPPER(AD_COLUMN.ColumnName)=UPPER(e.ColumnName)) WHERE AD_Element_ID IS NULL
|
||||
;
|
||||
|
||||
DELETE FROM AD_ELEMENT_TRL WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName)))
|
||||
;
|
||||
|
||||
DELETE FROM AD_ELEMENT WHERE AD_Element_ID >= 1000000 AND NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(i.ColumnName))
|
||||
;
|
||||
|
||||
UPDATE AD_COLUMN SET ColumnName=e.ColumnName,Name=e.Name,Description=e.Description,Help=e.Help,Placeholder=e.Placeholder, Updated = statement_timestamp() FROM AD_ELEMENT e WHERE AD_COLUMN.AD_Element_ID=e.AD_Element_ID AND EXISTS (SELECT 1 FROM AD_ELEMENT e WHERE AD_COLUMN.AD_Element_ID=e.AD_Element_ID AND (AD_COLUMN.ColumnName <> e.ColumnName OR AD_COLUMN.Name <> e.Name OR COALESCE(AD_COLUMN.Description,' ') <> COALESCE(e.Description,' ') OR COALESCE(AD_COLUMN.Help,' ') <> COALESCE(e.Help,' ') OR COALESCE(AD_COLUMN.Placeholder,' ') <> COALESCE(e.Placeholder,' ')))
|
||||
;
|
||||
|
||||
|
|
|
@ -131,31 +131,6 @@ public class SynchronizeTerminology extends SvrProcess
|
|||
if (log.isLoggable(Level.INFO)) log.info(" rows updated: "+no);
|
||||
trx.commit(true);
|
||||
|
||||
log.info("Deleting unused Elements");
|
||||
sql="DELETE AD_ELEMENT_TRL"
|
||||
+" WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN"
|
||||
+" (SELECT AD_Element_ID FROM AD_ELEMENT e "
|
||||
+" WHERE NOT EXISTS"
|
||||
+" (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName))"
|
||||
+" AND NOT EXISTS"
|
||||
+" (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))"
|
||||
+" AND NOT EXISTS"
|
||||
+" (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName)))";
|
||||
no = DB.executeUpdate(sql, false, get_TrxName());
|
||||
if (log.isLoggable(Level.INFO)) log.info(" rows deleted: "+no);
|
||||
trx.commit(true);
|
||||
|
||||
sql="DELETE AD_ELEMENT e"
|
||||
+" WHERE AD_Element_ID >= 1000000 AND NOT EXISTS"
|
||||
+" (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName))"
|
||||
+" AND NOT EXISTS"
|
||||
+" (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))"
|
||||
+" AND NOT EXISTS"
|
||||
+" (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName))";
|
||||
no = DB.executeUpdate(sql, false, get_TrxName());
|
||||
if (log.isLoggable(Level.INFO)) log.info(" rows deleted: "+no);
|
||||
trx.commit(true);
|
||||
|
||||
// Columns
|
||||
log.info("Synchronize Column");
|
||||
sql=" UPDATE AD_COLUMN c"
|
||||
|
|
|
@ -11,5 +11,6 @@
|
|||
<classpathentry exported="true" kind="lib" path="lib/commons-validator.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="lib/cron4j.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="lib/jnlp.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="lib/avalon-framework-api.jar"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -7,7 +7,8 @@ Bundle-ClassPath: .,
|
|||
lib/bsh.jar,
|
||||
lib/commons-validator.jar,
|
||||
lib/cron4j.jar,
|
||||
lib/jnlp.jar
|
||||
lib/jnlp.jar,
|
||||
lib/avalon-framework-api.jar
|
||||
Export-Package: bsh,
|
||||
bsh.classpath,
|
||||
bsh.collection,
|
||||
|
@ -56,7 +57,10 @@ Export-Package: bsh,
|
|||
org.idempiere.model
|
||||
Comment: Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.11))"
|
||||
Import-Package: com.sun.mail.smtp;version="1.5",
|
||||
Import-Package: com.google.zxing,
|
||||
com.google.zxing.qrcode.decoder,
|
||||
com.google.zxing.qrcode.encoder,
|
||||
com.sun.mail.smtp;version="1.5",
|
||||
javax.jms;version="1.1.0",
|
||||
javax.mail;version="1.5",
|
||||
javax.mail.internet;version="1.5",
|
||||
|
|
|
@ -20,6 +20,7 @@ bin.includes = plugin.xml,\
|
|||
schema/,\
|
||||
.,\
|
||||
META-INF/,\
|
||||
lib/avalon-framework-api.jar,\
|
||||
lib/bsh.jar,\
|
||||
lib/commons-validator.jar,\
|
||||
lib/cron4j.jar,\
|
||||
|
|
|
@ -43,6 +43,11 @@
|
|||
<artifactId>jnlp</artifactId>
|
||||
<version>1.5.0</version>
|
||||
</artifactItem>
|
||||
<artifactItem>
|
||||
<groupId>org.apache.avalon.framework</groupId>
|
||||
<artifactId>avalon-framework-api</artifactId>
|
||||
<version>4.3.1</version>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<stripVersion>true</stripVersion>
|
||||
|
|
|
@ -502,6 +502,19 @@ public interface I_AD_PrintFormatItem
|
|||
*/
|
||||
public boolean isPageBreak();
|
||||
|
||||
/** Column name IsPrintBarcodeText */
|
||||
public static final String COLUMNNAME_IsPrintBarcodeText = "IsPrintBarcodeText";
|
||||
|
||||
/** Set Print Barcode Text.
|
||||
* Print barcode text at the bottom of barcode
|
||||
*/
|
||||
public void setIsPrintBarcodeText (boolean IsPrintBarcodeText);
|
||||
|
||||
/** Get Print Barcode Text.
|
||||
* Print barcode text at the bottom of barcode
|
||||
*/
|
||||
public boolean isPrintBarcodeText();
|
||||
|
||||
/** Column name IsPrinted */
|
||||
public static final String COLUMNNAME_IsPrinted = "IsPrinted";
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_PrintFormatItem extends PO implements I_AD_PrintFormatItem, I_
|
|||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 20190106L;
|
||||
private static final long serialVersionUID = 20190403L;
|
||||
|
||||
/** Standard Constructor */
|
||||
public X_AD_PrintFormatItem (Properties ctx, int AD_PrintFormatItem_ID, String trxName)
|
||||
|
@ -64,6 +64,8 @@ public class X_AD_PrintFormatItem extends PO implements I_AD_PrintFormatItem, I_
|
|||
setIsNextPage (false);
|
||||
setIsOrderBy (false);
|
||||
setIsPageBreak (false);
|
||||
setIsPrintBarcodeText (true);
|
||||
// Y
|
||||
setIsPrinted (true);
|
||||
// Y
|
||||
setIsRelativePosition (true);
|
||||
|
@ -399,6 +401,12 @@ public class X_AD_PrintFormatItem extends PO implements I_AD_PrintFormatItem, I_
|
|||
public static final String BARCODETYPE_EAN13 = "E13";
|
||||
/** UPC-A = UPA */
|
||||
public static final String BARCODETYPE_UPC_A = "UPA";
|
||||
/** Code 39 with Checksum = 39C */
|
||||
public static final String BARCODETYPE_Code39WithChecksum = "39C";
|
||||
/** Code 39 w/o Checksum = 39c */
|
||||
public static final String BARCODETYPE_Code39WOChecksum = "39c";
|
||||
/** QR Code = QRC */
|
||||
public static final String BARCODETYPE_QRCode = "QRC";
|
||||
/** Set Barcode Type.
|
||||
@param BarcodeType
|
||||
Type of barcode
|
||||
|
@ -909,6 +917,30 @@ public class X_AD_PrintFormatItem extends PO implements I_AD_PrintFormatItem, I_
|
|||
return false;
|
||||
}
|
||||
|
||||
/** Set Print Barcode Text.
|
||||
@param IsPrintBarcodeText
|
||||
Print barcode text at the bottom of barcode
|
||||
*/
|
||||
public void setIsPrintBarcodeText (boolean IsPrintBarcodeText)
|
||||
{
|
||||
set_Value (COLUMNNAME_IsPrintBarcodeText, Boolean.valueOf(IsPrintBarcodeText));
|
||||
}
|
||||
|
||||
/** Get Print Barcode Text.
|
||||
@return Print barcode text at the bottom of barcode
|
||||
*/
|
||||
public boolean isPrintBarcodeText ()
|
||||
{
|
||||
Object oo = get_Value(COLUMNNAME_IsPrintBarcodeText);
|
||||
if (oo != null)
|
||||
{
|
||||
if (oo instanceof Boolean)
|
||||
return ((Boolean)oo).booleanValue();
|
||||
return "Y".equals(oo);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Set Printed.
|
||||
@param IsPrinted
|
||||
Indicates if this document / line is printed
|
||||
|
|
|
@ -22,19 +22,22 @@ import java.awt.geom.Point2D;
|
|||
import java.awt.image.BufferedImage;
|
||||
import java.util.Properties;
|
||||
|
||||
import net.sourceforge.barbecue.Barcode;
|
||||
import net.sourceforge.barbecue.BarcodeFactory;
|
||||
import net.sourceforge.barbecue.BarcodeImageHandler;
|
||||
import net.sourceforge.barbecue.linear.ean.UCCEAN128Barcode;
|
||||
|
||||
import org.compiere.print.MPrintFont;
|
||||
import org.compiere.print.MPrintFormatItem;
|
||||
import org.krysalis.barcode4j.BarcodeDimension;
|
||||
import org.krysalis.barcode4j.ChecksumMode;
|
||||
import org.krysalis.barcode4j.HumanReadablePlacement;
|
||||
import org.krysalis.barcode4j.impl.AbstractBarcodeBean;
|
||||
import org.krysalis.barcode4j.impl.code39.Code39Bean;
|
||||
import org.krysalis.barcode4j.impl.qr.QRCodeBean;
|
||||
import org.krysalis.barcode4j.impl.upcean.UPCABean;
|
||||
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
|
||||
|
||||
import net.sourceforge.barbecue.Barcode;
|
||||
import net.sourceforge.barbecue.BarcodeFactory;
|
||||
import net.sourceforge.barbecue.BarcodeImageHandler;
|
||||
import net.sourceforge.barbecue.linear.ean.UCCEAN128Barcode;
|
||||
|
||||
/**
|
||||
* Barcode Print Element
|
||||
*
|
||||
|
@ -49,7 +52,12 @@ public class BarcodeElement extends PrintElement
|
|||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -935853466496345172L;
|
||||
private static final long serialVersionUID = -6825913765885213717L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Barcode Element Constructor
|
||||
|
@ -65,7 +73,7 @@ public class BarcodeElement extends PrintElement
|
|||
m_valid = false;
|
||||
|
||||
createBarcode(code, item);
|
||||
if (m_barcode == null && m_upc == null)
|
||||
if (m_barcode == null && m_barcodeBean == null)
|
||||
m_valid = false;
|
||||
m_allowOverflow = item.isHeightOneLine(); // teo_sarca, [ 1673590 ]
|
||||
} // BarcodeElement
|
||||
|
@ -78,7 +86,7 @@ public class BarcodeElement extends PrintElement
|
|||
private boolean m_allowOverflow = true;
|
||||
private float m_scaleFactor = 1;
|
||||
|
||||
private UPCABean m_upc = null;
|
||||
private AbstractBarcodeBean m_barcodeBean = null;
|
||||
private String m_code;
|
||||
|
||||
/**
|
||||
|
@ -139,17 +147,48 @@ public class BarcodeElement extends PrintElement
|
|||
m_barcode = BarcodeFactory.createUCC128(UCCEAN128Barcode.EAN128_AI, code);
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_EAN13)) //@Trifon
|
||||
m_barcode = BarcodeFactory.createEAN13(code); //@Trifon
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_UPC_A )) {
|
||||
m_upc = new UPCABean();
|
||||
m_upc.setChecksumMode(ChecksumMode.CP_AUTO);
|
||||
m_upc.setMsgPosition(HumanReadablePlacement.HRP_BOTTOM);
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_UPC_A)) {
|
||||
m_barcodeBean = new UPCABean();
|
||||
((UPCABean)m_barcodeBean).setChecksumMode(ChecksumMode.CP_AUTO);
|
||||
if (item.isPrintBarcodeText())
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_BOTTOM);
|
||||
else
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_NONE);
|
||||
m_code = code;
|
||||
}
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_Code39WithChecksum))
|
||||
{
|
||||
m_barcodeBean = new Code39Bean();
|
||||
((Code39Bean)m_barcodeBean).setChecksumMode(ChecksumMode.CP_AUTO);
|
||||
if (item.isPrintBarcodeText())
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_BOTTOM);
|
||||
else
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_NONE);
|
||||
m_code = code;
|
||||
}
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_Code39WOChecksum))
|
||||
{
|
||||
m_barcodeBean = new Code39Bean();
|
||||
((Code39Bean)m_barcodeBean).setChecksumMode(ChecksumMode.CP_IGNORE);
|
||||
if (item.isPrintBarcodeText())
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_BOTTOM);
|
||||
else
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_NONE);
|
||||
m_code = code;
|
||||
}
|
||||
// http://www.usps.com/cpim/ftp/pubs/pub97/97apxs_006.html#_Toc481397331
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_USPostalServiceUCCEAN128))
|
||||
{
|
||||
m_barcode = BarcodeFactory.createUSPS(code);
|
||||
m_barcode.setDrawingText(false);
|
||||
}
|
||||
else if (type.equals(MPrintFormatItem.BARCODETYPE_QRCode))
|
||||
{
|
||||
m_barcodeBean = new QRCodeBean();
|
||||
if (item.isPrintBarcodeText())
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_BOTTOM);
|
||||
else
|
||||
m_barcodeBean.setMsgPosition(HumanReadablePlacement.HRP_NONE);
|
||||
m_code = code;
|
||||
}
|
||||
else
|
||||
log.warning("Invalid Type" + type);
|
||||
|
@ -168,6 +207,7 @@ public class BarcodeElement extends PrintElement
|
|||
if (mFont != null)
|
||||
m_barcode.setFont(mFont.getFont());
|
||||
}
|
||||
m_barcode.setDrawingText(item.isPrintBarcodeText());
|
||||
}
|
||||
} // createBarcode
|
||||
|
||||
|
@ -189,7 +229,7 @@ public class BarcodeElement extends PrintElement
|
|||
{
|
||||
p_width = 0;
|
||||
p_height = 0;
|
||||
if (m_barcode == null && m_upc == null)
|
||||
if (m_barcode == null && m_barcodeBean == null)
|
||||
return true;
|
||||
|
||||
if (m_barcode != null)
|
||||
|
@ -205,14 +245,14 @@ public class BarcodeElement extends PrintElement
|
|||
}
|
||||
else
|
||||
{
|
||||
BarcodeDimension t = m_upc.calcDimensions(m_code);
|
||||
BarcodeDimension t = m_barcodeBean.calcDimensions(m_code);
|
||||
//convert from mm to point/inch
|
||||
p_width = (float) (t.getWidthPlusQuiet() / 25.4f * 72f);
|
||||
p_height = (float) (t.getHeight() / 25.4f * 72f);
|
||||
|
||||
// * 3 for resolution of 216 dpi ( 72 * 3 )
|
||||
p_width *= 3f;
|
||||
p_height *=3f;
|
||||
// * 6 for resolution of 432 dpi ( 72 * 6 )
|
||||
p_width *= 6f;
|
||||
p_height *= 6f;
|
||||
}
|
||||
|
||||
if (p_width * p_height == 0)
|
||||
|
@ -223,6 +263,8 @@ public class BarcodeElement extends PrintElement
|
|||
m_scaleFactor = p_maxWidth / p_width;
|
||||
if (p_maxHeight != 0 && p_height > p_maxHeight && p_maxHeight/p_height < m_scaleFactor)
|
||||
m_scaleFactor = p_maxHeight / p_height;
|
||||
else if (p_maxHeight != 0 && (m_scaleFactor * p_height) > p_maxHeight)
|
||||
m_scaleFactor = p_maxHeight / p_height;
|
||||
|
||||
p_width = (float) m_scaleFactor * p_width;
|
||||
p_height = (float) m_scaleFactor * p_height;
|
||||
|
@ -255,7 +297,7 @@ public class BarcodeElement extends PrintElement
|
|||
public void paint (Graphics2D g2D, int pageNo, Point2D pageStart,
|
||||
Properties ctx, boolean isView)
|
||||
{
|
||||
if (!m_valid || (m_barcode == null && m_upc == null ))
|
||||
if (!m_valid || (m_barcode == null && m_barcodeBean == null ))
|
||||
return;
|
||||
|
||||
// Position
|
||||
|
@ -283,9 +325,9 @@ public class BarcodeElement extends PrintElement
|
|||
}
|
||||
else
|
||||
{
|
||||
//use resolution of 216 dpi (72 * 3) for better output
|
||||
BitmapCanvasProvider provider = new BitmapCanvasProvider(72*3, BufferedImage.TYPE_INT_ARGB, true, 0);
|
||||
m_upc.generateBarcode(provider, m_code);
|
||||
//use resolution of 432 dpi (72 * 6) for better output
|
||||
BitmapCanvasProvider provider = new BitmapCanvasProvider(72*6, BufferedImage.TYPE_INT_ARGB, true, 0);
|
||||
m_barcodeBean.generateBarcode(provider, m_code);
|
||||
provider.finish();
|
||||
image = provider.getBufferedImage();
|
||||
}
|
||||
|
@ -293,7 +335,8 @@ public class BarcodeElement extends PrintElement
|
|||
// scale barcode and paint
|
||||
AffineTransform transform = new AffineTransform();
|
||||
transform.translate(x,y);
|
||||
transform.scale(m_scaleFactor, m_scaleFactor);
|
||||
float scaleFactor = m_scaleFactor * 3f / 4f;
|
||||
transform.scale(scaleFactor, scaleFactor);
|
||||
g2D.drawImage(image, transform, this);
|
||||
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -259,7 +259,8 @@ public abstract class SvrProcess implements ProcessCall
|
|||
Event event = EventManager.newEvent(topic,
|
||||
new EventProperty(EventManager.EVENT_DATA, m_pi),
|
||||
new EventProperty("processUUID", m_pi.getAD_Process_UU()),
|
||||
new EventProperty("className", m_pi.getClassName()));
|
||||
new EventProperty("className", m_pi.getClassName()),
|
||||
new EventProperty("processClassName", this.getClass().getName()));
|
||||
EventManager.getInstance().sendEvent(event);
|
||||
return event;
|
||||
}
|
||||
|
|
|
@ -348,14 +348,6 @@ public class MWFProcess extends X_AD_WF_Process
|
|||
if (transitions == null || transitions.length == 0)
|
||||
return false; // done
|
||||
|
||||
// We need to wait for last activity
|
||||
if (MWFNode.JOINELEMENT_AND.equals(last.getNode().getJoinElement()))
|
||||
{
|
||||
// get previous nodes
|
||||
// check if all have closed activities
|
||||
// return false for all but the last
|
||||
}
|
||||
// eliminate from active processed
|
||||
last.setProcessed(true);
|
||||
last.saveEx();
|
||||
|
||||
|
@ -369,9 +361,23 @@ public class MWFProcess extends X_AD_WF_Process
|
|||
|
||||
// Start new Activity...
|
||||
MWFActivity activity = new MWFActivity (this, transitions[i].getAD_WF_Next_ID(), lastPO);
|
||||
/**
|
||||
* IDEMPIERE-3942
|
||||
* Implement JoinElement AND Status
|
||||
*/
|
||||
if(MWFNode.JOINELEMENT_AND.equals(activity.getNode().getJoinElement()))
|
||||
{
|
||||
if(!isJoinElementANDProcessed(activity))
|
||||
{
|
||||
activity.delete(true, get_TrxName());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
activity.set_TrxName(trxName);
|
||||
activity.run();
|
||||
|
||||
|
||||
// only the first valid if XOR
|
||||
if (MWFNode.SPLITELEMENT_XOR.equals(split))
|
||||
return true;
|
||||
|
@ -379,7 +385,43 @@ public class MWFProcess extends X_AD_WF_Process
|
|||
return true;
|
||||
} // startNext
|
||||
|
||||
|
||||
/*
|
||||
* IDEMPIERE-3942
|
||||
* Implement JoinElement AND Status
|
||||
*/
|
||||
private boolean isJoinElementANDProcessed(MWFActivity activity) {
|
||||
|
||||
|
||||
Query queryNodeNext = new Query(Env.getCtx(), MWFNodeNext.Table_Name, "AD_WF_Next_ID = ?", get_TrxName());
|
||||
queryNodeNext.setParameters(activity.getAD_WF_Node_ID());
|
||||
List<MWFNodeNext> nodeNexts = queryNodeNext.list();
|
||||
/**
|
||||
* IDEMPIERE-3942 #2 Transition need to match with Activity
|
||||
*/
|
||||
int totalParent = 0;
|
||||
int totalActivities = 0;
|
||||
for (MWFNodeNext nodeNext : nodeNexts) {
|
||||
totalParent++;
|
||||
Query queryMWFActivity = new Query(Env.getCtx(), MWFActivity.Table_Name,
|
||||
"AD_WF_Process_ID = ? AND AD_WF_Node_ID = ? ", get_TrxName());
|
||||
|
||||
Object params[] = { activity.getAD_WF_Process_ID(), nodeNext.getAD_WF_Node_ID() };
|
||||
|
||||
queryMWFActivity.setParameters(params);
|
||||
List<MWFActivity> parentActivitys = queryMWFActivity.list();
|
||||
for (MWFActivity parentActivity : parentActivitys) {
|
||||
totalActivities++;
|
||||
if(!parentActivity.isProcessed())
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
if(totalParent < totalActivities)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* Set Workflow Responsible.
|
||||
* Searches for a Invoker.
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
/*
|
||||
* Copyright 2012 Jeremias Maerki.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* $Id: QRCode.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $ */
|
||||
|
||||
package org.krysalis.barcode4j.impl.qr;
|
||||
|
||||
import java.awt.Dimension;
|
||||
|
||||
import org.krysalis.barcode4j.impl.ConfigurableBarcodeGenerator;
|
||||
import org.krysalis.barcode4j.tools.Length;
|
||||
|
||||
import org.apache.avalon.framework.configuration.Configurable;
|
||||
import org.apache.avalon.framework.configuration.Configuration;
|
||||
import org.apache.avalon.framework.configuration.ConfigurationException;
|
||||
|
||||
/**
|
||||
* This class is an implementation of QR Code.
|
||||
*
|
||||
* @version $Id: QRCode.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $
|
||||
*/
|
||||
public class QRCode extends ConfigurableBarcodeGenerator
|
||||
implements Configurable {
|
||||
|
||||
/** Create a new instance. */
|
||||
public QRCode() {
|
||||
this.bean = new QRCodeBean();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
|
||||
*/
|
||||
public void configure(Configuration cfg) throws ConfigurationException {
|
||||
//Module width (MUST ALWAYS BE FIRST BECAUSE QUIET ZONE MAY DEPEND ON IT)
|
||||
String mws = cfg.getChild("module-width").getValue(null);
|
||||
if (mws != null) {
|
||||
Length mw = new Length(mws, "mm");
|
||||
getQRBean().setModuleWidth(mw.getValueAsMillimeter());
|
||||
}
|
||||
|
||||
super.configure(cfg);
|
||||
|
||||
String encoding = cfg.getChild("encoding").getValue(null);
|
||||
if (encoding != null) {
|
||||
getQRBean().setEncoding(encoding);
|
||||
}
|
||||
|
||||
String ecLevel = cfg.getChild("ec-level").getValue(null);
|
||||
if (ecLevel != null && ecLevel.length() > 0) {
|
||||
getQRBean().setErrorCorrectionLevel(ecLevel.charAt(0));
|
||||
}
|
||||
|
||||
String size;
|
||||
size = cfg.getChild("min-symbol-size").getValue(null);
|
||||
if (size != null) {
|
||||
getQRBean().setMinSize(parseSymbolSize(size));
|
||||
}
|
||||
size = cfg.getChild("max-symbol-size").getValue(null);
|
||||
if (size != null) {
|
||||
getQRBean().setMaxSize(parseSymbolSize(size));
|
||||
}
|
||||
}
|
||||
|
||||
private Dimension parseSymbolSize(String size) {
|
||||
int idx = size.indexOf('x');
|
||||
Dimension dim;
|
||||
if (idx > 0) {
|
||||
dim = new Dimension(Integer.parseInt(size.substring(0, idx)),
|
||||
Integer.parseInt(size.substring(idx + 1)));
|
||||
} else {
|
||||
int extent = Integer.parseInt(size);
|
||||
dim = new Dimension(extent, extent);
|
||||
}
|
||||
return dim;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the underlying DataMatrix bean
|
||||
*/
|
||||
public QRCodeBean getQRBean() {
|
||||
return (QRCodeBean)getBean();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,229 @@
|
|||
/*
|
||||
* Copyright 2012 Jeremias Maerki.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* $Id: QRCodeBean.java,v 1.3 2012-02-08 12:59:41 jmaerki Exp $ */
|
||||
|
||||
package org.krysalis.barcode4j.impl.qr;
|
||||
|
||||
import java.awt.Dimension;
|
||||
|
||||
import org.krysalis.barcode4j.BarcodeDimension;
|
||||
import org.krysalis.barcode4j.TwoDimBarcodeLogicHandler;
|
||||
import org.krysalis.barcode4j.impl.AbstractBarcodeBean;
|
||||
import org.krysalis.barcode4j.impl.DefaultTwoDimCanvasLogicHandler;
|
||||
import org.krysalis.barcode4j.output.Canvas;
|
||||
import org.krysalis.barcode4j.output.CanvasProvider;
|
||||
import org.krysalis.barcode4j.tools.ECIUtil;
|
||||
import org.krysalis.barcode4j.tools.UnitConv;
|
||||
|
||||
import com.google.zxing.WriterException;
|
||||
import com.google.zxing.qrcode.encoder.ByteMatrix;
|
||||
import com.google.zxing.qrcode.encoder.Encoder;
|
||||
import com.google.zxing.qrcode.encoder.QRCode;
|
||||
|
||||
/**
|
||||
* This class is an implementation of QR Code (ISO 18004:2006(E)).
|
||||
*
|
||||
* @version $Id: QRCodeBean.java,v 1.3 2012-02-08 12:59:41 jmaerki Exp $
|
||||
*/
|
||||
public class QRCodeBean extends AbstractBarcodeBean {
|
||||
|
||||
/** The default module width (dot size) for DataMatrix. */
|
||||
protected static final double DEFAULT_MODULE_WIDTH = UnitConv.in2mm(1.0 / 72); //1px at 72dpi
|
||||
|
||||
/** Error correction level */
|
||||
private char errorCorrectionLevel = QRConstants.ERROR_CORRECTION_LEVEL_L;
|
||||
/** Message encoding */
|
||||
private String encoding = "ISO-8859-1"; //ECI 000003
|
||||
/** Optional: the minimum size of the symbol. */
|
||||
private Dimension minSize;
|
||||
/** Optional: the maximum size of the symbol. */
|
||||
private Dimension maxSize;
|
||||
|
||||
/** Create a new instance. */
|
||||
public QRCodeBean() {
|
||||
this.height = 0.0; //not used by DataMatrix
|
||||
this.moduleWidth = DEFAULT_MODULE_WIDTH;
|
||||
setQuietZone(QRConstants.QUIET_ZONE_SIZE * moduleWidth);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the error correction level.
|
||||
* @param level the error correction level (one of L, M, Q and H)
|
||||
*/
|
||||
public void setErrorCorrectionLevel(char level) {
|
||||
switch (level) {
|
||||
case QRConstants.ERROR_CORRECTION_LEVEL_L:
|
||||
case QRConstants.ERROR_CORRECTION_LEVEL_M:
|
||||
case QRConstants.ERROR_CORRECTION_LEVEL_Q:
|
||||
case QRConstants.ERROR_CORRECTION_LEVEL_H:
|
||||
this.errorCorrectionLevel = level;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException(
|
||||
"Invalid error correction level. Valid levels are: L, M, Q and H");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the selected error correction level.
|
||||
* @return the error correction level (one of L, M, Q and H)
|
||||
*/
|
||||
public char getErrorCorrectionLevel() {
|
||||
return this.errorCorrectionLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the message encoding. The value must conform to one of Java's encodings and
|
||||
* have a mapping in the ECI registry.
|
||||
* @param encoding the message encoding
|
||||
*/
|
||||
public void setEncoding(String encoding) {
|
||||
if (ECIUtil.getECIForEncoding(encoding) < 0) {
|
||||
throw new IllegalArgumentException("Not a valid encoding: " + encoding);
|
||||
}
|
||||
this.encoding = encoding;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the message encoding.
|
||||
* @return the message encoding (default is "ISO-8859-1")
|
||||
*/
|
||||
public String getEncoding() {
|
||||
return this.encoding;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the minimum symbol size that is to be produced.
|
||||
* @param minSize the minimum size (in pixels), or null for no constraint
|
||||
*/
|
||||
public void setMinSize(Dimension minSize) {
|
||||
this.minSize = (minSize != null ? new Dimension(minSize) : null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the minimum symbol size that is to be produced. If the method returns null,
|
||||
* there's no constraint on the symbol size.
|
||||
* @return the minimum symbol size (in pixels), or null if there's no size constraint
|
||||
*/
|
||||
public Dimension getMinSize() {
|
||||
if (this.minSize != null) {
|
||||
return new Dimension(this.minSize);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the maximum symbol size that is to be produced.
|
||||
* @param maxSize the maximum size (in pixels), or null for no constraint
|
||||
*/
|
||||
public void setMaxSize(Dimension maxSize) {
|
||||
this.maxSize = (maxSize != null ? new Dimension(maxSize) : null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the maximum symbol size that is to be produced. If the method returns null,
|
||||
* there's no constraint on the symbol size.
|
||||
* @return the maximum symbol size (in pixels), or null if there's no size constraint
|
||||
*/
|
||||
public Dimension getMaxSize() {
|
||||
if (this.maxSize != null) {
|
||||
return new Dimension(this.maxSize);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public void generateBarcode(CanvasProvider canvas, String msg) {
|
||||
if ((msg == null)
|
||||
|| (msg.length() == 0)) {
|
||||
throw new NullPointerException("Parameter msg must not be empty");
|
||||
}
|
||||
|
||||
TwoDimBarcodeLogicHandler handler =
|
||||
new DefaultTwoDimCanvasLogicHandler(this, new Canvas(canvas));
|
||||
|
||||
QRLogicImpl impl = new QRLogicImpl();
|
||||
impl.generateBarcodeLogic(handler, msg, encoding, errorCorrectionLevel,
|
||||
getMinSize(), getMaxSize());
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public BarcodeDimension calcDimensions(String msg) {
|
||||
QRCode code = new QRCode();
|
||||
try {
|
||||
code = Encoder.encode(msg,
|
||||
QRLogicImpl.getZXingErrorLevel(errorCorrectionLevel),
|
||||
QRLogicImpl.createHints(encoding));
|
||||
} catch (WriterException e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
ByteMatrix matrix = code.getMatrix();
|
||||
int effWidth = matrix.getWidth();
|
||||
int effHeight = matrix.getHeight();
|
||||
checkSizeConstraints(effWidth, effHeight);
|
||||
|
||||
double width = effWidth * getModuleWidth();
|
||||
double height = effHeight * getBarHeight();
|
||||
double qzh = (hasQuietZone() ? getQuietZone() : 0);
|
||||
double qzv = (hasQuietZone() ? getVerticalQuietZone() : 0);
|
||||
return new BarcodeDimension(width, height,
|
||||
width + (2 * qzh), height + (2 * qzv),
|
||||
qzh, qzv);
|
||||
}
|
||||
|
||||
private void checkSizeConstraints(int width, int height) {
|
||||
//Note: we're only checking the constraints, we can't currently influence ZXing's encoder.
|
||||
if (this.minSize != null) {
|
||||
if (width < this.minSize.width || height < this.minSize.height) {
|
||||
throw new IllegalArgumentException(
|
||||
"The given message would result in a smaller symbol than required."
|
||||
+ " Requested minimum: "
|
||||
+ this.minSize.width + " x " + this.minSize.height
|
||||
+ ", effective: "
|
||||
+ width + " x " + height);
|
||||
}
|
||||
}
|
||||
if (this.maxSize != null) {
|
||||
if (width > this.maxSize.width || height > this.maxSize.height) {
|
||||
throw new IllegalArgumentException(
|
||||
"The given message would result in a larger symbol than required."
|
||||
+ " Requested maximum: "
|
||||
+ this.maxSize.width + " x " + this.maxSize.height
|
||||
+ ", effective: "
|
||||
+ width + " x " + height);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public double getVerticalQuietZone() {
|
||||
return getQuietZone();
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public double getBarWidth(int width) {
|
||||
return moduleWidth;
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public double getBarHeight() {
|
||||
return moduleWidth;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* Copyright 2012 Jeremias Maerki, Switzerland
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* $Id: QRConstants.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $ */
|
||||
|
||||
package org.krysalis.barcode4j.impl.qr;
|
||||
|
||||
/**
|
||||
* Constants for QR Code.
|
||||
*
|
||||
* @version $Id: QRConstants.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $
|
||||
*/
|
||||
public interface QRConstants {
|
||||
|
||||
char ERROR_CORRECTION_LEVEL_L = 'L';
|
||||
char ERROR_CORRECTION_LEVEL_M = 'M';
|
||||
char ERROR_CORRECTION_LEVEL_Q = 'Q';
|
||||
char ERROR_CORRECTION_LEVEL_H = 'H';
|
||||
|
||||
int QUIET_ZONE_SIZE = 4;
|
||||
int QUIET_ZONE_SIZE_MICRO = 2;
|
||||
|
||||
int NUMERIC = 0;
|
||||
int ALPHANUMERIC = 1;
|
||||
int BINARY = 2;
|
||||
|
||||
int[] ALPHANUMERIC_TABLE = {
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, //0x00-0x0f
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, //0x10-0x1f
|
||||
36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, //0x20-0x2f
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, //0x30-0x3f
|
||||
-1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, //0x40-0x4f
|
||||
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, //0x50-0x5f
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* Copyright 2012 Jeremias Maerki, Switzerland
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* $Id: QRHighLevelEncoder.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $ */
|
||||
|
||||
package org.krysalis.barcode4j.impl.qr;
|
||||
|
||||
/**
|
||||
* High-level encoder for QR Code.
|
||||
*
|
||||
* @version $Id: QRHighLevelEncoder.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $
|
||||
*/
|
||||
public class QRHighLevelEncoder implements QRConstants {
|
||||
|
||||
private final String msg;
|
||||
private int encodingMode;
|
||||
|
||||
public QRHighLevelEncoder(String msg) {
|
||||
this.msg = msg;
|
||||
this.encodingMode = analyzeMessage(msg);
|
||||
}
|
||||
|
||||
public int getEncodingMode() {
|
||||
return this.encodingMode;
|
||||
}
|
||||
|
||||
private int analyzeMessage(String msg) {
|
||||
int mode = NUMERIC;
|
||||
for (int i = 0, c = msg.length(); i < c; i++) {
|
||||
char ch = msg.charAt(i);
|
||||
if (isDigit(ch)) {
|
||||
//nop
|
||||
} else if (mode == NUMERIC && isAlphanumeric(ch)) {
|
||||
mode = ALPHANUMERIC;
|
||||
} else {
|
||||
mode = BINARY;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return mode;
|
||||
}
|
||||
|
||||
private static final boolean isDigit(char ch) {
|
||||
return ch >= '0' && ch <= '9';
|
||||
}
|
||||
|
||||
private static final boolean isAlphanumeric(char ch) {
|
||||
return ALPHANUMERIC_TABLE[ch] >= 0;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
* Copyright 2012 Jeremias Maerki.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* $Id: QRLogicImpl.java,v 1.3 2012-02-08 12:59:41 jmaerki Exp $ */
|
||||
|
||||
package org.krysalis.barcode4j.impl.qr;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.util.Hashtable;
|
||||
|
||||
import org.krysalis.barcode4j.TwoDimBarcodeLogicHandler;
|
||||
|
||||
import com.google.zxing.EncodeHintType;
|
||||
import com.google.zxing.WriterException;
|
||||
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
|
||||
import com.google.zxing.qrcode.encoder.ByteMatrix;
|
||||
import com.google.zxing.qrcode.encoder.Encoder;
|
||||
import com.google.zxing.qrcode.encoder.QRCode;
|
||||
|
||||
/**
|
||||
* Top-level class for the logic part of the DataMatrix implementation.
|
||||
*
|
||||
* @version $Id: QRLogicImpl.java,v 1.3 2012-02-08 12:59:41 jmaerki Exp $
|
||||
*/
|
||||
public class QRLogicImpl implements QRConstants {
|
||||
|
||||
/**
|
||||
* Generates the barcode logic.
|
||||
* @param logic the logic handler to receive generated events
|
||||
* @param msg the message to encode
|
||||
* @param errorCorrectionLevel the error correction level (one of L, M, Q, H)
|
||||
* @param encoding the message encoding
|
||||
* @param minSize the minimum symbol size constraint or null for no constraint
|
||||
* @param maxSize the maximum symbol size constraint or null for no constraint
|
||||
*/
|
||||
public void generateBarcodeLogic(TwoDimBarcodeLogicHandler logic, String msg,
|
||||
String encoding,
|
||||
char errorCorrectionLevel,
|
||||
Dimension minSize, Dimension maxSize) {
|
||||
|
||||
//TODO ZXing doesn't allow to set minSize/maxSize through its API
|
||||
|
||||
ErrorCorrectionLevel zxingErrLevel = getZXingErrorLevel(errorCorrectionLevel);
|
||||
Hashtable<EncodeHintType,String> hints = createHints(encoding);
|
||||
|
||||
QRCode code = new QRCode();
|
||||
try {
|
||||
code = Encoder.encode(msg, zxingErrLevel, hints);
|
||||
} catch (WriterException e) {
|
||||
throw new RuntimeException(e.getMessage(), e);
|
||||
}
|
||||
ByteMatrix matrix = code.getMatrix();
|
||||
|
||||
//finally, paint the barcode
|
||||
logic.startBarcode(msg, msg);
|
||||
encodeLowLevel(logic, matrix);
|
||||
logic.endBarcode();
|
||||
}
|
||||
|
||||
static Hashtable<EncodeHintType,String> createHints(String encoding) {
|
||||
Hashtable<EncodeHintType,String> hints = null;
|
||||
if (!"ISO-8859-1".equals(encoding)) {
|
||||
hints = new Hashtable<EncodeHintType, String>();
|
||||
hints.put(EncodeHintType.CHARACTER_SET, encoding);
|
||||
}
|
||||
return hints;
|
||||
}
|
||||
|
||||
static ErrorCorrectionLevel getZXingErrorLevel(char errorCorrectionLevel) {
|
||||
ErrorCorrectionLevel zxingErrLevel;
|
||||
switch (errorCorrectionLevel) {
|
||||
case ERROR_CORRECTION_LEVEL_L:
|
||||
zxingErrLevel = ErrorCorrectionLevel.L;
|
||||
break;
|
||||
case ERROR_CORRECTION_LEVEL_M:
|
||||
zxingErrLevel = ErrorCorrectionLevel.M;
|
||||
break;
|
||||
case ERROR_CORRECTION_LEVEL_Q:
|
||||
zxingErrLevel = ErrorCorrectionLevel.Q;
|
||||
break;
|
||||
case ERROR_CORRECTION_LEVEL_H:
|
||||
zxingErrLevel = ErrorCorrectionLevel.H;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException(
|
||||
"Invalid error correction level: " + errorCorrectionLevel);
|
||||
}
|
||||
return zxingErrLevel;
|
||||
}
|
||||
|
||||
private void encodeLowLevel(TwoDimBarcodeLogicHandler logic, ByteMatrix matrix) {
|
||||
int symbolWidth = matrix.getWidth();
|
||||
int symbolHeight = matrix.getHeight();
|
||||
for (int y = 0; y < symbolHeight; y++) {
|
||||
logic.startRow();
|
||||
for (int x = 0; x < symbolWidth; x++) {
|
||||
logic.addBar(matrix.get(x, y) == 1, 1);
|
||||
}
|
||||
logic.endRow();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Copyright 2012 Jeremias Maerki, Switzerland
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* $Id: ECIUtil.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $ */
|
||||
|
||||
package org.krysalis.barcode4j.tools;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Utilities around ECI (extended channel interpretation).
|
||||
*
|
||||
* @version $Id: ECIUtil.java,v 1.1 2012-01-27 14:36:35 jmaerki Exp $
|
||||
*/
|
||||
public class ECIUtil {
|
||||
|
||||
/** ECI code for 8-bit binary data */
|
||||
public static final int ECI_BINARY = 899;
|
||||
|
||||
private static final Map encodingToECI = new java.util.HashMap();
|
||||
|
||||
static {
|
||||
mapEncoding("Cp437", 2);
|
||||
mapEncoding("ISO-8859-1", 3);
|
||||
mapEncoding("ISO-8859-2", 4);
|
||||
mapEncoding("ISO-8859-3", 5);
|
||||
mapEncoding("ISO-8859-4", 6);
|
||||
mapEncoding("ISO-8859-5", 7);
|
||||
mapEncoding("ISO-8859-6", 8);
|
||||
mapEncoding("ISO-8859-7", 9);
|
||||
mapEncoding("ISO-8859-8", 10);
|
||||
mapEncoding("ISO-8859-9", 11);
|
||||
mapEncoding("ISO-8859-10", 12);
|
||||
mapEncoding("ISO-8859-11", 13);
|
||||
mapEncoding("ISO-8859-13", 15);
|
||||
mapEncoding("ISO-8859-14", 16);
|
||||
mapEncoding("ISO-8859-15", 17);
|
||||
mapEncoding("ISO-8859-16", 18);
|
||||
mapEncoding("SJIS", 20);
|
||||
mapEncoding("Cp1250", 21);
|
||||
mapEncoding("Cp1251", 22);
|
||||
mapEncoding("Cp1252", 23);
|
||||
mapEncoding("Cp1256", 24);
|
||||
mapEncoding("UnicodeBigUnmarked", 25);
|
||||
mapEncoding("UTF-8", 26);
|
||||
mapEncoding("US-ASCII", 27);
|
||||
mapEncoding("Big5", 28);
|
||||
mapEncoding("GB18030", 29);
|
||||
}
|
||||
|
||||
private static void mapEncoding(String encoding, int eci) {
|
||||
encodingToECI.put(encoding, new Integer(eci));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ECI code for a given encoding.
|
||||
* @param encoding the encoding
|
||||
* @return the corresponding ECI code
|
||||
*/
|
||||
public static int getECIForEncoding(String encoding) {
|
||||
Integer code = (Integer)encodingToECI.get(encoding);
|
||||
if (code != null) {
|
||||
return code.intValue();
|
||||
} else {
|
||||
return -1; //undefined
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -648,7 +648,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-beans.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-expression.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-beans;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -670,7 +669,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-core.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-expression.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-core;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -698,7 +696,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-context.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-expression.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-context;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -720,7 +717,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-expression.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-expression.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-expression;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -737,7 +733,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-aop.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-aop.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-aop;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -759,7 +754,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-web.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-web.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-web;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -781,7 +775,6 @@
|
|||
<instructions>
|
||||
<Export-Package/>
|
||||
<Private-Package/>
|
||||
<Private-Package/>
|
||||
<Bundle-SymbolicName>org.apache.servicemix.bundles.spring-context-support.source</Bundle-SymbolicName>
|
||||
<Bundle-Name>spring-context-support.source</Bundle-Name>
|
||||
<Eclipse-SourceBundle>org.apache.servicemix.bundles.spring-context-support;version="${springframework.version}";roots:="."</Eclipse-SourceBundle>
|
||||
|
@ -943,6 +936,9 @@
|
|||
<Eclipse-SourceBundle>zkplus;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zkplus</Bundle-SymbolicName>
|
||||
<Bundle-Name>zkplus.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -953,6 +949,9 @@
|
|||
<Eclipse-SourceBundle>zweb;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zweb</Bundle-SymbolicName>
|
||||
<Bundle-Name>zweb.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -963,6 +962,9 @@
|
|||
<Eclipse-SourceBundle>zul;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zul</Bundle-SymbolicName>
|
||||
<Bundle-Name>zul.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -973,6 +975,9 @@
|
|||
<Eclipse-SourceBundle>zk;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zk</Bundle-SymbolicName>
|
||||
<Bundle-Name>zk.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -983,6 +988,9 @@
|
|||
<Eclipse-SourceBundle>zhtml;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zhtml</Bundle-SymbolicName>
|
||||
<Bundle-Name>zhtml.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -993,6 +1001,9 @@
|
|||
<Eclipse-SourceBundle>zkbind;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zkbind</Bundle-SymbolicName>
|
||||
<Bundle-Name>zkbind.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -1003,6 +1014,9 @@
|
|||
<Eclipse-SourceBundle>zel;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zel</Bundle-SymbolicName>
|
||||
<Bundle-Name>zel.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -1013,6 +1027,9 @@
|
|||
<Eclipse-SourceBundle>zcommon;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zcommon</Bundle-SymbolicName>
|
||||
<Bundle-Name>zcommon.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -1023,6 +1040,9 @@
|
|||
<Eclipse-SourceBundle>zkwebfragment;version="${zk.version}";roots:="."</Eclipse-SourceBundle>
|
||||
<Bundle-SymbolicName>zkwebfragment</Bundle-SymbolicName>
|
||||
<Bundle-Name>zkwebfragment.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
<artifact>
|
||||
|
@ -1034,6 +1054,9 @@
|
|||
<Bundle-SymbolicName>zjavassist</Bundle-SymbolicName>
|
||||
<Bundle-Version>${zk.version}</Bundle-Version>
|
||||
<Bundle-Name>zjavassist.source</Bundle-Name>
|
||||
<Export-Package/>
|
||||
<Import-Package/>
|
||||
<Private-Package/>
|
||||
</instructions>
|
||||
</artifact>
|
||||
</artifacts>
|
||||
|
|
Loading…
Reference in New Issue