diff --git a/migration/i1.0a-release/oracle/201212120818_IDEMPIERE-448.sql b/migration/i1.0a-release/oracle/201212120818_IDEMPIERE-448.sql new file mode 100644 index 0000000000..540f03d2a0 --- /dev/null +++ b/migration/i1.0a-release/oracle/201212120818_IDEMPIERE-448.sql @@ -0,0 +1,91 @@ +-- Oct 4, 2012 1:29:34 PM CEST +-- IDEMPIERE-448 Add CopyFrom on Bank Statement +INSERT INTO AD_Process (AD_Client_ID,AD_Org_ID,AD_Process_ID,AccessLevel,Classname,CopyFromProcess,Created,CreatedBy,Description,EntityType,IsActive,IsBetaFunctionality,IsDirectPrint,IsReport,IsServerProcess,Name,ShowHelp,Statistic_Count,Statistic_Seconds,Updated,UpdatedBy,Value) VALUES (0,0,200012,'1','org.compiere.process.CopyFromBankStmt','N',TO_DATE('2012-10-04 13:29:33','YYYY-MM-DD HH24:MI:SS'),100,'Copy Lines from other bank statement','D','Y','N','N','N','N','Copy Lines','Y',0,0,TO_DATE('2012-10-04 13:29:33','YYYY-MM-DD HH24:MI:SS'),100,'C_BankStatement CopyFrom') +; + +-- Oct 4, 2012 1:29:35 PM CEST +INSERT INTO AD_Process_Trl (AD_Language,AD_Process_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Process_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Process t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Process_ID=200012 AND NOT EXISTS (SELECT * FROM AD_Process_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Process_ID=t.AD_Process_ID) +; + +-- Oct 4, 2012 1:30:09 PM CEST +INSERT INTO AD_Val_Rule (AD_Client_ID,AD_Org_ID,AD_Val_Rule_ID,Code,Created,CreatedBy,EntityType,IsActive,Name,Type,Updated,UpdatedBy) VALUES (0,0,200008,'C_BankStatement.C_BankAccount_ID=@C_BankAccount_ID@',TO_DATE('2012-10-04 13:30:09','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','BankStatement of BankAccount','S',TO_DATE('2012-10-04 13:30:09','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:16 PM CEST +INSERT INTO AD_Process_Para (AD_Client_ID,AD_Element_ID,AD_Org_ID,AD_Process_ID,AD_Process_Para_ID,AD_Reference_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsCentrallyMaintained,IsEncrypted,IsMandatory,IsRange,Name,SeqNo,Updated,UpdatedBy) VALUES (0,1381,0,200012,200043,30,200008,'C_BankStatement_ID',TO_DATE('2012-10-04 13:30:16','YYYY-MM-DD HH24:MI:SS'),100,'Bank Statement of account','D',0,'The Bank Statement identifies a unique Bank Statement for a defined time period. The statement defines all transactions that occurred','Y','Y','N','Y','N','Bank Statement',10,TO_DATE('2012-10-04 13:30:16','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:17 PM CEST +INSERT INTO AD_Process_Para_Trl (AD_Language,AD_Process_Para_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Process_Para_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Process_Para t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Process_Para_ID=200043 AND NOT EXISTS (SELECT * FROM AD_Process_Para_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Process_Para_ID=t.AD_Process_Para_ID) +; + +-- Oct 4, 2012 1:30:34 PM CEST +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Process_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,200585,2037,0,200012,28,392,'CopyFrom',TO_DATE('2012-10-04 13:30:33','YYYY-MM-DD HH24:MI:SS'),100,'N','Copy From Record','D',1,'Copy From Record','Y','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Copy From',0,TO_DATE('2012-10-04 13:30:33','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Oct 4, 2012 1:30:34 PM CEST +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200585 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Oct 4, 2012 1:30:36 PM CEST +ALTER TABLE C_BankStatement ADD CopyFrom CHAR(1) DEFAULT 'N' +; + +-- Oct 4, 2012 1:30:48 PM CEST +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,200585,200599,0,328,TO_DATE('2012-10-04 13:30:48','YYYY-MM-DD HH24:MI:SS'),100,'Copy From Record',1,'D','Copy From Record','Y','Y','Y','N','N','N','N','N','Copy From',TO_DATE('2012-10-04 13:30:48','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:48 PM CEST +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200599 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 4, 2012 1:30:49 PM CEST +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,59035,200600,0,328,TO_DATE('2012-10-04 13:30:49','YYYY-MM-DD HH24:MI:SS'),100,'The date+time (expressed in decimal format) when the document has been processed',20,'D','The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed.','Y','Y','Y','N','N','N','N','N','Processed On',TO_DATE('2012-10-04 13:30:49','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:49 PM CEST +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200600 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200600 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=200599 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=8686 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=8687 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=10585 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=10586 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=10587 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=3999 +; + +-- Oct 4, 2012 1:31:11 PM CEST +UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2012-10-04 13:31:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200599 +; + +-- Dec 12, 2012 8:59:07 AM COT +UPDATE AD_Val_Rule SET Code='C_BankStatement.C_BankAccount_ID=@C_BankAccount_ID@ AND C_BankStatement.DocStatus IN (''CO'',''CL'')',Updated=TO_DATE('2012-12-12 08:59:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200008 +; + +SELECT register_migration_script('201212120818_IDEMPIERE-448.sql') FROM dual +; diff --git a/migration/i1.0a-release/oracle/201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql b/migration/i1.0a-release/oracle/201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql new file mode 100644 index 0000000000..e3ab5a5974 --- /dev/null +++ b/migration/i1.0a-release/oracle/201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql @@ -0,0 +1,181 @@ +-- 22/07/2011 5:13:40 PM +-- -- +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,61939,263,0,15,392,'DateAcct',TO_DATE('2011-07-22 17:13:37','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Date','D',7,'The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion.','Y','Y','N','N','N','N','N','Y','N','N','N','N','Y','Account Date',0,TO_DATE('2011-07-22 17:13:37','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- 22/07/2011 5:13:40 PM +-- -- +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=61939 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- 22/07/2011 5:13:47 PM +-- -- +ALTER TABLE C_BankStatement ADD DateAcct DATE +; + +update c_bankstatement set dateacct=statementdate; + +-- 22/07/2011 5:32:05 PM +-- -- +ALTER TABLE C_BankStatement MODIFY DateAcct DATE +; + +-- 22/07/2011 5:32:05 PM +-- -- +ALTER TABLE C_BankStatement MODIFY DateAcct NOT NULL +; + + +-- 22/07/2011 5:14:50 PM +-- -- +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,61939,61967,0,328,TO_DATE('2011-07-22 17:14:49','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Date',7,'D','The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion.','Y','Y','Y','N','N','N','N','N','Account Date',TO_DATE('2011-07-22 17:14:49','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- 22/07/2011 5:14:50 PM +-- -- +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=61967 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=61968 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=61967 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=3996 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=3998 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=4119 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=3993 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=4365 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=4003 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=8933 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=3997 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=8686 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=8687 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=10585 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=10586 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=10587 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=3999 +; + +-- 22/07/2011 5:15:20 PM +-- -- +UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2011-07-22 17:15:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61967 +; + +-- 26/07/2011 3:12:34 PM +-- -- +UPDATE AD_Column SET Callout='org.compiere.model.CalloutEngine.dateAcct',Updated=TO_DATE('2011-07-26 15:12:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4918 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET ColumnSpan=2, SeqNo=60, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61967 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=150,Updated=TO_DATE('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3997 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=160,Updated=TO_DATE('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8686 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=170,Updated=TO_DATE('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8687 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=180,Updated=TO_DATE('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10585 +; + +-- Dec 12, 2012 11:39:17 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=190,Updated=TO_DATE('2012-12-12 11:39:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10586 +; + +-- Dec 12, 2012 11:39:17 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2012-12-12 11:39:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10587 +; + +-- Dec 12, 2012 11:39:17 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2012-12-12 11:39:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3999 +; + +-- Dec 12, 2012 11:41:08 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Column SET DefaultValue='@DateAcct@',Updated=TO_DATE('2012-12-12 11:41:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=5216 +; + +-- Dec 12, 2012 11:41:34 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2012-12-12 11:41:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4121 +; + +SELECT register_migration_script('201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql') FROM dual +; + diff --git a/migration/i1.0a-release/postgresql/201212120818_IDEMPIERE-448.sql b/migration/i1.0a-release/postgresql/201212120818_IDEMPIERE-448.sql new file mode 100644 index 0000000000..c89e6fea29 --- /dev/null +++ b/migration/i1.0a-release/postgresql/201212120818_IDEMPIERE-448.sql @@ -0,0 +1,91 @@ +-- Oct 4, 2012 1:29:34 PM CEST +-- IDEMPIERE-448 Add CopyFrom on Bank Statement +INSERT INTO AD_Process (AD_Client_ID,AD_Org_ID,AD_Process_ID,AccessLevel,Classname,CopyFromProcess,Created,CreatedBy,Description,EntityType,IsActive,IsBetaFunctionality,IsDirectPrint,IsReport,IsServerProcess,Name,ShowHelp,Statistic_Count,Statistic_Seconds,Updated,UpdatedBy,Value) VALUES (0,0,200012,'1','org.compiere.process.CopyFromBankStmt','N',TO_TIMESTAMP('2012-10-04 13:29:33','YYYY-MM-DD HH24:MI:SS'),100,'Copy Lines from other bank statement','D','Y','N','N','N','N','Copy Lines','Y',0,0,TO_TIMESTAMP('2012-10-04 13:29:33','YYYY-MM-DD HH24:MI:SS'),100,'C_BankStatement CopyFrom') +; + +-- Oct 4, 2012 1:29:35 PM CEST +INSERT INTO AD_Process_Trl (AD_Language,AD_Process_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Process_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Process t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Process_ID=200012 AND NOT EXISTS (SELECT * FROM AD_Process_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Process_ID=t.AD_Process_ID) +; + +-- Oct 4, 2012 1:30:09 PM CEST +INSERT INTO AD_Val_Rule (AD_Client_ID,AD_Org_ID,AD_Val_Rule_ID,Code,Created,CreatedBy,EntityType,IsActive,Name,Type,Updated,UpdatedBy) VALUES (0,0,200008,'C_BankStatement.C_BankAccount_ID=@C_BankAccount_ID@',TO_TIMESTAMP('2012-10-04 13:30:09','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','BankStatement of BankAccount','S',TO_TIMESTAMP('2012-10-04 13:30:09','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:16 PM CEST +INSERT INTO AD_Process_Para (AD_Client_ID,AD_Element_ID,AD_Org_ID,AD_Process_ID,AD_Process_Para_ID,AD_Reference_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsCentrallyMaintained,IsEncrypted,IsMandatory,IsRange,Name,SeqNo,Updated,UpdatedBy) VALUES (0,1381,0,200012,200043,30,200008,'C_BankStatement_ID',TO_TIMESTAMP('2012-10-04 13:30:16','YYYY-MM-DD HH24:MI:SS'),100,'Bank Statement of account','D',0,'The Bank Statement identifies a unique Bank Statement for a defined time period. The statement defines all transactions that occurred','Y','Y','N','Y','N','Bank Statement',10,TO_TIMESTAMP('2012-10-04 13:30:16','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:17 PM CEST +INSERT INTO AD_Process_Para_Trl (AD_Language,AD_Process_Para_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Process_Para_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Process_Para t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Process_Para_ID=200043 AND NOT EXISTS (SELECT * FROM AD_Process_Para_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Process_Para_ID=t.AD_Process_Para_ID) +; + +-- Oct 4, 2012 1:30:34 PM CEST +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Process_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,200585,2037,0,200012,28,392,'CopyFrom',TO_TIMESTAMP('2012-10-04 13:30:33','YYYY-MM-DD HH24:MI:SS'),100,'N','Copy From Record','D',1,'Copy From Record','Y','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Copy From',0,TO_TIMESTAMP('2012-10-04 13:30:33','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Oct 4, 2012 1:30:34 PM CEST +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200585 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Oct 4, 2012 1:30:36 PM CEST +ALTER TABLE C_BankStatement ADD COLUMN CopyFrom CHAR(1) DEFAULT 'N' +; + +-- Oct 4, 2012 1:30:48 PM CEST +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,200585,200599,0,328,TO_TIMESTAMP('2012-10-04 13:30:48','YYYY-MM-DD HH24:MI:SS'),100,'Copy From Record',1,'D','Copy From Record','Y','Y','Y','N','N','N','N','N','Copy From',TO_TIMESTAMP('2012-10-04 13:30:48','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:48 PM CEST +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200599 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 4, 2012 1:30:49 PM CEST +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,59035,200600,0,328,TO_TIMESTAMP('2012-10-04 13:30:49','YYYY-MM-DD HH24:MI:SS'),100,'The date+time (expressed in decimal format) when the document has been processed',20,'D','The ProcessedOn Date+Time save the exact moment (nanoseconds precision if allowed by the DB) when a document has been processed.','Y','Y','Y','N','N','N','N','N','Processed On',TO_TIMESTAMP('2012-10-04 13:30:49','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Oct 4, 2012 1:30:49 PM CEST +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200600 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200600 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=200599 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=8686 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=8687 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=10585 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=10586 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=10587 +; + +-- Oct 4, 2012 1:31:05 PM CEST +UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=3999 +; + +-- Oct 4, 2012 1:31:11 PM CEST +UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2012-10-04 13:31:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200599 +; + +-- Dec 12, 2012 8:59:07 AM COT +UPDATE AD_Val_Rule SET Code='C_BankStatement.C_BankAccount_ID=@C_BankAccount_ID@ AND C_BankStatement.DocStatus IN (''CO'',''CL'')',Updated=TO_TIMESTAMP('2012-12-12 08:59:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200008 +; + +SELECT register_migration_script('201212120818_IDEMPIERE-448.sql') FROM dual +; diff --git a/migration/i1.0a-release/postgresql/201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql b/migration/i1.0a-release/postgresql/201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql new file mode 100644 index 0000000000..73bf6da3c6 --- /dev/null +++ b/migration/i1.0a-release/postgresql/201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql @@ -0,0 +1,181 @@ +-- 22/07/2011 5:13:40 PM +-- -- +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,61939,263,0,15,392,'DateAcct',TO_TIMESTAMP('2011-07-22 17:13:37','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Date','D',7,'The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion.','Y','Y','N','N','N','N','N','Y','N','N','N','N','Y','Account Date',0,TO_TIMESTAMP('2011-07-22 17:13:37','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- 22/07/2011 5:13:40 PM +-- -- +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=61939 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- 22/07/2011 5:13:47 PM +-- -- +ALTER TABLE C_BankStatement ADD COLUMN DateAcct TIMESTAMP +; + +update c_bankstatement set dateacct=statementdate; + +-- 22/07/2011 5:32:05 PM +-- -- +INSERT INTO t_alter_column values('c_bankstatement','DateAcct','TIMESTAMP',null,null) +; + +-- 22/07/2011 5:32:05 PM +-- -- +INSERT INTO t_alter_column values('c_bankstatement','DateAcct',null,'NOT NULL',null) +; + + +-- 22/07/2011 5:14:50 PM +-- -- +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,Updated,UpdatedBy) VALUES (0,61939,61967,0,328,TO_TIMESTAMP('2011-07-22 17:14:49','YYYY-MM-DD HH24:MI:SS'),100,'Accounting Date',7,'D','The Accounting Date indicates the date to be used on the General Ledger account entries generated from this document. It is also used for any currency conversion.','Y','Y','Y','N','N','N','N','N','Account Date',TO_TIMESTAMP('2011-07-22 17:14:49','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- 22/07/2011 5:14:50 PM +-- -- +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=61967 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=61968 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=61967 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=3996 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=3998 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=4119 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=3993 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=4365 +; + +-- 22/07/2011 5:15:05 PM +-- -- +UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=4003 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=8933 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=3997 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=8686 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=8687 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=10585 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=10586 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=10587 +; + +-- 22/07/2011 5:15:06 PM +-- -- +UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=3999 +; + +-- 22/07/2011 5:15:20 PM +-- -- +UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2011-07-22 17:15:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61967 +; + +-- 26/07/2011 3:12:34 PM +-- -- +UPDATE AD_Column SET Callout='org.compiere.model.CalloutEngine.dateAcct',Updated=TO_TIMESTAMP('2011-07-26 15:12:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4918 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET ColumnSpan=2, SeqNo=60, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61967 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3997 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=160,Updated=TO_TIMESTAMP('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8686 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=170,Updated=TO_TIMESTAMP('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8687 +; + +-- Dec 12, 2012 11:39:16 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2012-12-12 11:39:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10585 +; + +-- Dec 12, 2012 11:39:17 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2012-12-12 11:39:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10586 +; + +-- Dec 12, 2012 11:39:17 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2012-12-12 11:39:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10587 +; + +-- Dec 12, 2012 11:39:17 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2012-12-12 11:39:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3999 +; + +-- Dec 12, 2012 11:41:08 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Column SET DefaultValue='@DateAcct@',Updated=TO_TIMESTAMP('2012-12-12 11:41:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=5216 +; + +-- Dec 12, 2012 11:41:34 AM COT +-- IDEMPIERE-480 Huge bug with FactAcctReset and Automatic Accounting +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2012-12-12 11:41:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4121 +; + +SELECT register_migration_script('201212121120_IDEMPIERE-480_780.11_StatementDateAcct.sql') FROM dual +; + diff --git a/org.adempiere.base.process/src/org/adempiere/process/ApplyMigrationScripts.java b/org.adempiere.base.process/src/org/adempiere/process/ApplyMigrationScripts.java index 0c2debd39f..c2d1c7db58 100644 --- a/org.adempiere.base.process/src/org/adempiere/process/ApplyMigrationScripts.java +++ b/org.adempiere.base.process/src/org/adempiere/process/ApplyMigrationScripts.java @@ -156,7 +156,7 @@ public class ApplyMigrationScripts extends SvrProcess { log.saveError("Error", msglog.toString()); log.severe(e.getMessage()); } finally { - stmt.close(); + if (stmt != null)stmt.close(); if(execOk) conn.commit(); else diff --git a/org.adempiere.base.process/src/org/compiere/process/CopyFromBankStmt.java b/org.adempiere.base.process/src/org/compiere/process/CopyFromBankStmt.java new file mode 100644 index 0000000000..a117bd8214 --- /dev/null +++ b/org.adempiere.base.process/src/org/compiere/process/CopyFromBankStmt.java @@ -0,0 +1,112 @@ +/****************************************************************************** + * Product: Adempiere ERP & CRM Smart Business Solution * + * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. * + * This program is free software; you can redistribute it and/or modify it * + * under the terms version 2 of the GNU General Public License as published * + * by the Free Software Foundation. This program is distributed in the hope * + * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License along * + * with this program; if not, write to the Free Software Foundation, Inc., * + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * + * For the text or an alternative of this public license, you may reach us * + * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * + * or via info@compiere.org or http://www.compiere.org/license.html * + *****************************************************************************/ +package org.compiere.process; + +import java.math.BigDecimal; +import java.util.logging.Level; + +import org.compiere.model.MBankStatement; +import org.compiere.model.MBankStatementLine; +import org.compiere.model.MPayment; +import org.compiere.util.DB; + +/** + * Copy BankStatement Lines : + * - lines without payment only if bank statement is CO/CL (otherwise, line amounts are set to 0) + * - lines with a payment only if this payment is not on another CO/CL/DR bank statement + * + * @author Nicolas Micoud - IDEMPIERE 448 + */ +public class CopyFromBankStmt extends SvrProcess +{ + private int m_C_BankStatement_ID = 0; + + /** + * Prepare - e.g., get Parameters. + */ + protected void prepare() + { + ProcessInfoParameter[] para = getParameter(); + for (int i = 0; i < para.length; i++) + { + String name = para[i].getParameterName(); + if (para[i].getParameter() == null) + ; + else if (name.equals("C_BankStatement_ID")) + m_C_BankStatement_ID = ((BigDecimal)para[i].getParameter()).intValue(); + else + log.log(Level.SEVERE, "prepare - Unknown Parameter: " + name); + } + } // prepare + + /** + * Perform process. + * @return Message + * @throws Exception if not successful + */ + protected String doIt() throws Exception + { + int To_C_BankStatement_ID = getRecord_ID(); + log.info("From C_BankStatement_ID=" + m_C_BankStatement_ID + " to " + To_C_BankStatement_ID); + if (To_C_BankStatement_ID == 0) + throw new IllegalArgumentException("Target C_BankStatement_ID == 0"); + if (m_C_BankStatement_ID == 0) + throw new IllegalArgumentException("Source C_BankStatement_ID == 0"); + + MBankStatement from = new MBankStatement(getCtx(), m_C_BankStatement_ID, get_TrxName()); + MBankStatement to = new MBankStatement (getCtx(), To_C_BankStatement_ID, get_TrxName()); + int no = 0; + + if ( ! (MBankStatement.DOCSTATUS_Completed.equals(from.getDocStatus()) || MBankStatement.DOCSTATUS_Closed.equals(from.getDocStatus())) ) + throw new IllegalArgumentException("Source must be closed or complete"); + + for (MBankStatementLine fromLine : from.getLines(false)) + { + if (fromLine.getC_Payment_ID() > 0) + { + // check if payment is used on another statement + String sql = "SELECT C_BankStatementLine_ID" + + " FROM C_BankStatementLine bsl, C_BankStatement bs" + + " WHERE bs.C_BankStatement_ID=bsl.C_BankStatement_ID" + + " AND bs.DocStatus IN ('DR', 'CO', 'CL')" + + " AND bsl.C_Payment_ID=?"; + if (DB.getSQLValueEx(get_TrxName(), sql, fromLine.getC_Payment_ID()) < 0) + { + MBankStatementLine toLine = new MBankStatementLine(to); + toLine.setPayment(new MPayment(getCtx(), fromLine.getC_Payment_ID(), get_TrxName())); + toLine.saveEx(); + no++; + } else { + log.info("C_BankStatementLine not copied - related to a payment already present in a bank statement"); + } + } + else + { + MBankStatementLine toLine = new MBankStatementLine(to); + toLine.setC_Currency_ID(fromLine.getC_Currency_ID()); + toLine.setC_Charge_ID(fromLine.getC_Charge_ID()); + toLine.setStmtAmt(fromLine.getStmtAmt()); + toLine.setTrxAmt(fromLine.getTrxAmt()); + toLine.setChargeAmt(fromLine.getChargeAmt()); + toLine.setInterestAmt(fromLine.getInterestAmt()); + toLine.saveEx(); + no++; + } + } + return "@Copied@=" + no; + } // doIt +} // CopyFromBankStmt \ No newline at end of file diff --git a/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java b/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java index 873e7f8d4d..e64142fa69 100644 --- a/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java +++ b/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java @@ -114,13 +114,13 @@ public class DistributionRun extends SvrProcess } else if (name.equals("IsTest")) p_IsTest = "Y".equals(para[i].getParameter()); - else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) & name.equals("M_Warehouse_ID")) + else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) && name.equals("M_Warehouse_ID")) p_M_Warehouse_ID=((BigDecimal)para[i].getParameter()).intValue(); - else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) & name.equals("ConsolidateDocument")) + else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) && name.equals("ConsolidateDocument")) p_ConsolidateDocument="Y".equals((String)para[i].getParameter()); - else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) & name.equals("M_DistributionList_ID")) + else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) && name.equals("M_DistributionList_ID")) p_M_DistributionList_ID=para[i].getParameterAsInt(); - else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) & name.equals("IsRequiredDRP")) + else if (m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) && name.equals("IsRequiredDRP")) p_BasedInDamnd = "Y".equals((String)para[i].getParameter()); else log.log(Level.SEVERE, "prepare - Unknown Parameter: " + name); @@ -160,7 +160,7 @@ public class DistributionRun extends SvrProcess if (p_DatePromised == null) p_DatePromised = m_DateOrdered; - if(m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) & p_M_Warehouse_ID > 0) + if(m_docType.getDocBaseType().equals(MDocType.DOCBASETYPE_DistributionOrder) && p_M_Warehouse_ID > 0) { if(p_BasedInDamnd) { diff --git a/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java b/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java index 00eb9b7034..0f642e7d99 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java +++ b/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java @@ -142,7 +142,7 @@ public class ExpenseAPInvoice extends SvrProcess .append(DisplayType.getDateFormat(DisplayType.Date).format(te.getDateReport())); invoice.setDescription(descr.toString()); if (!invoice.save()) - new IllegalStateException("Cannot save Invoice"); + throw new IllegalStateException("Cannot save Invoice"); old_BPartner_ID = bp.getC_BPartner_ID(); } MTimeExpenseLine[] tel = te.getLines(false); @@ -164,7 +164,7 @@ public class ExpenseAPInvoice extends SvrProcess if (line.getC_Project_ID() != 0 && line.getC_Project_ID() != invoice.getC_Project_ID()) invoice.setC_Project_ID(line.getC_Project_ID()); if (!invoice.save()) - new IllegalStateException("Cannot save Invoice"); + throw new IllegalStateException("Cannot save Invoice"); // Create OrderLine MInvoiceLine il = new MInvoiceLine (invoice); @@ -184,7 +184,7 @@ public class ExpenseAPInvoice extends SvrProcess il.setPrice(line.getPriceReimbursed()); // il.setTax(); if (!il.save()) - new IllegalStateException("Cannot save Invoice Line"); + throw new IllegalStateException("Cannot save Invoice Line"); // Update TEL line.setC_InvoiceLine_ID(il.getC_InvoiceLine_ID()); line.saveEx(); @@ -221,7 +221,7 @@ public class ExpenseAPInvoice extends SvrProcess } if (!invoice.save()) - new IllegalStateException("Cannot save Invoice"); + throw new IllegalStateException("Cannot save Invoice"); // m_noInvoices++; addLog(invoice.get_ID(), invoice.getDateInvoiced(), diff --git a/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java b/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java index b494651fb1..70ef7e9c6e 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java +++ b/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java @@ -216,7 +216,7 @@ public class ExpenseSOrder extends SvrProcess if (tel.getC_Campaign_ID() != 0 && tel.getC_Campaign_ID() != m_order.getC_Campaign_ID()) m_order.setC_Campaign_ID(tel.getC_Campaign_ID()); if (!m_order.save()) - new IllegalStateException("Cannot save Order"); + throw new IllegalStateException("Cannot save Order"); } // OrderLine diff --git a/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java b/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java index 221cbbcb97..629b8e4b7c 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java +++ b/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java @@ -601,7 +601,7 @@ public class InOutGenerate extends SvrProcess /** * InOutGenerate Parameter */ - class SParameter + static class SParameter { /** * Parameter diff --git a/org.adempiere.base.process/src/org/compiere/process/IndentedBOM.java b/org.adempiere.base.process/src/org/compiere/process/IndentedBOM.java index cfaf0631c8..8c29b4b643 100644 --- a/org.adempiere.base.process/src/org/compiere/process/IndentedBOM.java +++ b/org.adempiere.base.process/src/org/compiere/process/IndentedBOM.java @@ -185,7 +185,7 @@ public class IndentedBOM extends SvrProcess return list; } - private class llCost { + private static class llCost { BigDecimal currentCost = Env.ZERO; BigDecimal futureCost = Env.ZERO; } diff --git a/org.adempiere.base.process/src/org/compiere/process/InventoryCountCreate.java b/org.adempiere.base.process/src/org/compiere/process/InventoryCountCreate.java index 8dc4f07571..7dcedb7afc 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InventoryCountCreate.java +++ b/org.adempiere.base.process/src/org/compiere/process/InventoryCountCreate.java @@ -399,7 +399,7 @@ public class InventoryCountCreate extends SvrProcess * @author Karsten Thiemann, kthiemann@adempiere.org * */ - private class SimpleTreeNode { + private static class SimpleTreeNode { private int nodeId; diff --git a/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java b/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java index 95474c617e..4f2dfc2491 100644 --- a/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java +++ b/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java @@ -785,7 +785,7 @@ public class M_PriceList_Create extends SvrProcess { * @author Karsten Thiemann, kthiemann@adempiere.org * */ - private class SimpleTreeNode { + private static class SimpleTreeNode { private int nodeId; diff --git a/org.adempiere.base.process/src/org/compiere/process/RfQResponseRank.java b/org.adempiere.base.process/src/org/compiere/process/RfQResponseRank.java index a7e463e032..05fbc904e3 100644 --- a/org.adempiere.base.process/src/org/compiere/process/RfQResponseRank.java +++ b/org.adempiere.base.process/src/org/compiere/process/RfQResponseRank.java @@ -107,7 +107,6 @@ public class RfQResponseRank extends SvrProcess * @param rfq RfQ * @param responses responses */ - @SuppressWarnings("unchecked") private void rankLines (MRfQ rfq, MRfQResponse[] responses) { MRfQLine[] rfqLines = rfq.getLines(); diff --git a/org.adempiere.base/src/org/adempiere/base/DefaultModelFactory.java b/org.adempiere.base/src/org/adempiere/base/DefaultModelFactory.java index cf53ee176c..83abb2d5ff 100644 --- a/org.adempiere.base/src/org/adempiere/base/DefaultModelFactory.java +++ b/org.adempiere.base/src/org/adempiere/base/DefaultModelFactory.java @@ -269,7 +269,7 @@ public class DefaultModelFactory implements IModelFactory { s_log.warning("No transaction Constructor for " + clazz + " (" + msg + ")"); } - PO po = (PO)constructor.newInstance(new Object[] {Env.getCtx(), new Integer(Record_ID), trxName}); + PO po = constructor!=null ? (PO)constructor.newInstance(new Object[] {Env.getCtx(), new Integer(Record_ID), trxName}) : null; return po; } catch (Exception e) diff --git a/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java b/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java index d53a67b9e2..7df6c951a8 100644 --- a/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java +++ b/org.adempiere.base/src/org/adempiere/base/equinox/ExtensionPriorityManager.java @@ -39,8 +39,10 @@ public class ExtensionPriorityManager { URL url = location.getURL(); File file = new File(url.getPath(), "extensions-priorty.properties"); if (file.exists() && file.canRead()) { + FileInputStream fileInput = null; try { - priorityMap.load(new FileInputStream(file)); + fileInput = new FileInputStream(file); + priorityMap.load(fileInput); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -48,6 +50,15 @@ public class ExtensionPriorityManager { // TODO Auto-generated catch block e.printStackTrace(); } + finally{ + if (fileInput != null) { + try { + fileInput.close(); + } catch (Exception e2) {} + fileInput = null; + } + } + } } diff --git a/org.adempiere.base/src/org/adempiere/util/AbstractDocumentSearch.java b/org.adempiere.base/src/org/adempiere/util/AbstractDocumentSearch.java index 2c21c936bb..aa1436a58f 100644 --- a/org.adempiere.base/src/org/adempiere/util/AbstractDocumentSearch.java +++ b/org.adempiere.base/src/org/adempiere/util/AbstractDocumentSearch.java @@ -284,10 +284,12 @@ public abstract class AbstractDocumentSearch { } } } - log.fine(whereString.toString()); - + final MQuery query = new MQuery(tableName); - query.addRestriction(whereString.toString()); + if (whereString != null) { + log.fine(whereString.toString()); + query.addRestriction(whereString.toString()); + } final boolean ok = openWindow(windowId, query); if (!ok) { StringBuilder msglog = new StringBuilder("Unable to open window: ").append(whereString.toString()); diff --git a/org.adempiere.base/src/org/adempiere/util/ModelInterfaceGenerator.java b/org.adempiere.base/src/org/adempiere/util/ModelInterfaceGenerator.java index 0d8077ddf3..0420c36f6c 100644 --- a/org.adempiere.base/src/org/adempiere/util/ModelInterfaceGenerator.java +++ b/org.adempiere.base/src/org/adempiere/util/ModelInterfaceGenerator.java @@ -189,8 +189,11 @@ public class ModelInterfaceGenerator start.append("/** Generated Interface for ").append(tableName).append("\n") .append(" * @author iDempiere (generated) \n") .append(" * @version ").append(Adempiere.MAIN_VERSION).append(NL) //.append(" - ").append(s_run).append("\n") - .append(" */\n") - .append("public interface ").append(className).append(" {").append("\n") + .append(" */\n"); + if (!packageName.equals("org.compiere.model")) { + start.append("@SuppressWarnings(\"unused\")\n"); + } + start.append("public interface ").append(className).append(" {").append("\n") .append(" /** TableName=").append(tableName).append(" */\n") .append(" public static final String Table_Name = \"").append(tableName).append("\";\n") diff --git a/org.adempiere.base/src/org/adempiere/util/RestletUtil.java b/org.adempiere.base/src/org/adempiere/util/RestletUtil.java index ed4ba160e1..dec3fc5b68 100644 --- a/org.adempiere.base/src/org/adempiere/util/RestletUtil.java +++ b/org.adempiere.base/src/org/adempiere/util/RestletUtil.java @@ -37,6 +37,7 @@ public class RestletUtil { */ @SuppressWarnings("unchecked") public static T toObject(Representation entity) { + ObjectInputStream ois = null; try { if (entity instanceof WrapperRepresentation) { entity = ((WrapperRepresentation)entity).getWrappedRepresentation(); @@ -46,7 +47,7 @@ public class RestletUtil { return (T) or.getObject(); } else if (entity instanceof InputRepresentation) { InputRepresentation ir = (InputRepresentation) entity; - ObjectInputStream ois = new ObjectInputStream(ir.getStream()); + ois = new ObjectInputStream(ir.getStream()); return (T) ois.readObject(); } else { return null; @@ -55,5 +56,13 @@ public class RestletUtil { log.log(Level.SEVERE, e.getLocalizedMessage(), e); return null; } + finally{ + if (ois != null) { + try { + ois.close(); + } catch (Exception e2) {} + ois = null; + } + } } } diff --git a/org.adempiere.base/src/org/compiere/acct/DocLine.java b/org.adempiere.base/src/org/compiere/acct/DocLine.java index 4476cafa67..a28f11b81b 100644 --- a/org.adempiere.base/src/org/compiere/acct/DocLine.java +++ b/org.adempiere.base/src/org/compiere/acct/DocLine.java @@ -344,6 +344,29 @@ public class DocLine return m_DateAcct; } // getDateAcct + /** + * Get FX Conversion Date + * + * The foreign exchange rate conversion date may be different from the accounting posting date in some cases (e.g. bank statement) + * + * @return FX conversion date + */ + public Timestamp getDateConv () + { + Timestamp dateConv = null; + int index = p_po.get_ColumnIndex("DateAcct"); + if (index != -1) + { + dateConv = (Timestamp)p_po.get_Value(index); + } + + + if (dateConv == null) + dateConv = getDateAcct(); + + return dateConv; + } // getDateAcct + /** * Set Document Date * @param dateDoc doc date diff --git a/org.adempiere.base/src/org/compiere/acct/DocLine_Bank.java b/org.adempiere.base/src/org/compiere/acct/DocLine_Bank.java index 81b9262ff4..9a49c8a873 100644 --- a/org.adempiere.base/src/org/compiere/acct/DocLine_Bank.java +++ b/org.adempiere.base/src/org/compiere/acct/DocLine_Bank.java @@ -46,6 +46,7 @@ public class DocLine_Bank extends DocLine m_TrxAmt = line.getTrxAmt(); // setDateDoc(line.getValutaDate()); + setDateAcct(doc.getDateAcct()); // adaxa-pb use statement date setC_BPartner_ID(line.getC_BPartner_ID()); } // DocLine_Bank diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_AssetReval.java b/org.adempiere.base/src/org/compiere/acct/Doc_AssetReval.java index 1c73d5b089..7260f13f17 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_AssetReval.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_AssetReval.java @@ -20,7 +20,7 @@ public class Doc_AssetReval extends Doc { - private final String POSTINGTYPE_Actual = "A"; + private static final String POSTINGTYPE_Actual = "A"; public Doc_AssetReval (MAcctSchema as, ResultSet rs, String trxName) { super(as, MAssetReval.class, rs, MDocType.DOCBASETYPE_GLJournal, trxName); diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_BankStatement.java b/org.adempiere.base/src/org/compiere/acct/Doc_BankStatement.java index 6902151eef..706ce4b728 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_BankStatement.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_BankStatement.java @@ -25,7 +25,6 @@ import org.compiere.model.MAcctSchema; import org.compiere.model.MBankAccount; import org.compiere.model.MBankStatement; import org.compiere.model.MBankStatementLine; -import org.compiere.model.MPeriod; import org.compiere.util.Env; /** @@ -68,7 +67,7 @@ public class Doc_BankStatement extends Doc { MBankStatement bs = (MBankStatement)getPO(); setDateDoc(bs.getStatementDate()); - setDateAcct(bs.getStatementDate()); // Overwritten on Line Level + setDateAcct(bs.getDateAcct()); m_C_BankAccount_ID = bs.getC_BankAccount_ID(); // Amounts @@ -102,13 +101,7 @@ public class Doc_BankStatement extends Doc { MBankStatementLine line = lines[i]; DocLine_Bank docLine = new DocLine_Bank(line, this); - // Set Date Acct - if (i == 0) - setDateAcct(line.getDateAcct()); - MPeriod period = MPeriod.get(getCtx(), line.getDateAcct(), line.getAD_Org_ID()); - if (period != null && period.isOpen(DOCTYPE_BankStatement, line.getDateAcct())) - docLine.setC_Period_ID(period.getC_Period_ID()); - // + list.add(docLine); } diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java b/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java index bdf68c0f24..33d644db91 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java @@ -207,6 +207,7 @@ public class Doc_MatchPO extends Doc FactLine cr = fact.createLine(null, m_pc.getAccount(ProductCost.ACCTTYPE_P_PPV, as), as.getC_Currency_ID(), isReturnTrx ? difference.negate() : difference); + MAccount acct_cr = null; if (cr != null) { cr.setQty(isReturnTrx ? getQty().negate() : getQty()); @@ -219,12 +220,14 @@ public class Doc_MatchPO extends Doc cr.setC_UOM_ID(m_oLine.getC_UOM_ID()); cr.setUser1_ID(m_oLine.getUser1_ID()); cr.setUser2_ID(m_oLine.getUser2_ID()); + acct_cr = cr.getAccount(); // PPV Offset } // PPV Offset FactLine dr = fact.createLine(null, getAccount(Doc.ACCTTYPE_PPVOffset, as), as.getC_Currency_ID(), isReturnTrx ? difference : difference.negate()); + MAccount acct_db = null; if (dr != null) { dr.setQty(isReturnTrx ? getQty() : getQty().negate()); @@ -237,16 +240,14 @@ public class Doc_MatchPO extends Doc dr.setC_UOM_ID(m_oLine.getC_UOM_ID()); dr.setUser1_ID(m_oLine.getUser1_ID()); dr.setUser2_ID(m_oLine.getUser2_ID()); + acct_db = dr.getAccount(); // PPV } // Avoid usage of clearing accounts // If both accounts Purchase Price Variance and Purchase Price Variance Offset are equal // then remove the posting - MAccount acct_db = dr.getAccount(); // PPV - MAccount acct_cr = cr.getAccount(); // PPV Offset - - if ((!as.isPostIfClearingEqual()) && acct_db.equals(acct_cr) && (!isInterOrg)) { + if ((!as.isPostIfClearingEqual()) && acct_db!=null && acct_db.equals(acct_cr) && (!isInterOrg)) { BigDecimal debit = dr.getAmtSourceDr(); BigDecimal credit = cr.getAmtSourceCr(); diff --git a/org.adempiere.base/src/org/compiere/acct/Fact.java b/org.adempiere.base/src/org/compiere/acct/Fact.java index 9ddd5cbe10..edc2c8d543 100644 --- a/org.adempiere.base/src/org/compiere/acct/Fact.java +++ b/org.adempiere.base/src/org/compiere/acct/Fact.java @@ -859,7 +859,7 @@ public final class Fact * @author Jorg Janke * @version $Id: Fact.java,v 1.2 2006/07/30 00:53:33 jjanke Exp $ */ - public class Balance + public static class Balance { /** * New Balance diff --git a/org.adempiere.base/src/org/compiere/acct/FactLine.java b/org.adempiere.base/src/org/compiere/acct/FactLine.java index 276ed52563..8b211785d3 100644 --- a/org.adempiere.base/src/org/compiere/acct/FactLine.java +++ b/org.adempiere.base/src/org/compiere/acct/FactLine.java @@ -20,6 +20,7 @@ import java.math.BigDecimal; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Timestamp; import java.util.Properties; import java.util.logging.Level; @@ -705,14 +706,21 @@ public final class FactLine extends X_Fact_Acct if (AD_Org_ID == 0) AD_Org_ID = m_doc.getAD_Org_ID(); } + + Timestamp convDate = getDateAcct(); + + if ( m_doc instanceof Doc_BankStatement ) + convDate = m_docLine.getDateConv(); + + setAmtAcctDr (MConversionRate.convert (getCtx(), getAmtSourceDr(), getC_Currency_ID(), m_acctSchema.getC_Currency_ID(), - getDateAcct(), C_ConversionType_ID, m_doc.getAD_Client_ID(), AD_Org_ID)); + convDate, C_ConversionType_ID, m_doc.getAD_Client_ID(), AD_Org_ID)); if (getAmtAcctDr() == null) return false; setAmtAcctCr (MConversionRate.convert (getCtx(), getAmtSourceCr(), getC_Currency_ID(), m_acctSchema.getC_Currency_ID(), - getDateAcct(), C_ConversionType_ID, m_doc.getAD_Client_ID(), AD_Org_ID)); + convDate, C_ConversionType_ID, m_doc.getAD_Client_ID(), AD_Org_ID)); return true; } // convert diff --git a/org.adempiere.base/src/org/compiere/cm/CacheHandler.java b/org.adempiere.base/src/org/compiere/cm/CacheHandler.java index ad5522704a..7999aa75b3 100644 --- a/org.adempiere.base/src/org/compiere/cm/CacheHandler.java +++ b/org.adempiere.base/src/org/compiere/cm/CacheHandler.java @@ -145,6 +145,7 @@ public class CacheHandler { private void runURLRequest(String cache, String ID) { String thisURL = null; for(int i=0; i MAssetGroup */ private static CCache s_cache = new CCache(Table_Name, 10, 0); diff --git a/org.adempiere.base/src/org/compiere/model/MAssetGroupAcct.java b/org.adempiere.base/src/org/compiere/model/MAssetGroupAcct.java index 6bfc1750d7..a3c588f90f 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetGroupAcct.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetGroupAcct.java @@ -16,7 +16,11 @@ import org.idempiere.fa.feature.UseLifeImpl; public class MAssetGroupAcct extends X_A_Asset_Group_Acct implements UseLife { - private static final long serialVersionUID = 1L; + + /** + * + */ + private static final long serialVersionUID = -3458020679308192943L; /** * Get Asset Group Accountings for given group diff --git a/org.adempiere.base/src/org/compiere/model/MAssetProduct.java b/org.adempiere.base/src/org/compiere/model/MAssetProduct.java index 8c5a15e56f..f502c907af 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetProduct.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetProduct.java @@ -12,7 +12,11 @@ import org.compiere.model.Query; */ public class MAssetProduct extends X_A_Asset_Product { - private static final long serialVersionUID = 1L; + + /** + * + */ + private static final long serialVersionUID = 2459915999284269350L; /** Standard Constructor */ public MAssetProduct (Properties ctx, int A_Asset_Product_ID, String trxName) diff --git a/org.adempiere.base/src/org/compiere/model/MAssetReval.java b/org.adempiere.base/src/org/compiere/model/MAssetReval.java index 910347b021..822d7094db 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetReval.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetReval.java @@ -27,8 +27,11 @@ import org.compiere.util.TimeUtil; public class MAssetReval extends X_A_Asset_Reval implements DocAction { - private static final long serialVersionUID = 1L; + /** + * + */ + private static final long serialVersionUID = -3937514008250840440L; private boolean m_justPrepared = false; public MAssetReval(Properties ctx, int X_A_Asset_Reval_ID, String trxName) diff --git a/org.adempiere.base/src/org/compiere/model/MAssetTransfer.java b/org.adempiere.base/src/org/compiere/model/MAssetTransfer.java index 794f5997fd..3a8174751a 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetTransfer.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetTransfer.java @@ -38,7 +38,10 @@ import org.idempiere.fa.exceptions.AssetAlreadyDepreciatedException; public class MAssetTransfer extends X_A_Asset_Transfer implements DocAction { - private static final long serialVersionUID = 1L; + /** + * + */ + private static final long serialVersionUID = 2997284714883099922L; /** Just Prepared Flag */ private boolean m_justPrepared = false; diff --git a/org.adempiere.base/src/org/compiere/model/MAssetUse.java b/org.adempiere.base/src/org/compiere/model/MAssetUse.java index 8a22615c63..126918d73e 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetUse.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetUse.java @@ -9,6 +9,11 @@ import org.compiere.util.DB; ** @version $Id: X_A_Asset.java,v 1.88 2004/08/27 21:26:37 jjanke Exp $ */ public class MAssetUse extends X_A_Asset_Use { + /** + * + */ + private static final long serialVersionUID = -1247516669047870893L; + public MAssetUse (Properties ctx, int A_Asset_Use_ID, String trxName) { super (ctx, A_Asset_Use_ID, trxName); diff --git a/org.adempiere.base/src/org/compiere/model/MBankStatementLine.java b/org.adempiere.base/src/org/compiere/model/MBankStatementLine.java index 16ddc6f419..d2eb6c99e1 100644 --- a/org.adempiere.base/src/org/compiere/model/MBankStatementLine.java +++ b/org.adempiere.base/src/org/compiere/model/MBankStatementLine.java @@ -206,7 +206,9 @@ import org.compiere.util.Msg; if (amt.compareTo(getChargeAmt()) != 0) setChargeAmt (amt); // - + // IDEMPIERE-480 + setDateAcct(getParent().getDateAcct()); + return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/MCost.java b/org.adempiere.base/src/org/compiere/model/MCost.java index ea84d9e3d7..e44bd238bc 100644 --- a/org.adempiere.base/src/org/compiere/model/MCost.java +++ b/org.adempiere.base/src/org/compiere/model/MCost.java @@ -1656,7 +1656,7 @@ public class MCost extends X_M_Cost } //-ve current qty will break moving average costing - if ((ce.isAveragePO() || ce.isAverageInvoice()) && is_ValueChanged(COLUMNNAME_CurrentQty)) + if (ce!=null && (ce.isAveragePO() || ce.isAverageInvoice()) && is_ValueChanged(COLUMNNAME_CurrentQty)) { if (getCurrentQty().signum() < 0) { diff --git a/org.adempiere.base/src/org/compiere/model/MCountry.java b/org.adempiere.base/src/org/compiere/model/MCountry.java index 2bed6fcefd..5920ceeb5b 100644 --- a/org.adempiere.base/src/org/compiere/model/MCountry.java +++ b/org.adempiere.base/src/org/compiere/model/MCountry.java @@ -90,7 +90,6 @@ public final class MCountry extends X_C_Country * @param ctx context * @return MCountry Array */ - @SuppressWarnings("unchecked") public static MCountry[] getCountries(Properties ctx) { if (s_countries == null || s_countries.size() == 0) diff --git a/org.adempiere.base/src/org/compiere/model/MDepreciation.java b/org.adempiere.base/src/org/compiere/model/MDepreciation.java index f3e91d9eb6..0dbbcd4510 100644 --- a/org.adempiere.base/src/org/compiere/model/MDepreciation.java +++ b/org.adempiere.base/src/org/compiere/model/MDepreciation.java @@ -20,7 +20,11 @@ import org.idempiere.fa.exceptions.AssetNotSupportedException; */ public class MDepreciation extends X_A_Depreciation { - private static final long serialVersionUID = 1L; + + /** + * + */ + private static final long serialVersionUID = -632058079835100100L; /** Standard Constructor */ public MDepreciation (Properties ctx, int A_Depreciation_ID, String trxName) diff --git a/org.adempiere.base/src/org/compiere/model/MDepreciationBuild.java b/org.adempiere.base/src/org/compiere/model/MDepreciationBuild.java index f1dca0be17..8992f81431 100644 --- a/org.adempiere.base/src/org/compiere/model/MDepreciationBuild.java +++ b/org.adempiere.base/src/org/compiere/model/MDepreciationBuild.java @@ -10,6 +10,10 @@ import java.util.Properties; */ public class MDepreciationBuild extends X_A_Depreciation_Build { + /** + * + */ + private static final long serialVersionUID = 2075917470265913988L; /** Standard Constructor */ public MDepreciationBuild (Properties ctx, int A_Depreciation_Build_ID, String trxName) { diff --git a/org.adempiere.base/src/org/compiere/model/MDepreciationConvention.java b/org.adempiere.base/src/org/compiere/model/MDepreciationConvention.java index e802c49a08..1f73dde4a5 100644 --- a/org.adempiere.base/src/org/compiere/model/MDepreciationConvention.java +++ b/org.adempiere.base/src/org/compiere/model/MDepreciationConvention.java @@ -16,6 +16,11 @@ import org.compiere.util.DB; */ public class MDepreciationConvention extends X_A_Depreciation_Convention { + /** + * + */ + private static final long serialVersionUID = 2274629486216430723L; + /** * Default Constructor * @param ctx context diff --git a/org.adempiere.base/src/org/compiere/model/MDepreciationEntry.java b/org.adempiere.base/src/org/compiere/model/MDepreciationEntry.java index 2683591635..3ac40faa28 100644 --- a/org.adempiere.base/src/org/compiere/model/MDepreciationEntry.java +++ b/org.adempiere.base/src/org/compiere/model/MDepreciationEntry.java @@ -28,7 +28,12 @@ import org.idempiere.fa.exceptions.AssetException; public class MDepreciationEntry extends X_A_Depreciation_Entry implements DocAction { - private static final long serialVersionUID = 1L; + + /** + * + */ + private static final long serialVersionUID = 6631244784741228058L; + /** Standard Constructor */ public MDepreciationEntry(Properties ctx, int A_Depreciation_Entry_ID, String trxName) diff --git a/org.adempiere.base/src/org/compiere/model/MDepreciationExp.java b/org.adempiere.base/src/org/compiere/model/MDepreciationExp.java index 3ceb11a6d0..9b7c694330 100644 --- a/org.adempiere.base/src/org/compiere/model/MDepreciationExp.java +++ b/org.adempiere.base/src/org/compiere/model/MDepreciationExp.java @@ -21,8 +21,11 @@ import org.idempiere.fa.exceptions.AssetNotActiveException; public class MDepreciationExp extends X_A_Depreciation_Exp { - private static final long serialVersionUID = 1L; + /** + * + */ + private static final long serialVersionUID = 6731366890875525147L; private static CLogger s_log = CLogger.getCLogger(MDepreciationExp.class); private CLogger log = CLogger.getCLogger(this.getClass()); diff --git a/org.adempiere.base/src/org/compiere/model/MDepreciationMethod.java b/org.adempiere.base/src/org/compiere/model/MDepreciationMethod.java index 625c9d4fdd..7105a7c25f 100644 --- a/org.adempiere.base/src/org/compiere/model/MDepreciationMethod.java +++ b/org.adempiere.base/src/org/compiere/model/MDepreciationMethod.java @@ -19,6 +19,11 @@ import org.compiere.util.DB; */ public class MDepreciationMethod extends X_A_Depreciation_Method { + /** + * + */ + private static final long serialVersionUID = 4622027905888469713L; + /** Standard Constructor */ public MDepreciationMethod (Properties ctx, int A_Depreciation_Method_ID, String trxName) { diff --git a/org.adempiere.base/src/org/compiere/model/MIFixedAsset.java b/org.adempiere.base/src/org/compiere/model/MIFixedAsset.java index b6186c4cb0..ab15920766 100644 --- a/org.adempiere.base/src/org/compiere/model/MIFixedAsset.java +++ b/org.adempiere.base/src/org/compiere/model/MIFixedAsset.java @@ -23,8 +23,11 @@ import org.compiere.util.Util; */ public class MIFixedAsset extends X_I_FixedAsset { - private static final long serialVersionUID = 1L; + /** + * + */ + private static final long serialVersionUID = -6394518107160329652L; /** Default depreciation method */ private static final String s_defaultDepreciationType = "SL"; diff --git a/org.adempiere.base/src/org/compiere/model/MLocation.java b/org.adempiere.base/src/org/compiere/model/MLocation.java index a03457b4c4..bce8c7112e 100644 --- a/org.adempiere.base/src/org/compiere/model/MLocation.java +++ b/org.adempiere.base/src/org/compiere/model/MLocation.java @@ -419,6 +419,12 @@ public class MLocation extends X_C_Location implements Comparator return equals(cmp); } // equals + public int hashCode() + { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } + /** * Print Address Reverse Order * @return true if reverse depending on country diff --git a/org.adempiere.base/src/org/compiere/model/MLookup.java b/org.adempiere.base/src/org/compiere/model/MLookup.java index 020bd58603..8f84a1d4ca 100644 --- a/org.adempiere.base/src/org/compiere/model/MLookup.java +++ b/org.adempiere.base/src/org/compiere/model/MLookup.java @@ -276,6 +276,12 @@ public final class MLookup extends Lookup implements Serializable } return false; } // equals + + public int hashCode() + { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } /** * Return Size diff --git a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java index 4d80ac42ae..a29c4f8407 100644 --- a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java +++ b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java @@ -450,6 +450,8 @@ public class MLookupFactory { s_log.log(Level.INFO, "No Identifier records found: " + KeyColumn); } + if (list == null) + list = new ArrayList(); list.add(new LookupDisplayColumn(KeyColumn, null, false, DisplayType.ID, 0)); } // set isTranslated @@ -699,6 +701,8 @@ public class MLookupFactory { s_log.log(Level.INFO, "No Identifier records found: " + ColumnName); } + if (list == null) + list = new ArrayList(); list.add(new LookupDisplayColumn(KeyColumn, null, false, DisplayType.ID, 0)); } diff --git a/org.adempiere.base/src/org/compiere/model/MMailText.java b/org.adempiere.base/src/org/compiere/model/MMailText.java index 27c4843d7c..7d954b6b15 100644 --- a/org.adempiere.base/src/org/compiere/model/MMailText.java +++ b/org.adempiere.base/src/org/compiere/model/MMailText.java @@ -379,7 +379,7 @@ public class MMailText extends X_R_MailText /** * MailText Translation VO */ - class MMailTextTrl + static class MMailTextTrl { /** Language */ String AD_Language = null; diff --git a/org.adempiere.base/src/org/compiere/model/MPasswordRule.java b/org.adempiere.base/src/org/compiere/model/MPasswordRule.java index 0516bde83a..d7d9713cde 100644 --- a/org.adempiere.base/src/org/compiere/model/MPasswordRule.java +++ b/org.adempiere.base/src/org/compiere/model/MPasswordRule.java @@ -244,6 +244,14 @@ public class MPasswordRule extends X_AD_PasswordRule { } catch (Exception e) { props = null; } + finally{ + if (in != null) { + try { + in.close(); + } catch (Exception e2) {} + in = null; + } + } if (props == null) return new MessageResolver(); else diff --git a/org.adempiere.base/src/org/compiere/model/MProductCategory.java b/org.adempiere.base/src/org/compiere/model/MProductCategory.java index ca01c72f80..011001eb91 100644 --- a/org.adempiere.base/src/org/compiere/model/MProductCategory.java +++ b/org.adempiere.base/src/org/compiere/model/MProductCategory.java @@ -276,7 +276,7 @@ public class MProductCategory extends X_M_Product_Category * @author Karsten Thiemann, kthiemann@adempiere.org * */ - private class SimpleTreeNode { + private static class SimpleTreeNode { /** id of the node */ private int nodeId; /** id of the nodes parent */ diff --git a/org.adempiere.base/src/org/compiere/model/MQualityTest.java b/org.adempiere.base/src/org/compiere/model/MQualityTest.java index f89bf5d679..eee45562c7 100644 --- a/org.adempiere.base/src/org/compiere/model/MQualityTest.java +++ b/org.adempiere.base/src/org/compiere/model/MQualityTest.java @@ -5,6 +5,11 @@ import java.util.Properties; public class MQualityTest extends X_M_QualityTest { + /** + * + */ + private static final long serialVersionUID = -8585270006299484402L; + public MQualityTest(Properties ctx, int M_QualityTest_ID, String trxName) { super(ctx, M_QualityTest_ID, trxName); } diff --git a/org.adempiere.base/src/org/compiere/model/MQualityTestResult.java b/org.adempiere.base/src/org/compiere/model/MQualityTestResult.java index 9c43c9df41..34364b0040 100644 --- a/org.adempiere.base/src/org/compiere/model/MQualityTestResult.java +++ b/org.adempiere.base/src/org/compiere/model/MQualityTestResult.java @@ -4,6 +4,11 @@ import java.util.Properties; public class MQualityTestResult extends X_M_QualityTestResult { + /** + * + */ + private static final long serialVersionUID = -4253026765149175778L; + public MQualityTestResult(Properties ctx, int M_QualityTestResult_ID, String trxName) { super(ctx, M_QualityTestResult_ID, trxName); diff --git a/org.adempiere.base/src/org/compiere/model/MRegion.java b/org.adempiere.base/src/org/compiere/model/MRegion.java index 76ea7a7ec2..661dc7dd43 100644 --- a/org.adempiere.base/src/org/compiere/model/MRegion.java +++ b/org.adempiere.base/src/org/compiere/model/MRegion.java @@ -118,7 +118,6 @@ public final class MRegion extends X_C_Region * @param ctx context * @return MCountry Array */ - @SuppressWarnings("unchecked") public static MRegion[] getRegions(Properties ctx) { if (s_regions == null || s_regions.size() == 0) @@ -135,7 +134,6 @@ public final class MRegion extends X_C_Region * @param C_Country_ID country * @return MRegion Array */ - @SuppressWarnings("unchecked") public static MRegion[] getRegions (Properties ctx, int C_Country_ID) { if (s_regions == null || s_regions.size() == 0) diff --git a/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java b/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java index ba200cb4b7..28ea7556f4 100644 --- a/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java +++ b/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java @@ -231,6 +231,12 @@ public class MRfQResponseLineQty extends X_C_RfQResponseLineQty implements Compa } return false; } // equals + + public int hashCode() + { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } /** * Before Save diff --git a/org.adempiere.base/src/org/compiere/model/MXIFAJournal.java b/org.adempiere.base/src/org/compiere/model/MXIFAJournal.java index b7871858e0..f04c5a55f6 100644 --- a/org.adempiere.base/src/org/compiere/model/MXIFAJournal.java +++ b/org.adempiere.base/src/org/compiere/model/MXIFAJournal.java @@ -9,6 +9,10 @@ import org.compiere.util.Env; ** @version $Id: X_A_Asset.java,v 1.88 2004/08/27 21:26:37 jjanke Exp $ */ public class MXIFAJournal extends X_I_FAJournal { + /** + * + */ + private static final long serialVersionUID = -1173588601522240768L; public MXIFAJournal (Properties ctx, int I_FAJournal_ID, String trxName) { super (ctx, I_FAJournal_ID, trxName); diff --git a/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java b/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java index 02a2c0721a..b8899fe390 100644 --- a/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java +++ b/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java @@ -884,7 +884,6 @@ public class ModelValidationEngine } //osgi event handlers - @SuppressWarnings("rawtypes") Event event = new Event(IEventTopics.PREF_AFTER_LOAD, (Map)null); EventManager.getInstance().sendEvent(event); } diff --git a/org.adempiere.base/src/org/compiere/model/MultiMap.java b/org.adempiere.base/src/org/compiere/model/MultiMap.java index 4efe4e4a72..13eb594554 100644 --- a/org.adempiere.base/src/org/compiere/model/MultiMap.java +++ b/org.adempiere.base/src/org/compiere/model/MultiMap.java @@ -234,6 +234,12 @@ public final class MultiMap implements Map, Serializable { throw new java.lang.UnsupportedOperationException("Method equals() not implemented."); } + + public int hashCode() + { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } /************************************************************************** * Returns class name and number of entries diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index 10f8dad895..d9c3038c66 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -313,6 +313,12 @@ public abstract class PO return ((PO)cmp).get_ID() == get_ID(); return super.equals(cmp); } // equals + + public int hashCode() + { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } /** * Compare based on DocumentNo, Value, Name, Description diff --git a/org.adempiere.base/src/org/compiere/model/ScheduleUtil.java b/org.adempiere.base/src/org/compiere/model/ScheduleUtil.java index cb4c13095e..74a4975a03 100644 --- a/org.adempiere.base/src/org/compiere/model/ScheduleUtil.java +++ b/org.adempiere.base/src/org/compiere/model/ScheduleUtil.java @@ -98,7 +98,6 @@ public class ScheduleUtil * @param trxName transaction * @return Array of existing Assignments or null - if free */ - @SuppressWarnings("unchecked") public MAssignmentSlot[] getAssignmentSlots (int S_Resource_ID, Timestamp start_Date, Timestamp end_Date, BigDecimal qty, boolean getAll, String trxName) diff --git a/org.adempiere.base/src/org/compiere/model/X_C_BankStatement.java b/org.adempiere.base/src/org/compiere/model/X_C_BankStatement.java index 5d090a4f7a..b23984d113 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_BankStatement.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_BankStatement.java @@ -33,7 +33,7 @@ public class X_C_BankStatement extends PO implements I_C_BankStatement, I_Persis /** * */ - private static final long serialVersionUID = 20121031L; + private static final long serialVersionUID = 20121212L; /** Standard Constructor */ public X_C_BankStatement (Properties ctx, int C_BankStatement_ID, String trxName) @@ -43,6 +43,7 @@ public class X_C_BankStatement extends PO implements I_C_BankStatement, I_Persis { setC_BankAccount_ID (0); setC_BankStatement_ID (0); + setDateAcct (new Timestamp( System.currentTimeMillis() )); setDocAction (null); // CO setDocStatus (null); @@ -175,6 +176,23 @@ public class X_C_BankStatement extends PO implements I_C_BankStatement, I_Persis return (String)get_Value(COLUMNNAME_C_BankStatement_UU); } + /** Set Copy From. + @param CopyFrom + Copy From Record + */ + public void setCopyFrom (String CopyFrom) + { + set_Value (COLUMNNAME_CopyFrom, CopyFrom); + } + + /** Get Copy From. + @return Copy From Record + */ + public String getCopyFrom () + { + return (String)get_Value(COLUMNNAME_CopyFrom); + } + /** Set Create lines from. @param CreateFrom Process which will generate a new document lines based on an existing document @@ -192,6 +210,23 @@ public class X_C_BankStatement extends PO implements I_C_BankStatement, I_Persis return (String)get_Value(COLUMNNAME_CreateFrom); } + /** Set Account Date. + @param DateAcct + Accounting Date + */ + public void setDateAcct (Timestamp DateAcct) + { + set_Value (COLUMNNAME_DateAcct, DateAcct); + } + + /** Get Account Date. + @return Accounting Date + */ + public Timestamp getDateAcct () + { + return (Timestamp)get_Value(COLUMNNAME_DateAcct); + } + /** Set Description. @param Description Optional short description of the record diff --git a/org.adempiere.base/src/org/compiere/print/CPaper.java b/org.adempiere.base/src/org/compiere/print/CPaper.java index 1f91a54c43..ca70af8898 100644 --- a/org.adempiere.base/src/org/compiere/print/CPaper.java +++ b/org.adempiere.base/src/org/compiere/print/CPaper.java @@ -411,6 +411,12 @@ public class CPaper extends Paper } return false; } // equals + + public int hashCode() + { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } /*************************************************************************/ diff --git a/org.adempiere.base/src/org/compiere/print/MPrintPaper.java b/org.adempiere.base/src/org/compiere/print/MPrintPaper.java index 81b650d3d1..70155232b2 100644 --- a/org.adempiere.base/src/org/compiere/print/MPrintPaper.java +++ b/org.adempiere.base/src/org/compiere/print/MPrintPaper.java @@ -249,7 +249,7 @@ public class MPrintPaper extends X_AD_PrintPaper /** * Media Size Name */ - class CMediaSizeName extends MediaSizeName + static class CMediaSizeName extends MediaSizeName { /** * diff --git a/org.adempiere.base/src/org/compiere/print/PrintData.java b/org.adempiere.base/src/org/compiere/print/PrintData.java index 937880f3da..b57ee3d98c 100644 --- a/org.adempiere.base/src/org/compiere/print/PrintData.java +++ b/org.adempiere.base/src/org/compiere/print/PrintData.java @@ -639,11 +639,14 @@ public class PrintData implements Serializable e.printStackTrace(); } // Root - Element root = document.createElement(PrintData.XML_TAG); - root.setAttribute(XML_ATTRIBUTE_NAME, getName()); - root.setAttribute(XML_ATTRIBUTE_COUNT, String.valueOf(getRowCount())); - document.appendChild(root); - processXML (this, document, root); + if (document != null) { + Element root = document.createElement(PrintData.XML_TAG); + root.setAttribute(XML_ATTRIBUTE_NAME, getName()); + root.setAttribute(XML_ATTRIBUTE_COUNT, String.valueOf(getRowCount())); + document.appendChild(root); + processXML (this, document, root); + } + return document; } // getDocument diff --git a/org.adempiere.base/src/org/compiere/print/layout/BarcodeElement.java b/org.adempiere.base/src/org/compiere/print/layout/BarcodeElement.java index 47327b78d3..f39c41efe3 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/BarcodeElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/BarcodeElement.java @@ -41,6 +41,11 @@ import org.compiere.print.MPrintFormatItem; */ public class BarcodeElement extends PrintElement { + /** + * + */ + private static final long serialVersionUID = -935853466496345172L; + /** * Barcode Element Constructor * @param code barcode data string diff --git a/org.adempiere.base/src/org/compiere/print/layout/BoxElement.java b/org.adempiere.base/src/org/compiere/print/layout/BoxElement.java index 3ade066d3a..3a4d379d42 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/BoxElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/BoxElement.java @@ -33,6 +33,11 @@ import org.compiere.print.MPrintFormatItem; */ public class BoxElement extends PrintElement { + /** + * + */ + private static final long serialVersionUID = -1956804687979601523L; + /** * BoxElement * @param item item diff --git a/org.adempiere.base/src/org/compiere/print/layout/GraphElement.java b/org.adempiere.base/src/org/compiere/print/layout/GraphElement.java index aca64e9c5e..a5bb5571d0 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/GraphElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/GraphElement.java @@ -30,6 +30,11 @@ import org.compiere.print.MPrintGraph; */ public class GraphElement extends PrintElement { + /** + * + */ + private static final long serialVersionUID = -1723609598698053387L; + /** * Constructor * @param pg graph model diff --git a/org.adempiere.base/src/org/compiere/print/layout/GridElement.java b/org.adempiere.base/src/org/compiere/print/layout/GridElement.java index 32c3ef9b3c..8123f324f6 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/GridElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/GridElement.java @@ -36,6 +36,11 @@ import java.util.Properties; */ public class GridElement extends PrintElement { + /** + * + */ + private static final long serialVersionUID = 1744788593309619751L; + /** * Grid Element Constructor * Call setData to initialize content diff --git a/org.adempiere.base/src/org/compiere/print/layout/HTMLElement.java b/org.adempiere.base/src/org/compiere/print/layout/HTMLElement.java index 85bf53a942..70bfbbaae5 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/HTMLElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/HTMLElement.java @@ -32,6 +32,12 @@ import java.util.Properties; */ public class HTMLElement extends PrintElement { + /** + * + */ + private static final long serialVersionUID = -7752468251586676726L; + + /** * HTML String Constructor * @param html html code diff --git a/org.adempiere.base/src/org/compiere/print/layout/ImageElement.java b/org.adempiere.base/src/org/compiere/print/layout/ImageElement.java index 2bfcaffa34..6370a56d1c 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/ImageElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/ImageElement.java @@ -43,6 +43,11 @@ import org.compiere.util.Env; */ public class ImageElement extends PrintElement { + /** + * + */ + private static final long serialVersionUID = 905615948952506059L; + /** * Create Image from URL * @param imageURLString image url diff --git a/org.adempiere.base/src/org/compiere/print/layout/LocationElement.java b/org.adempiere.base/src/org/compiere/print/layout/LocationElement.java index fd720ecacc..94130b191a 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/LocationElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/LocationElement.java @@ -40,6 +40,11 @@ import org.compiere.model.MLocation; */ public class LocationElement extends GridElement { + /** + * + */ + private static final long serialVersionUID = -6740297090803465288L; + /** * Constructor * @param ctx context diff --git a/org.adempiere.base/src/org/compiere/print/layout/PInstanceLogElement.java b/org.adempiere.base/src/org/compiere/print/layout/PInstanceLogElement.java index ffd1ae4cd6..be673e4ab3 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/PInstanceLogElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/PInstanceLogElement.java @@ -31,6 +31,10 @@ import org.compiere.util.Util; *
  • FR [ 1966406 ] Report Engine: AD_PInstance_Logs should be displayed */ public class PInstanceLogElement extends GridElement { + /** + * + */ + private static final long serialVersionUID = 8315529954507023182L; private int m_effectiveRowCount = 0; public PInstanceLogElement(Properties ctx, MQuery query, MPrintTableFormat tFormat) diff --git a/org.adempiere.base/src/org/compiere/print/layout/ParameterElement.java b/org.adempiere.base/src/org/compiere/print/layout/ParameterElement.java index a9a42ab6cd..d77e1860a1 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/ParameterElement.java +++ b/org.adempiere.base/src/org/compiere/print/layout/ParameterElement.java @@ -30,6 +30,11 @@ import org.compiere.util.Msg; */ public class ParameterElement extends GridElement { + /** + * + */ + private static final long serialVersionUID = 4702399095192668527L; + /** * Parameter Element. *
    diff --git a/org.adempiere.base/src/org/compiere/print/layout/StringElement.java b/org.adempiere.base/src/org/compiere/print/layout/StringElement.java
    index 82a050ee4b..e7b76c90c6 100644
    --- a/org.adempiere.base/src/org/compiere/print/layout/StringElement.java
    +++ b/org.adempiere.base/src/org/compiere/print/layout/StringElement.java
    @@ -48,6 +48,11 @@ import org.compiere.util.Util;
      */
     public class StringElement extends PrintElement
     {
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = 239112399504036626L;
    +
     	/**
     	 *	Standard Field Constructor.
     	 *  Created in LayoutEngine
    diff --git a/org.adempiere.base/src/org/compiere/print/layout/TableElement.java b/org.adempiere.base/src/org/compiere/print/layout/TableElement.java
    index 7b44cde779..7a6067018b 100644
    --- a/org.adempiere.base/src/org/compiere/print/layout/TableElement.java
    +++ b/org.adempiere.base/src/org/compiere/print/layout/TableElement.java
    @@ -79,6 +79,12 @@ import org.compiere.util.ValueNamePair;
      */
     public class TableElement extends PrintElement
     {
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = 4185521888252077894L;
    +
    +
     	/**
     	 *	Constructor.
     	 *	Created in LayoutEngine.
    @@ -284,7 +290,7 @@ public class TableElement extends PrintElement
     		m_printRows = new SerializableMatrixImpl>("TableElementPrintRows");	//	reset
     
     		//	Max Column Width = 50% of available width (used if maxWidth not set)
    -		float dynMxColumnWidth = m_firstPage.width / 2;
    +		float dynMxColumnWidth = m_firstPage.width / (float)2;
     
     		//	Width calculation
     		int rows = m_data.getRowCount();
    diff --git a/org.adempiere.base/src/org/compiere/report/FinReport.java b/org.adempiere.base/src/org/compiere/report/FinReport.java
    index 92553320ec..ab37f9f7ec 100644
    --- a/org.adempiere.base/src/org/compiere/report/FinReport.java
    +++ b/org.adempiere.base/src/org/compiere/report/FinReport.java
    @@ -458,7 +458,7 @@ public class FinReport extends SvrProcess
     			if (PostingType != null && PostingType.length() > 0)
     				select.append(" AND PostingType='").append(PostingType).append("'");
     			// globalqss - CarlosRuiz
    -			if (PostingType.equals(MReportColumn.POSTINGTYPE_Budget)) {
    +			if (MReportColumn.POSTINGTYPE_Budget.equals(PostingType)) {
     				if (m_columns[col].getGL_Budget_ID() > 0)
     					select.append(" AND GL_Budget_ID=" + m_columns[col].getGL_Budget_ID());
     			}
    @@ -977,7 +977,7 @@ public class FinReport extends SvrProcess
     				if (PostingType != null && PostingType.length() > 0)
     					select.append(" AND fb.PostingType='").append(PostingType).append("'");
     				// globalqss - CarlosRuiz
    -				if (PostingType.equals(MReportColumn.POSTINGTYPE_Budget)) {
    +				if (MReportColumn.POSTINGTYPE_Budget.equals(PostingType)) {
     					if (m_columns[col].getGL_Budget_ID() > 0)
     						select.append(" AND GL_Budget_ID=" + m_columns[col].getGL_Budget_ID());
     				}
    diff --git a/org.adempiere.base/src/org/compiere/util/CacheMgt.java b/org.adempiere.base/src/org/compiere/util/CacheMgt.java
    index f59c0a11ed..b76247acf9 100644
    --- a/org.adempiere.base/src/org/compiere/util/CacheMgt.java
    +++ b/org.adempiere.base/src/org/compiere/util/CacheMgt.java
    @@ -218,7 +218,6 @@ public class CacheMgt
     	 * 	@param Record_ID record if applicable or 0 for all
     	 * 	@return number of deleted cache entries
     	 */
    -	@SuppressWarnings("unchecked")
     	protected int resetLocalCache (String tableName, int Record_ID)
     	{
     		if (tableName == null)
    @@ -253,7 +252,6 @@ public class CacheMgt
     	 * 	Total Cached Elements
     	 *	@return count
     	 */
    -	@SuppressWarnings("unchecked")
     	public int getElementCount()
     	{
     		int total = 0;
    diff --git a/org.adempiere.base/src/org/compiere/util/DB.java b/org.adempiere.base/src/org/compiere/util/DB.java
    index cde5a93922..26b874d567 100644
    --- a/org.adempiere.base/src/org/compiere/util/DB.java
    +++ b/org.adempiere.base/src/org/compiere/util/DB.java
    @@ -347,8 +347,9 @@ public final class DB
                 if (conn != null)
                 {
                     conn.close();
    +                success = true;
                 }
    -            success = (conn != null);
    +            else success = false;
     		}
     		catch (Exception e)
     		{
    diff --git a/org.adempiere.base/src/org/compiere/util/Ini.java b/org.adempiere.base/src/org/compiere/util/Ini.java
    index 4b1facb955..b39307c61e 100644
    --- a/org.adempiere.base/src/org/compiere/util/Ini.java
    +++ b/org.adempiere.base/src/org/compiere/util/Ini.java
    @@ -329,9 +329,11 @@ public final class Ini implements Serializable
     
     		try
     		{
    -			InputStream is = fc.getInputStream();
    -			s_prop.load(is);
    -			is.close();
    +			if (fc != null) {
    +				InputStream is = fc.getInputStream();
    +				s_prop.load(is);
    +				is.close();
    +			}			
     		}
     		catch (Throwable t)
     		{
    diff --git a/org.adempiere.base/src/org/compiere/util/MSort.java b/org.adempiere.base/src/org/compiere/util/MSort.java
    index 37e50e067e..04d1492d0e 100644
    --- a/org.adempiere.base/src/org/compiere/util/MSort.java
    +++ b/org.adempiere.base/src/org/compiere/util/MSort.java
    @@ -164,6 +164,12 @@ public final class MSort implements Comparator, Serializable
     		}
     		return false;
     	}	//	equals
    +	
    +	public int hashCode()
    +	{
    +	  assert false : "hashCode not designed";
    +	  return 42; // any arbitrary constant will do
    +	}
     
     	/**
     	 * 	String Representation
    diff --git a/org.adempiere.base/src/org/compiere/util/Secure.java b/org.adempiere.base/src/org/compiere/util/Secure.java
    index 3b79e27273..d6fa0c4492 100644
    --- a/org.adempiere.base/src/org/compiere/util/Secure.java
    +++ b/org.adempiere.base/src/org/compiere/util/Secure.java
    @@ -352,16 +352,19 @@ public class Secure implements SecureInterface
     				nsae.printStackTrace();
     			}
     		}
    -		//	Reset MessageDigest object
    -		m_md.reset();
    -		//	Convert String to array of bytes
    +        //	Convert String to array of bytes
     		byte[] input = value.getBytes();
    -		//	feed this array of bytes to the MessageDigest object
    -		m_md.update(input);
    -		//	 Get the resulting bytes after the encryption process
    -		byte[] output = m_md.digest();
    -		m_md.reset();
    -		//
    +		byte[] output = null;
    +		//	Reset MessageDigest object
    +		if (m_md != null) {
    +			m_md.reset();		
    +			//	feed this array of bytes to the MessageDigest object
    +			m_md.update(input);
    +			//	 Get the resulting bytes after the encryption process
    +			output = m_md.digest();
    +			m_md.reset();
    +			//
    +		}
     		return convertToHexString(output);
     	}	//	getDigest
     
    diff --git a/org.adempiere.base/src/org/compiere/util/StoredHtmlSrc.java b/org.adempiere.base/src/org/compiere/util/StoredHtmlSrc.java
    index f7ec48f4d3..1c93ac6215 100644
    --- a/org.adempiere.base/src/org/compiere/util/StoredHtmlSrc.java
    +++ b/org.adempiere.base/src/org/compiere/util/StoredHtmlSrc.java
    @@ -36,9 +36,10 @@ public class StoredHtmlSrc extends MultiPartElement implements Printable {
     			return;
     		}			
     		InputStreamReader ins;
    +		BufferedReader bufferedReader = null;
     		try {
     			ins = new InputStreamReader(url.openStream());
    -			BufferedReader bufferedReader = new BufferedReader( ins );
    +			bufferedReader = new BufferedReader( ins );
     			String cssLine;
     			String result="";
     			while ((cssLine = bufferedReader.readLine()) != null) 
    @@ -47,5 +48,13 @@ public class StoredHtmlSrc extends MultiPartElement implements Printable {
     		} catch (IOException e1) {
     			log.warning("failed to load html-src: " + srcLocation);
     		}
    +		finally{
    +			if (bufferedReader != null) {
    +				try {
    +					bufferedReader.close();
    +				} catch (IOException e) {}
    +				bufferedReader = null;
    +			}
    +		}
     	}
     }
    diff --git a/org.adempiere.base/src/org/compiere/util/WebUtil.java b/org.adempiere.base/src/org/compiere/util/WebUtil.java
    index 81e7d6db7b..6852a97529 100644
    --- a/org.adempiere.base/src/org/compiere/util/WebUtil.java
    +++ b/org.adempiere.base/src/org/compiere/util/WebUtil.java
    @@ -962,7 +962,7 @@ public final class WebUtil
     			out.close();
     			//
     			time = System.currentTimeMillis() - time;
    -			double speed = (fileLength/1024) / ((double)time/1000);
    +			double speed = (fileLength/(double)1024) / (time/(double)1000);
     			log.info("Length=" 
     				+ fileLength + " - " 
     				+ time + " ms - " 
    @@ -1015,7 +1015,7 @@ public final class WebUtil
     			in.close();
     			//
     			time = System.currentTimeMillis() - time;
    -			double speed = (fileLength/1024) / ((double)time/1000);
    +			double speed = (fileLength/(double)1024) / (time/(double)1000);
     			log.info("Length=" 
     				+ fileLength + " - " 
     				+ time + " ms - " 
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_C_TaxBase.java b/org.adempiere.base/src/org/eevolution/model/I_C_TaxBase.java
    index 2175ec951e..349dcfda2d 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_C_TaxBase.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_C_TaxBase.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_C_TaxBase 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_C_TaxDefinition.java b/org.adempiere.base/src/org/eevolution/model/I_C_TaxDefinition.java
    index 66c1e4159f..4de709547c 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_C_TaxDefinition.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_C_TaxDefinition.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_C_TaxDefinition 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_C_TaxGroup.java b/org.adempiere.base/src/org/eevolution/model/I_C_TaxGroup.java
    index cbb262fe29..eb049c08bf 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_C_TaxGroup.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_C_TaxGroup.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_C_TaxGroup 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_C_TaxType.java b/org.adempiere.base/src/org/eevolution/model/I_C_TaxType.java
    index ea12ce4e70..90f4a69a7e 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_C_TaxType.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_C_TaxType.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_C_TaxType 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistribution.java b/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistribution.java
    index 76acfea2f0..97da7d7687 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistribution.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistribution.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_DD_NetworkDistribution 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistributionLine.java b/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistributionLine.java
    index aa383e106d..bbca9b5eca 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistributionLine.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_DD_NetworkDistributionLine.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_DD_NetworkDistributionLine 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_DD_Order.java b/org.adempiere.base/src/org/eevolution/model/I_DD_Order.java
    index 0ecf082769..3bd1d6fbbf 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_DD_Order.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_DD_Order.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_DD_Order 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Concept.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Concept.java
    index efb198857f..11936b1214 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Concept.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Concept.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Concept 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Contract.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Contract.java
    index 30e9f5d73d..d32ac0b865 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Contract.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Contract.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Contract 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Department.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Department.java
    index 8e20fec9cb..9153c22566 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Department.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Department.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Department 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Employee.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Employee.java
    index 61c05aeebc..9e66e29582 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Employee.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Employee.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Employee 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Job.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Job.java
    index ea896c486b..5d66bd28e5 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Job.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Job.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Job 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_List.java b/org.adempiere.base/src/org/eevolution/model/I_HR_List.java
    index 0dca85a597..3143d3c1f7 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_List.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_List.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_List 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_ListLine.java b/org.adempiere.base/src/org/eevolution/model/I_HR_ListLine.java
    index 32c558d34d..57ceb11785 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_ListLine.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_ListLine.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_ListLine 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_ListType.java b/org.adempiere.base/src/org/eevolution/model/I_HR_ListType.java
    index 495dc7bf93..49a25bc34f 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_ListType.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_ListType.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_ListType 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_ListVersion.java b/org.adempiere.base/src/org/eevolution/model/I_HR_ListVersion.java
    index f3835b911f..44360f9df4 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_ListVersion.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_ListVersion.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_ListVersion 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Movement.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Movement.java
    index ae9e752c94..ca761c5eb5 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Movement.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Movement.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Movement 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Payroll.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Payroll.java
    index 926978b9fc..4a0b4d1738 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Payroll.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Payroll.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Payroll 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_PayrollConcept.java b/org.adempiere.base/src/org/eevolution/model/I_HR_PayrollConcept.java
    index 0a94773eae..3fe2e0a99b 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_PayrollConcept.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_PayrollConcept.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_PayrollConcept 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Period.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Period.java
    index 2e56a27485..bc786cdde7 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Period.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Period.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Period 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Process.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Process.java
    index e7254a68b1..299c30fe2e 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Process.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Process.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Process 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_HR_Year.java b/org.adempiere.base/src/org/eevolution/model/I_HR_Year.java
    index 2172b64b0f..dda76c90ab 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_HR_Year.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_HR_Year.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_HR_Year 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_I_HR_Movement.java b/org.adempiere.base/src/org/eevolution/model/I_I_HR_Movement.java
    index eaeb5a2d6f..08dc294dfb 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_I_HR_Movement.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_I_HR_Movement.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_I_HR_Movement 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_I_ProductPlanning.java b/org.adempiere.base/src/org/eevolution/model/I_I_ProductPlanning.java
    index 98c89f494c..b6546316aa 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_I_ProductPlanning.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_I_ProductPlanning.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_I_ProductPlanning 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_MRP.java b/org.adempiere.base/src/org/eevolution/model/I_PP_MRP.java
    index e1aa10aeae..e4792adb8a 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_MRP.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_MRP.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_MRP 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node.java b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node.java
    index fb6b21abd3..098a9f5801 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_Order_Node 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_NodeNext.java b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_NodeNext.java
    index 02660681c2..7168385af8 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_NodeNext.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_NodeNext.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_Order_NodeNext 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Asset.java b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Asset.java
    index addfeaafd1..8cf91bd74e 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Asset.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Asset.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_Order_Node_Asset 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Product.java b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Product.java
    index a4375d594e..8770725dfc 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Product.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Node_Product.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_Order_Node_Product 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Workflow.java b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Workflow.java
    index 6563cda632..222f356cf6 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Workflow.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_Order_Workflow.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_Order_Workflow 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_Product_Planning.java b/org.adempiere.base/src/org/eevolution/model/I_PP_Product_Planning.java
    index c84433c8ab..fe2ecb056b 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_Product_Planning.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_Product_Planning.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_Product_Planning 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Asset.java b/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Asset.java
    index 869183c1f8..17114bdcf9 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Asset.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Asset.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_WF_Node_Asset 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Product.java b/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Product.java
    index ba6ca0acd8..d22a12e009 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Product.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_PP_WF_Node_Product.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_PP_WF_Node_Product 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_QM_Specification.java b/org.adempiere.base/src/org/eevolution/model/I_QM_Specification.java
    index b02b308de3..d6aa2172b2 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_QM_Specification.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_QM_Specification.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_QM_Specification 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_QM_SpecificationLine.java b/org.adempiere.base/src/org/eevolution/model/I_QM_SpecificationLine.java
    index 14f4338292..b247b49b41 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_QM_SpecificationLine.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_QM_SpecificationLine.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_QM_SpecificationLine 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_T_BOMLine.java b/org.adempiere.base/src/org/eevolution/model/I_T_BOMLine.java
    index 6c0ed8659e..4176e26023 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_T_BOMLine.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_T_BOMLine.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_T_BOMLine 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/model/I_T_MRP_CRP.java b/org.adempiere.base/src/org/eevolution/model/I_T_MRP_CRP.java
    index 809dbea865..ddddf1e366 100644
    --- a/org.adempiere.base/src/org/eevolution/model/I_T_MRP_CRP.java
    +++ b/org.adempiere.base/src/org/eevolution/model/I_T_MRP_CRP.java
    @@ -25,6 +25,7 @@ import org.compiere.util.KeyNamePair;
      *  @author iDempiere (generated) 
      *  @version Release 1.0a
      */
    +@SuppressWarnings("unused")
     public interface I_T_MRP_CRP 
     {
     
    diff --git a/org.adempiere.base/src/org/eevolution/process/ExportFormatGenerator.java b/org.adempiere.base/src/org/eevolution/process/ExportFormatGenerator.java
    index f56077e1ae..174e8ee7f9 100644
    --- a/org.adempiere.base/src/org/eevolution/process/ExportFormatGenerator.java
    +++ b/org.adempiere.base/src/org/eevolution/process/ExportFormatGenerator.java
    @@ -95,7 +95,7 @@ public class ExportFormatGenerator extends SvrProcess
     			String format = null;
     			if(tab.isActive())
     			{
    -				if(p_IsInsertRecord&tab.isInsertRecord())
    +				if(p_IsInsertRecord && tab.isInsertRecord())
     				{	
     					table = new MTable(getCtx(), tab.getAD_Table_ID(), get_TrxName());				
     				    format = createFormat(table);
    diff --git a/org.adempiere.base/src/org/eevolution/process/ImportInventoryMove.java b/org.adempiere.base/src/org/eevolution/process/ImportInventoryMove.java
    index 351eb37b46..3d9faf9686 100644
    --- a/org.adempiere.base/src/org/eevolution/process/ImportInventoryMove.java
    +++ b/org.adempiere.base/src/org/eevolution/process/ImportInventoryMove.java
    @@ -40,10 +40,8 @@ import org.compiere.model.MTable;
     import org.compiere.model.Query;
     import org.compiere.process.ProcessInfoParameter;
     import org.compiere.process.SvrProcess;
    -import org.compiere.util.DB;
     import org.compiere.util.Env;
     import org.compiere.util.Msg;
    -import org.eevolution.model.I_I_Movement;
     import org.eevolution.model.X_I_Movement;
     
     
    diff --git a/org.adempiere.base/src/org/idempiere/exceptions/NoCurrencyConversionException.java b/org.adempiere.base/src/org/idempiere/exceptions/NoCurrencyConversionException.java
    index 4327b4bd31..e21587169c 100644
    --- a/org.adempiere.base/src/org/idempiere/exceptions/NoCurrencyConversionException.java
    +++ b/org.adempiere.base/src/org/idempiere/exceptions/NoCurrencyConversionException.java
    @@ -29,7 +29,11 @@ import org.compiere.util.Env;
      */
     public class NoCurrencyConversionException extends AdempiereException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = 1593966161685137709L;
     
     	/**
     	 * 
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetAlreadyDepreciatedException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetAlreadyDepreciatedException.java
    index 09a7a34ea6..02bafe784c 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetAlreadyDepreciatedException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetAlreadyDepreciatedException.java
    @@ -11,7 +11,11 @@ package org.idempiere.fa.exceptions;
      */
     public class AssetAlreadyDepreciatedException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -2531645693567226455L;
     
     	public AssetAlreadyDepreciatedException()
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetCheckDocumentException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetCheckDocumentException.java
    index 3b87d551ff..27680144c2 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetCheckDocumentException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetCheckDocumentException.java
    @@ -10,7 +10,11 @@ package org.idempiere.fa.exceptions;
      */
     public class AssetCheckDocumentException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -8096988198983528889L;
     
     	public AssetCheckDocumentException(String additionalMessage)
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetException.java
    index fb0f6c2619..e1e6473f69 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetException.java
    @@ -11,7 +11,11 @@ import org.adempiere.exceptions.AdempiereException;
      */
     public class AssetException extends AdempiereException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -2163958702697438015L;
     
     	public AssetException()
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetInvoiceWithMixedLines_LRO.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetInvoiceWithMixedLines_LRO.java
    index 6ff23f592d..ca332fef12 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetInvoiceWithMixedLines_LRO.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetInvoiceWithMixedLines_LRO.java
    @@ -9,7 +9,11 @@ package org.idempiere.fa.exceptions;
      *
      */
     public class AssetInvoiceWithMixedLines_LRO extends AssetException {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = 7477049497754422353L;
     
     	public AssetInvoiceWithMixedLines_LRO() {
     		super("No new bills that contain both fixed and normal products");
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotActiveException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotActiveException.java
    index f690ca11ba..5589ce5da5 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotActiveException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotActiveException.java
    @@ -9,7 +9,11 @@ package org.idempiere.fa.exceptions;
      */
     public class AssetNotActiveException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -958395266586669844L;
     
     	public AssetNotActiveException(int A_Asset_ID)
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotImplementedException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotImplementedException.java
    index e895538d1b..a4a274f8ab 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotImplementedException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotImplementedException.java
    @@ -11,7 +11,11 @@ package org.idempiere.fa.exceptions;
      */
     public class AssetNotImplementedException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -7015542410574849684L;
     
     	public AssetNotImplementedException(String additionalMessage)
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotSupportedException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotSupportedException.java
    index 3486889b69..8f2d1d1d34 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotSupportedException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetNotSupportedException.java
    @@ -9,7 +9,11 @@ package org.idempiere.fa.exceptions;
      */
     public class AssetNotSupportedException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -9182818872935345775L;
     
     	public AssetNotSupportedException (String funcName, String actualValue)
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetProductStockedException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetProductStockedException.java
    index bf5d05f837..29011ac230 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetProductStockedException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetProductStockedException.java
    @@ -11,7 +11,11 @@ import org.compiere.model.MProduct;
      */
     public class AssetProductStockedException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = 229246069558704158L;
     
     	public AssetProductStockedException(MProduct product)
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetStatusChangedException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetStatusChangedException.java
    index 7657349d90..a41596ab2a 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetStatusChangedException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/AssetStatusChangedException.java
    @@ -11,7 +11,11 @@ import org.compiere.util.Util;
      */
     public class AssetStatusChangedException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
    +
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -2015948851153849647L;
     
     	public AssetStatusChangedException()
     	{
    diff --git a/org.adempiere.base/src/org/idempiere/fa/exceptions/DepreciationNoInPeriodException.java b/org.adempiere.base/src/org/idempiere/fa/exceptions/DepreciationNoInPeriodException.java
    index 77a9f6b09c..f5f7fe2680 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/exceptions/DepreciationNoInPeriodException.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/exceptions/DepreciationNoInPeriodException.java
    @@ -9,8 +9,12 @@ package org.idempiere.fa.exceptions;
      */
     public class DepreciationNoInPeriodException extends AssetException
     {
    -	private static final long serialVersionUID = 1L;
     	
    +	/**
    +	 * 
    +	 */
    +	private static final long serialVersionUID = -6201871355182540721L;
    +
     	public DepreciationNoInPeriodException(int A_Asset_ID, int Workfile_Period_ID, int DepExp_Period_ID)
     	{
     		super("Registration is not in balance (ID Asset="+A_Asset_ID
    diff --git a/org.adempiere.base/src/org/idempiere/fa/model/ModelValidator.java b/org.adempiere.base/src/org/idempiere/fa/model/ModelValidator.java
    index fa0e9474dd..96bab111a8 100644
    --- a/org.adempiere.base/src/org/idempiere/fa/model/ModelValidator.java
    +++ b/org.adempiere.base/src/org/idempiere/fa/model/ModelValidator.java
    @@ -163,7 +163,7 @@ implements org.compiere.model.ModelValidator, org.compiere.model.FactsValidator
     			if (product_id > 0) {
     				MProduct prod = MProduct.get(m.getCtx(), product_id);
     				isAsset = (prod != null && prod.get_ID() > 0 && prod.isCreateAsset());
    -				assetGroup_ID = prod.getA_Asset_Group_ID();
    +				assetGroup_ID = prod!=null ? prod.getA_Asset_Group_ID() : 0;
     			}
     				
     			// end modification by @win
    diff --git a/org.adempiere.extend/src/test/functional/AlertTest.java b/org.adempiere.extend/src/test/functional/AlertTest.java
    index 4a8d6ad63a..07a4f6b744 100644
    --- a/org.adempiere.extend/src/test/functional/AlertTest.java
    +++ b/org.adempiere.extend/src/test/functional/AlertTest.java
    @@ -28,12 +28,9 @@
     ***********************************************************************/
     package test.functional;
     
    -import java.math.BigDecimal;
    -
     import org.compiere.model.MAlert;
     import org.compiere.model.MAlertProcessor;
     import org.compiere.model.MAlertProcessorLog;
    -import org.compiere.model.MProductPricing;
     import org.compiere.model.X_AD_AlertProcessor;
     import org.compiere.util.CLogger;
     import org.compiere.util.Env;
    diff --git a/org.adempiere.extend/src/test/functional/MAttributeTest.java b/org.adempiere.extend/src/test/functional/MAttributeTest.java
    index ea9a765897..f00d27e248 100644
    --- a/org.adempiere.extend/src/test/functional/MAttributeTest.java
    +++ b/org.adempiere.extend/src/test/functional/MAttributeTest.java
    @@ -16,7 +16,6 @@ package test.functional;
     import org.compiere.model.MAttribute;
     import org.compiere.model.MAttributeInstance;
     import org.compiere.model.MAttributeValue;
    -import org.compiere.model.MInvoice;
     import org.compiere.util.Env;
     
     import test.AdempiereTestCase;
    diff --git a/org.adempiere.extend/src/test/functional/MBPartnerTest.java b/org.adempiere.extend/src/test/functional/MBPartnerTest.java
    index 06d7efc8f9..66de373ebf 100644
    --- a/org.adempiere.extend/src/test/functional/MBPartnerTest.java
    +++ b/org.adempiere.extend/src/test/functional/MBPartnerTest.java
    @@ -1,17 +1,8 @@
     //MBPartnerTest.java
     package test.functional;
     
    -import java.sql.PreparedStatement;
    -import java.sql.ResultSet;
    -import java.sql.SQLException;
    -
    -import org.compiere.model.MBPGroup;
     import org.compiere.model.MBPartner;
     import org.compiere.model.MLocation;
    -import org.compiere.model.MProductPrice;
    -import org.compiere.util.DB;
    -import org.compiere.util.Env;
    -
     import test.AdempiereTestCase;
     
     public class MBPartnerTest extends AdempiereTestCase {
    diff --git a/org.adempiere.extend/src/test/functional/MPInstanceTest.java b/org.adempiere.extend/src/test/functional/MPInstanceTest.java
    index efddcafd05..f9c314b22d 100644
    --- a/org.adempiere.extend/src/test/functional/MPInstanceTest.java
    +++ b/org.adempiere.extend/src/test/functional/MPInstanceTest.java
    @@ -15,8 +15,6 @@ package test.functional;
     
     import org.compiere.model.MPInstance;
     import org.compiere.model.MPInstancePara;
    -import org.compiere.model.MPaySelection;
    -import org.compiere.model.MPaySelectionLine;
     import org.compiere.util.Env;
     
     import test.AdempiereTestCase;
    diff --git a/org.adempiere.extend/src/test/functional/MPaymentTest.java b/org.adempiere.extend/src/test/functional/MPaymentTest.java
    index 21ddbf3d43..4311d5de0c 100644
    --- a/org.adempiere.extend/src/test/functional/MPaymentTest.java
    +++ b/org.adempiere.extend/src/test/functional/MPaymentTest.java
    @@ -13,7 +13,6 @@
      *****************************************************************************/
     package test.functional;
     
    -import org.compiere.model.MInvoice;
     import org.compiere.model.MPayment;
     import org.compiere.util.Env;
     
    diff --git a/org.adempiere.extend/src/test/functional/MProductBOMTest.java b/org.adempiere.extend/src/test/functional/MProductBOMTest.java
    index 112a90ba73..9b82fb008d 100644
    --- a/org.adempiere.extend/src/test/functional/MProductBOMTest.java
    +++ b/org.adempiere.extend/src/test/functional/MProductBOMTest.java
    @@ -14,7 +14,6 @@
     package test.functional;
     
     import org.compiere.model.MBOM;
    -import org.compiere.model.MLocation;
     import org.compiere.model.MProductBOM;
     import org.compiere.util.Env;
     
    diff --git a/org.adempiere.extend/src/test/functional/MProductTest.java b/org.adempiere.extend/src/test/functional/MProductTest.java
    index af2b077689..e8331be2fb 100644
    --- a/org.adempiere.extend/src/test/functional/MProductTest.java
    +++ b/org.adempiere.extend/src/test/functional/MProductTest.java
    @@ -1,18 +1,7 @@
     //MProductTest.java
     package test.functional;
     
    -import java.math.BigDecimal;
    -import java.sql.PreparedStatement;
    -import java.sql.ResultSet;
    -import java.sql.SQLException;
    -
    -import org.compiere.model.MProduct;
     import org.compiere.model.MProductPrice;
    -import org.compiere.model.MProductPricing;
    -import org.compiere.model.X_I_Product;
    -import org.compiere.util.DB;
    -import org.compiere.util.Env;
    -
     import test.AdempiereTestCase;
     
     public class MProductTest extends AdempiereTestCase {
    diff --git a/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java b/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java
    index d7de111bd0..99926afd6c 100644
    --- a/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java
    +++ b/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java
    @@ -156,13 +156,21 @@ public class KeyStoreMgt
     			try
     			{
     				is = new FileInputStream (m_file);
    +				m_keyStore.load(is, m_password);
     			}
     			catch (Exception e)
     			{
     				log.log(Level.SEVERE, "load", e);
     				return null;
     			}
    -			m_keyStore.load(is, m_password);
    +			finally{
    +				if (is != null) {
    +					try {
    +						is.close();
    +					} catch (Exception e2) {}
    +					is = null;
    +				}
    +			}
     		}
     		else
     			return null;	//	does not exist
    diff --git a/org.adempiere.install/src/org/compiere/install/util/ALayoutConstraint.java b/org.adempiere.install/src/org/compiere/install/util/ALayoutConstraint.java
    index 34474d0634..5554860dcc 100644
    --- a/org.adempiere.install/src/org/compiere/install/util/ALayoutConstraint.java
    +++ b/org.adempiere.install/src/org/compiere/install/util/ALayoutConstraint.java
    @@ -104,6 +104,12 @@ public class ALayoutConstraint implements Comparable
     		return false;
     	}   //  equal
     
    +	public int hashCode() 
    +	{
    +	  assert false : "hashCode not designed";
    +	  return 42; // any arbitrary constant will do
    +	}
    +	
     	/**
     	 *  To String
     	 *  @return info
    diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java
    index 3b77579416..2b5294afa3 100644
    --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java
    +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java
    @@ -41,7 +41,7 @@ public class AdElementHandler extends AbstractElementHandler {
     
     	private List processedElements = new ArrayList();
     
    -	private final String AD_ELEMENT = "AD_Element";
    +	private static final String AD_ELEMENT = "AD_Element";
     
     
     	public void startElement(PIPOContext ctx, Element element)
    diff --git a/org.adempiere.pipo/META-INF/MANIFEST.MF b/org.adempiere.pipo/META-INF/MANIFEST.MF
    index 3987c75f95..36df9e1497 100644
    --- a/org.adempiere.pipo/META-INF/MANIFEST.MF
    +++ b/org.adempiere.pipo/META-INF/MANIFEST.MF
    @@ -8,7 +8,7 @@ Import-Package: org.apache.commons.codec;version="1.3.0",
      org.apache.commons.codec.binary;version="1.3.0",
      org.apache.tools.ant,
      org.apache.tools.ant.taskdefs,
    - org.apache.xerces.jaxp;version="2.9.0",
    + org.apache.xerces.jaxp,
      org.osgi.framework
     Export-Package: org.adempiere.pipo.srv,
      org.adempiere.pipo2,
    diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java b/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java
    index e0800d898c..9b1a1661e3 100644
    --- a/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java
    +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java
    @@ -103,7 +103,7 @@ public class GridTab2PackExporter implements IGridTabExporter {
     			}
     		}
     		try {
    -			packOut.export(getPackoutDirectory(), file.getAbsolutePath(), packoutDocument, packoutItems, null);
    +			packOut.export(getPackoutDirectory(), file!=null ? file.getAbsolutePath() : null , packoutDocument, packoutItems, null);
     		} catch (Exception e) {
     			throw new AdempiereException(e);
     		}
    diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java
    index 5752a50a26..5ae72bf39c 100644
    --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java
    +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java
    @@ -196,10 +196,10 @@ public class PackIn {
     		byte[] data = null;
     		File file = new File(m_packageDirectory+File.separator+"blobs"+File.separator, fileName);
     		FileInputStream fis = null;
    -
    +		BufferedInputStream bis = null;
     		try {
     			fis = new FileInputStream(file);
    -			BufferedInputStream bis = new BufferedInputStream(fis);
    +			bis = new BufferedInputStream(fis);
     			ByteArrayOutputStream baos = new ByteArrayOutputStream();
     			while (true) {
     				int b = bis.read();
    @@ -215,6 +215,12 @@ public class PackIn {
     					fis.close();
     				} catch (IOException e) {}
     			}
    +			if (bis != null) {
    +				try {
    +					bis.close();
    +				} catch (Exception e) {}
    +				bis = null;
    +			}
     		}
     		return data;
     	}
    diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java
    index 64c4877dc4..772a63ccab 100644
    --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java
    +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java
    @@ -424,7 +424,7 @@ public class PackInHandler extends DefaultHandler {
     		}
     	}
     
    -	class DeferEntry {
    +	static class DeferEntry {
     		Element element;
     		boolean startElement = false;
     
    diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java
    index 7e23e4b39b..084acc7cdf 100644
    --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java
    +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PoFiller.java
    @@ -79,7 +79,7 @@ public class PoFiller{
     		Element e = element.properties.get(qName);
     		String value = e != null ? e.contents.toString() : null;
     
    -		if (value.trim().length() == 0)
    +		if (value!=null && value.trim().length() == 0)
     			value = null;
     		Timestamp ts = value != null ? Timestamp.valueOf(value) : null;
     
    @@ -100,7 +100,7 @@ public class PoFiller{
     		Element e = element.properties.get(qName);
     		String value = e != null ? e.contents.toString() : null;
     
    -		if (value.trim().length() == 0)
    +		if (value!=null && value.trim().length() == 0)
     			value = null;
     		Integer i = value != null ? new Integer(value) : null;
     
    @@ -121,7 +121,7 @@ public class PoFiller{
     		Element e = element.properties.get(qName);
     		String value = e != null ? e.contents.toString() : null;
     
    -		if (value.trim().length() == 0)
    +		if (value!=null && value.trim().length() == 0)
     			value = null;
     		BigDecimal bd = value != null ? new BigDecimal(value) : null;
     
    diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/Zipper.java b/org.adempiere.pipo/src/org/adempiere/pipo2/Zipper.java
    index be9ca8b5f8..676d894360 100644
    --- a/org.adempiere.pipo/src/org/adempiere/pipo2/Zipper.java
    +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/Zipper.java
    @@ -101,8 +101,9 @@ public class Zipper {
          }
     	static public String getParentDir(File zipFilepath)
         {
    +		ZipFile zipFile = null;
     		try {
    -		ZipFile zipFile = new ZipFile(zipFilepath);
    +		zipFile = new ZipFile(zipFilepath);
     		Enumeration entries = zipFile.entries();
     		ZipEntry entry = entries.nextElement();
     		File tempfile = new File(entry.getName());
    @@ -114,6 +115,14 @@ public class Zipper {
     		      ioe.printStackTrace();
     		      return "";
     	    }
    +		finally{
    +			if (zipFile != null) {
    +				try {
    +					zipFile.close();
    +				} catch (Exception e) {}
    +				zipFile = null;
    +			}
    +		}
          }
     	}//	CreateZipFile
     
    diff --git a/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java b/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java
    index 3c2f44130e..5566639762 100644
    --- a/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java
    +++ b/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java
    @@ -75,11 +75,12 @@ public class AdempiereActivator implements BundleActivator {
     		URL packout = context.getBundle().getEntry("/META-INF/2Pack.zip");
     		if (packout != null) {
     			IDictionaryService service = Service.locator().locate(IDictionaryService.class).getService();
    +			FileOutputStream zipstream = null;
     			try {
     				// copy the resource to a temporary file to process it with 2pack
     				InputStream stream = context.getBundle().getEntry("/META-INF/2Pack.zip").openStream();
     				File zipfile = File.createTempFile(getName(), ".zip");
    -				FileOutputStream zipstream = new FileOutputStream(zipfile);
    +				zipstream = new FileOutputStream(zipfile);
     			    byte[] buffer = new byte[1024];
     			    int read;
     			    while((read = stream.read(buffer)) != -1){
    @@ -90,6 +91,13 @@ public class AdempiereActivator implements BundleActivator {
     			} catch (Exception e) {
     				logger.log(Level.SEVERE, "Error on Dictionary service", e);
     			}
    +			finally{
    +				if (zipstream != null) {
    +					try {
    +						zipstream.close();
    +					} catch (Exception e2) {}
    +				}
    +			}
     		} 
     	}
     
    diff --git a/org.adempiere.replication.server/src/org/compiere/server/ReplicationProcessor.java b/org.adempiere.replication.server/src/org/compiere/server/ReplicationProcessor.java
    index 126dd5a7ec..a82b582023 100644
    --- a/org.adempiere.replication.server/src/org/compiere/server/ReplicationProcessor.java
    +++ b/org.adempiere.replication.server/src/org/compiere/server/ReplicationProcessor.java
    @@ -83,7 +83,6 @@ public class ReplicationProcessor extends AdempiereServer {
     		m_client = MClient.get(mImportProcessor.getCtx(), mImportProcessor.getAD_Client_ID());
     	}
     	
    -	@SuppressWarnings("unchecked")
     	@Override
     	protected void doWork() 
     	{
    diff --git a/org.adempiere.replication/src/org/adempiere/process/rpl/exp/ExportHelper.java b/org.adempiere.replication/src/org/adempiere/process/rpl/exp/ExportHelper.java
    index a878a024a3..2f6ba861e6 100644
    --- a/org.adempiere.replication/src/org/adempiere/process/rpl/exp/ExportHelper.java
    +++ b/org.adempiere.replication/src/org/adempiere/process/rpl/exp/ExportHelper.java
    @@ -104,7 +104,6 @@ public class ExportHelper {
     	 * 	Process - Generate Export Format
     	 *	@return info
     	 */
    -	@SuppressWarnings("unchecked")
     	public String exportRecord (PO po, Integer ReplicationMode , String ReplicationType, Integer ReplicationEvent) throws Exception
     	{
     		MClient client = MClient.get (po.getCtx(), m_AD_Client_ID);
    diff --git a/org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java b/org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java
    index 979158cc4f..70e74deb43 100644
    --- a/org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java
    +++ b/org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java
    @@ -1221,7 +1221,7 @@ public class ReportStarter implements ProcessCall, ClientProcess
             }
         }
     
    -    class ReportData {
    +    static class ReportData {
             private String reportFilePath;
             private boolean directPrint;
     
    @@ -1275,7 +1275,7 @@ public class ReportStarter implements ProcessCall, ClientProcess
             }
         }
     
    -    class FileFilter implements FilenameFilter {
    +    static class FileFilter implements FilenameFilter {
             private String reportStart;
             private File directory;
             private String extension;
    diff --git a/org.adempiere.server-feature/buckminster_linux_gtk_x86.properties b/org.adempiere.server-feature/buckminster_linux_gtk_x86.properties
    index 4695ef0fee..734b87a812 100644
    --- a/org.adempiere.server-feature/buckminster_linux_gtk_x86.properties
    +++ b/org.adempiere.server-feature/buckminster_linux_gtk_x86.properties
    @@ -8,7 +8,7 @@ qualifier.replacement.*=generator:buildTimestamp
     generator.buildTimestamp.format='v'yyyyMMdd-HHmm
     target.os=linux
     target.ws=gtk
    -target.arch=x86_64
    +target.arch=x86
     
     product.features=org.idempiere.eclipse.platform.feature.group, org.idempiere.fitnesse.feature.group  
     product.profile=DefaultProfile
    diff --git a/org.adempiere.server/src/main/servlet/org/compiere/web/AdempiereMonitor.java b/org.adempiere.server/src/main/servlet/org/compiere/web/AdempiereMonitor.java
    index f83eb0371a..ed7a7eb72e 100644
    --- a/org.adempiere.server/src/main/servlet/org/compiere/web/AdempiereMonitor.java
    +++ b/org.adempiere.server/src/main/servlet/org/compiere/web/AdempiereMonitor.java
    @@ -446,7 +446,7 @@ public class AdempiereMonitor extends HttpServlet
     			fis.close();
     			//
     			time = System.currentTimeMillis() - time;
    -			double speed = (fileLength/1024) / ((double)time/1000);
    +			double speed = (fileLength/(double)1024) / (time/(double)1000);
     			log.info("length=" 
     				+ fileLength + " - " 
     				+ time + " ms - " 
    diff --git a/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java b/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java
    index dbea264cc5..9b600eab1d 100644
    --- a/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java
    +++ b/org.adempiere.ui.swing/src/org/adempiere/apps/graph/HtmlDashboard.java
    @@ -114,9 +114,10 @@ public class HtmlDashboard extends JPanel implements MouseListener,
     		URL url = getClass().getClassLoader().
     			getResource("org/compiere/css/PAPanel.css");
     		InputStreamReader ins;
    +		BufferedReader bufferedReader = null;
     		try {
     			ins = new InputStreamReader(url.openStream());
    -			BufferedReader bufferedReader = new BufferedReader( ins );
    +			bufferedReader = new BufferedReader( ins );
     			String cssLine;
     			result.append("