hg merge release-1.0c (forward-porting)
This commit is contained in:
commit
d0f1a03dba
|
@ -0,0 +1,32 @@
|
|||
-- Jul 24, 2013 10:16:11 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=W & @IsSummary@=N',Updated=TO_DATE('2013-07-24 10:16:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:16:35 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=X & @IsSummary@=N',Updated=TO_DATE('2013-07-24 10:16:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3612
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:16:48 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=I & @IsSummary@=N',Updated=TO_DATE('2013-07-24 10:16:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201638
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:17:27 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=P | @Action@=R & @IsSummary@=N',Updated=TO_DATE('2013-07-24 10:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2576
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:17:53 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=T & @IsSummary@=N',Updated=TO_DATE('2013-07-24 10:17:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=208
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:18:05 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=F & @IsSummary@=N',Updated=TO_DATE('2013-07-24 10:18:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=207
|
||||
;
|
||||
|
||||
SELECT register_migration_script('20130724102515_IDEMPIERE-1187.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,7 @@
|
|||
-- Jul 30, 2013 11:49:17 AM SGT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
UPDATE AD_ModelValidator SET IsActive='N',Updated=TO_DATE('2013-07-30 11:49:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ModelValidator_ID=200003
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307301144_IDEMPIERE-840.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,25 @@
|
|||
-- Jul 30, 2013 3:02:24 PM COT
|
||||
-- IDEMPIERE-1162
|
||||
UPDATE R_MailText SET MailText='Dear @Name@,
|
||||
|
||||
You are receiving this email because you (or somebody pretending to be you) said you have lost your iDempiere password.
|
||||
|
||||
To access your iDempiere, use the temporary password from @AD_Client_ID<Name>@ below:
|
||||
@#NewPassword@
|
||||
|
||||
Once you login, you will be directed to change password screen. Please change your password to something you can remember.
|
||||
|
||||
Sincerely,
|
||||
The iDempiere Accounts Team
|
||||
|
||||
Note: This email address cannot accept replies.',Updated=TO_DATE('2013-07-30 15:02:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE R_MailText_ID=200000
|
||||
;
|
||||
|
||||
-- Jul 30, 2013 3:02:24 PM COT
|
||||
-- IDEMPIERE-1162
|
||||
UPDATE R_MailText_Trl SET IsTranslated='N' WHERE R_MailText_ID=200000
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307301502_IDEMPIERE-1162.sql') FROM dual
|
||||
;
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
-- Jul 30, 2013 11:33:11 PM SGT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
DELETE FROM AD_ModelValidator WHERE AD_ModelValidator_ID=200003
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307302339_IDEMPIERE-840.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,13 @@
|
|||
-- Jul 31, 2013 9:00:38 AM COT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Sent by iDempiereMail',200218,'D','e1049e33-cbdc-4fc4-94fa-9e99f6bb07cc','RequestSentBy','Y',TO_DATE('2013-07-31 09:00:30','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-31 09:00:30','YYYY-MM-DD HH24:MI:SS'),0)
|
||||
;
|
||||
|
||||
-- Jul 31, 2013 9:00:38 AM COT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200218 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307310904_IDEMPIERE-840.sql') FROM dual
|
||||
;
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
-- Jul 24, 2013 10:16:11 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=W & @IsSummary@=N',Updated=TO_TIMESTAMP('2013-07-24 10:16:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:16:35 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=X & @IsSummary@=N',Updated=TO_TIMESTAMP('2013-07-24 10:16:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3612
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:16:48 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=I & @IsSummary@=N',Updated=TO_TIMESTAMP('2013-07-24 10:16:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201638
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:17:27 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=P | @Action@=R & @IsSummary@=N',Updated=TO_TIMESTAMP('2013-07-24 10:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2576
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:17:53 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=T & @IsSummary@=N',Updated=TO_TIMESTAMP('2013-07-24 10:17:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=208
|
||||
;
|
||||
|
||||
-- Jul 24, 2013 10:18:05 AM COT
|
||||
-- IDEMPIERE-1187 in make menu window, when select "Summary Level", field "Window" still display
|
||||
UPDATE AD_Field SET DisplayLogic='@Action@=F & @IsSummary@=N',Updated=TO_TIMESTAMP('2013-07-24 10:18:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=207
|
||||
;
|
||||
|
||||
SELECT register_migration_script('20130724102515_IDEMPIERE-1187.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,7 @@
|
|||
-- Jul 30, 2013 11:49:17 AM SGT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
UPDATE AD_ModelValidator SET IsActive='N',Updated=TO_TIMESTAMP('2013-07-30 11:49:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ModelValidator_ID=200003
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307301144_IDEMPIERE-840.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,25 @@
|
|||
-- Jul 30, 2013 3:02:24 PM COT
|
||||
-- IDEMPIERE-1162
|
||||
UPDATE R_MailText SET MailText='Dear @Name@,
|
||||
|
||||
You are receiving this email because you (or somebody pretending to be you) said you have lost your iDempiere password.
|
||||
|
||||
To access your iDempiere, use the temporary password from @AD_Client_ID<Name>@ below:
|
||||
@#NewPassword@
|
||||
|
||||
Once you login, you will be directed to change password screen. Please change your password to something you can remember.
|
||||
|
||||
Sincerely,
|
||||
The iDempiere Accounts Team
|
||||
|
||||
Note: This email address cannot accept replies.',Updated=TO_TIMESTAMP('2013-07-30 15:02:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE R_MailText_ID=200000
|
||||
;
|
||||
|
||||
-- Jul 30, 2013 3:02:24 PM COT
|
||||
-- IDEMPIERE-1162
|
||||
UPDATE R_MailText_Trl SET IsTranslated='N' WHERE R_MailText_ID=200000
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307301502_IDEMPIERE-1162.sql') FROM dual
|
||||
;
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
-- Jul 30, 2013 11:33:11 PM SGT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
DELETE FROM AD_ModelValidator WHERE AD_ModelValidator_ID=200003
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307302339_IDEMPIERE-840.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,13 @@
|
|||
-- Jul 31, 2013 9:00:38 AM COT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Sent by iDempiereMail',200218,'D','e1049e33-cbdc-4fc4-94fa-9e99f6bb07cc','RequestSentBy','Y',TO_TIMESTAMP('2013-07-31 09:00:30','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-31 09:00:30','YYYY-MM-DD HH24:MI:SS'),0)
|
||||
;
|
||||
|
||||
-- Jul 31, 2013 9:00:38 AM COT
|
||||
-- IDEMPIERE-840 Improvement to Request model class
|
||||
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200218 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201307310904_IDEMPIERE-840.sql') FROM dual
|
||||
;
|
||||
|
|
@ -274,6 +274,7 @@ Import-Package: com.sun.mail.auth;version="1.4.5",
|
|||
org.apache.commons.net.ftp,
|
||||
org.apache.ecs,
|
||||
org.apache.ecs.xhtml,
|
||||
org.apache.felix.scr;version="1.6.0",
|
||||
org.apache.poi.hssf.usermodel,
|
||||
org.apache.poi.ss.usermodel,
|
||||
org.apache.tools.ant,
|
||||
|
@ -282,6 +283,7 @@ Import-Package: com.sun.mail.auth;version="1.4.5",
|
|||
org.eclipse.osgi.framework.console;version="1.1.0",
|
||||
org.eclipse.osgi.service.datalocation,
|
||||
org.osgi.framework,
|
||||
org.osgi.service.cm;version="1.3.0",
|
||||
org.osgi.service.component;version="1.1.0",
|
||||
org.osgi.service.event;version="1.2.0",
|
||||
org.osgi.util.tracker;version="1.5.0",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.archive.store.archivedb">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.model.ArchiveDB">
|
||||
<implementation class="org.compiere.model.ArchiveDB"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.model.IArchiveStore"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.archive.store.archivefile">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.model.ArchiveFileSystem">
|
||||
<implementation class="org.compiere.model.ArchiveFileSystem"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.model.IArchiveStore"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.attachment.store.attachmentdb">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.model.AttachmentDBSystem">
|
||||
<implementation class="org.compiere.model.AttachmentDBSystem"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.model.IAttachmentStore"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.attachment.store.attachmentfile">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.model.AttachmentFileSystem">
|
||||
<implementation class="org.compiere.model.AttachmentFileSystem"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.model.IAttachmentStore"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.broadcast.util">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.broadcast.BroadCastUtil">
|
||||
<implementation class="org.idempiere.broadcast.BroadCastUtil"/>
|
||||
<reference bind="bindMessageService" cardinality="1..1" interface="org.idempiere.distributed.IMessageService" name="IMessageService" policy="dynamic" unbind="unbindMessageService"/>
|
||||
</scr:component>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.columncallout.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultColumnCalloutFactory">
|
||||
<implementation class="org.adempiere.base.DefaultColumnCalloutFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IColumnCalloutFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.doc.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultDocumentFactory">
|
||||
<implementation class="org.adempiere.base.DefaultDocumentFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IDocFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.lookup.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultLookupFactory">
|
||||
<implementation class="org.adempiere.base.DefaultLookupFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.ILookupFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.model.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultModelFactory">
|
||||
<implementation class="org.adempiere.base.DefaultModelFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IModelFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.modelvalidator.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultModelValidatorFactory">
|
||||
<implementation class="org.adempiere.base.DefaultModelValidatorFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IModelValidatorFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.paymentprocessor.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultPaymentProcessorFactory">
|
||||
<implementation class="org.adempiere.base.DefaultPaymentProcessorFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IPaymentProcessorFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.process.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultProcessFactory">
|
||||
<implementation class="org.adempiere.base.DefaultProcessFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IProcessFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.shipmentprocessor.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.DefaultShipmentProcessorFactory">
|
||||
<implementation class="org.adempiere.base.DefaultShipmentProcessorFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IShipmentProcessorFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.ds.locator">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.ds.DynamicServiceLocator">
|
||||
<property name="service.ranking" type="Integer" value="1"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IServiceLocator"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.adempiere.base.event.manager">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.adempiere.base.event.EventManager">
|
||||
<implementation class="org.adempiere.base.event.EventManager"/>
|
||||
<reference bind="bindEventAdmin" cardinality="1..1" interface="org.osgi.service.event.EventAdmin" name="EventAdmin" policy="static" unbind="unbindEventAdmin"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.keystore.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.util.DefaultKeyStore">
|
||||
<implementation class="org.compiere.util.DefaultKeyStore"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IKeyStore"/>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0">
|
||||
|
||||
<OCD description="Request Service" name="Request Service" id="org.adempiere.base.event.RequestEventHandler">
|
||||
<AD name="Ignore Request Types" id="ignoreRequestTypes" required="true" type="String" default=""/>
|
||||
</OCD>
|
||||
|
||||
<Designate pid="org.adempiere.base.event.RequestEventHandler">
|
||||
<Object ocdref="org.adempiere.base.event.RequestEventHandler"/>
|
||||
</Designate>
|
||||
|
||||
</metatype:MetaData>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" configuration-policy="optional" name="org.adempiere.base.event.RequestEventHandler">
|
||||
<implementation class="org.adempiere.base.event.RequestEventHandler"/>
|
||||
<reference bind="bindEventManager" cardinality="1..1" interface="org.adempiere.base.event.IEventManager" name="IEventManager" policy="static" unbind="unbindEventManager"/>
|
||||
<service>
|
||||
<provide interface="org.osgi.service.cm.ManagedService"/>
|
||||
<provide interface="org.adempiere.base.event.RequestEventHandler"/>
|
||||
</service>
|
||||
<property name="service.pid" type="String" value="org.adempiere.base.event.RequestEventHandler"/>
|
||||
</scr:component>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.event.RequestPropertyService">
|
||||
<implementation class="org.adempiere.base.event.RequestPropertyService"/>
|
||||
<reference bind="bindConfigurationAdmin" cardinality="1..1" interface="org.osgi.service.cm.ConfigurationAdmin" name="ConfigurationAdmin" policy="static" unbind="unbindConfigurationAdmin"/>
|
||||
</scr:component>
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.interfaces.server">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.interfaces.impl.ServerBean">
|
||||
<implementation class="org.compiere.interfaces.impl.ServerBean"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.interfaces.Server"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.base.interfaces.status">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.interfaces.impl.StatusBean">
|
||||
<implementation class="org.compiere.interfaces.impl.StatusBean"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.interfaces.Status"/>
|
||||
|
|
|
@ -28,6 +28,8 @@ bin.includes = META-INF/,\
|
|||
OSGI-INF/defaultshipmentprocessorfactory.xml,\
|
||||
OSGI-INF/defaultpaymentprocessorfactory.xml,\
|
||||
OSGI-INF/broadcastutil.xml,\
|
||||
OSGI-INF/requesteventhandler.xml,\
|
||||
OSGI-INF/requestpropertyservice.xml,\
|
||||
schema/
|
||||
output.base.jar = build/
|
||||
src.includes = schema/
|
||||
|
|
|
@ -42,6 +42,7 @@ import org.osgi.util.tracker.ServiceTracker;
|
|||
public class BaseActivator implements BundleActivator {
|
||||
|
||||
private static BundleContext bundleContext = null;
|
||||
private ComponentBlackListService blacklistService;
|
||||
|
||||
/**
|
||||
* default constructor
|
||||
|
@ -58,6 +59,8 @@ public class BaseActivator implements BundleActivator {
|
|||
loadInitProperties(Adempiere.getAdempiereHome());
|
||||
bundleContext = context;
|
||||
context.registerService(CommandProvider.class.getName(), new StackTraceCommand(), null);
|
||||
|
||||
blacklistService = new ComponentBlackListService(context);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -114,6 +117,10 @@ public class BaseActivator implements BundleActivator {
|
|||
}
|
||||
}
|
||||
trackerCache.clear();
|
||||
if (blacklistService != null) {
|
||||
blacklistService.stop(context);
|
||||
blacklistService = null;
|
||||
}
|
||||
Adempiere.stop();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
/******************************************************************************
|
||||
* Copyright (C) 2012 Heng Sin Low *
|
||||
* Copyright (C) 2012 Trek Global *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. This program is distributed in the hope *
|
||||
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||
* See the GNU General Public License for more details. *
|
||||
* You should have received a copy of the GNU General Public License along *
|
||||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
*****************************************************************************/
|
||||
package org.adempiere.base;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.felix.scr.Component;
|
||||
import org.apache.felix.scr.ScrService;
|
||||
import org.compiere.util.Ini;
|
||||
import org.compiere.util.Util;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.ServiceEvent;
|
||||
import org.osgi.framework.ServiceListener;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
import org.osgi.service.component.ComponentConstants;
|
||||
|
||||
/**
|
||||
* @author hengsin
|
||||
*
|
||||
*/
|
||||
public class ComponentBlackListService implements ServiceListener {
|
||||
|
||||
private ScrService scrService = null;
|
||||
private List<String> blackListComponentNames = null;
|
||||
|
||||
protected ComponentBlackListService(BundleContext context) {
|
||||
ServiceReference<ScrService> ref = context.getServiceReference(ScrService.class);
|
||||
scrService = context.getService(ref);
|
||||
blackListComponentNames = new ArrayList<String>();
|
||||
retrieveBlacklistCandidates();
|
||||
if (!blackListComponentNames.isEmpty()) {
|
||||
disableComponents();
|
||||
}
|
||||
context.addServiceListener(this);
|
||||
}
|
||||
|
||||
public void stop(BundleContext context) {
|
||||
scrService = null;
|
||||
blackListComponentNames = null;
|
||||
context.removeServiceListener(this);
|
||||
}
|
||||
|
||||
private void retrieveBlacklistCandidates() {
|
||||
String path = Ini.getAdempiereHome();
|
||||
File file = new File(path, "components.blacklist");
|
||||
if (file.exists()) {
|
||||
BufferedReader br = null;
|
||||
try {
|
||||
FileReader reader = new FileReader(file);
|
||||
br = new BufferedReader(reader);
|
||||
String s = null;
|
||||
do {
|
||||
s = br.readLine();
|
||||
if (!Util.isEmpty(s)) {
|
||||
blackListComponentNames.add(s.trim());
|
||||
}
|
||||
} while (s != null);
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void disableComponents()
|
||||
{
|
||||
Component[] comps = scrService.getComponents();
|
||||
for (Component comp : comps) {
|
||||
if (blackListComponentNames.contains(comp.getName())) {
|
||||
comp.disable();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void disableComponent(String componentName)
|
||||
{
|
||||
Component[] comps = scrService.getComponents();
|
||||
for (Component comp : comps) {
|
||||
if (comp.getName().equals(componentName)) {
|
||||
comp.disable();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.osgi.framework.ServiceListener#serviceChanged(org.osgi.framework.ServiceEvent)
|
||||
*/
|
||||
@Override
|
||||
public void serviceChanged(ServiceEvent event) {
|
||||
if (event.getType() == ServiceEvent.REGISTERED) {
|
||||
if (scrService != null && !blackListComponentNames.isEmpty()) {
|
||||
ServiceReference<?> ref = event.getServiceReference();
|
||||
String name = (String) ref.getProperty(ComponentConstants.COMPONENT_NAME);
|
||||
if (!Util.isEmpty(name)) {
|
||||
if (blackListComponentNames.contains(name)) {
|
||||
disableComponent(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -92,5 +92,7 @@ public interface IEventTopics {
|
|||
public static final String PREF_AFTER_LOAD = "adempiere/pref/afterLoad";
|
||||
|
||||
public static final String BROADCAST_MESSAGE = "idempiere/broadcastMsg";
|
||||
|
||||
public static final String REQUEST_SEND_EMAIL = "idempiere/requestSendEMail";
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/******************************************************************************
|
||||
* Copyright (C) 2013 Elaine Tan *
|
||||
* Copyright (C) 2013 Nur Yasmin *
|
||||
* Copyright (C) 2013 Trek Global
|
||||
* 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 *
|
||||
|
@ -11,8 +11,7 @@
|
|||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
*****************************************************************************/
|
||||
|
||||
package org.compiere.model;
|
||||
package org.adempiere.base.event;
|
||||
|
||||
import static org.compiere.model.SystemIDs.MESSAGE_REQUESTUPDATE;
|
||||
|
||||
|
@ -21,75 +20,87 @@ import java.sql.PreparedStatement;
|
|||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Dictionary;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.adempiere.base.event.EventManager;
|
||||
import org.adempiere.base.event.RequestSendEMailEventData;
|
||||
import org.adempiere.exceptions.DBException;
|
||||
import org.compiere.model.I_R_Request;
|
||||
import org.compiere.model.MClient;
|
||||
import org.compiere.model.MNote;
|
||||
import org.compiere.model.MRequest;
|
||||
import org.compiere.model.MRequestAction;
|
||||
import org.compiere.model.MRequestType;
|
||||
import org.compiere.model.MRequestUpdate;
|
||||
import org.compiere.model.MUser;
|
||||
import org.compiere.model.PO;
|
||||
import org.compiere.model.X_AD_User;
|
||||
import org.compiere.model.X_R_Request;
|
||||
import org.compiere.util.CLogger;
|
||||
import org.compiere.util.DB;
|
||||
import org.compiere.util.Env;
|
||||
import org.compiere.util.Msg;
|
||||
import org.compiere.util.Util;
|
||||
import org.osgi.service.cm.ConfigurationException;
|
||||
import org.osgi.service.cm.ManagedService;
|
||||
import org.osgi.service.event.Event;
|
||||
import org.osgi.service.event.EventHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Elaine
|
||||
* Request event handler
|
||||
* @author Nur Yasmin
|
||||
*
|
||||
*/
|
||||
public class RequestValidator implements ModelValidator, EventHandler
|
||||
public class RequestEventHandler extends AbstractEventHandler implements ManagedService
|
||||
{
|
||||
public static final String ON_REQUEST_SEND_EMAIL_TOPIC = "onRequestSendEMail";
|
||||
|
||||
private static CLogger s_log = CLogger.getCLogger (RequestValidator.class);
|
||||
|
||||
private int m_AD_Client_ID;
|
||||
private static CLogger s_log = CLogger.getCLogger (RequestEventHandler.class);
|
||||
|
||||
@Override
|
||||
public void initialize(ModelValidationEngine engine, MClient client)
|
||||
protected void doHandleEvent(Event event)
|
||||
{
|
||||
if (client != null)
|
||||
m_AD_Client_ID = client.getAD_Client_ID();
|
||||
engine.addModelChange(I_R_Request.Table_Name, this);
|
||||
|
||||
if (EventManager.getInstance() != null)
|
||||
EventManager.getInstance().register(ON_REQUEST_SEND_EMAIL_TOPIC, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAD_Client_ID()
|
||||
{
|
||||
return m_AD_Client_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String login(int AD_Org_ID, int AD_Role_ID, int AD_User_ID)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String modelChange(PO po, int type) throws Exception
|
||||
{
|
||||
if (po instanceof MRequest )
|
||||
String topic = event.getTopic();
|
||||
if (topic.equals(IEventTopics.REQUEST_SEND_EMAIL))
|
||||
{
|
||||
MRequest r = (MRequest) po;
|
||||
if (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE)
|
||||
beforeSaveRequest(r, type == TYPE_BEFORE_NEW);
|
||||
else if (type == TYPE_AFTER_NEW || type == TYPE_AFTER_CHANGE)
|
||||
afterSaveRequest(r, type == TYPE_AFTER_NEW);
|
||||
RequestSendEMailEventData eventData = (RequestSendEMailEventData) event.getProperty(EventManager.EVENT_DATA);
|
||||
if (!eventData.getClient().sendEMail(eventData.getFrom(), eventData.getTo(), eventData.getSubject(), eventData.getMessage(), eventData.getAttachment()))
|
||||
{
|
||||
int AD_Message_ID = MESSAGE_REQUESTUPDATE;
|
||||
MNote note = new MNote(Env.getCtx(), AD_Message_ID, eventData.getTo().getAD_User_ID(),
|
||||
X_R_Request.Table_ID, eventData.getRequestID(),
|
||||
eventData.getSubject(), eventData.getMessage(), null);
|
||||
note.save();
|
||||
}
|
||||
}
|
||||
else if (topic.equals(IEventTopics.PO_BEFORE_NEW) || topic.equals(IEventTopics.PO_BEFORE_CHANGE)
|
||||
|| topic.equals(IEventTopics.PO_AFTER_NEW) || topic.equals(IEventTopics.PO_AFTER_CHANGE))
|
||||
{
|
||||
PO po = getPO(event);
|
||||
if (po.get_TableName().equals(I_R_Request.Table_Name))
|
||||
{
|
||||
MRequest r = (MRequest) po;
|
||||
|
||||
MRequestType rt = r.getRequestType();
|
||||
if (ignoreRequestTypes.contains(rt.getName()))
|
||||
return;
|
||||
|
||||
if (topic.equals(IEventTopics.PO_BEFORE_NEW) || topic.equals(IEventTopics.PO_BEFORE_CHANGE))
|
||||
beforeSaveRequest(r, topic.equals(IEventTopics.PO_BEFORE_NEW));
|
||||
else if (topic.equals(IEventTopics.PO_AFTER_NEW) || topic.equals(IEventTopics.PO_AFTER_CHANGE))
|
||||
afterSaveRequest(r, topic.equals(IEventTopics.PO_AFTER_NEW));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String docValidate(PO po, int timing)
|
||||
protected void initialize()
|
||||
{
|
||||
return null;
|
||||
registerEvent(IEventTopics.REQUEST_SEND_EMAIL);
|
||||
registerTableEvent(IEventTopics.PO_BEFORE_NEW, I_R_Request.Table_Name);
|
||||
registerTableEvent(IEventTopics.PO_BEFORE_CHANGE, I_R_Request.Table_Name);
|
||||
registerTableEvent(IEventTopics.PO_AFTER_NEW, I_R_Request.Table_Name);
|
||||
registerTableEvent(IEventTopics.PO_AFTER_CHANGE, I_R_Request.Table_Name);
|
||||
}
|
||||
|
||||
public static String beforeSaveRequest(MRequest r, boolean newRecord)
|
||||
private String beforeSaveRequest(MRequest r, boolean newRecord)
|
||||
{
|
||||
// New
|
||||
if (newRecord)
|
||||
|
@ -208,7 +219,7 @@ public class RequestValidator implements ModelValidator, EventHandler
|
|||
return null;
|
||||
}
|
||||
|
||||
public static String afterSaveRequest(MRequest r, boolean newRecord)
|
||||
private String afterSaveRequest(MRequest r, boolean newRecord)
|
||||
{
|
||||
// Initial Mail
|
||||
if (newRecord)
|
||||
|
@ -223,7 +234,7 @@ public class RequestValidator implements ModelValidator, EventHandler
|
|||
* @param columnName column
|
||||
* @return true if changes
|
||||
*/
|
||||
public static boolean checkChange (MRequest r, MRequestAction ra, String columnName)
|
||||
public boolean checkChange (MRequest r, MRequestAction ra, String columnName)
|
||||
{
|
||||
if (r.is_ValueChanged(columnName))
|
||||
{
|
||||
|
@ -242,7 +253,7 @@ public class RequestValidator implements ModelValidator, EventHandler
|
|||
* Send Update EMail/Notices
|
||||
* @param list list of changes
|
||||
*/
|
||||
public static void sendNotices(MRequest r, ArrayList<String> list)
|
||||
private void sendNotices(MRequest r, ArrayList<String> list)
|
||||
{
|
||||
// Subject
|
||||
String subject = Msg.translate(r.getCtx(), "R_Request_ID")
|
||||
|
@ -362,7 +373,7 @@ public class RequestValidator implements ModelValidator, EventHandler
|
|||
|| X_AD_User.NOTIFICATIONTYPE_EMailPlusNotice.equals(NotificationType))
|
||||
{
|
||||
RequestSendEMailEventData eventData = new RequestSendEMailEventData(client, from, to, subject, message.toString(), pdf, r.getR_Request_ID());
|
||||
Event event = EventManager.newEvent(ON_REQUEST_SEND_EMAIL_TOPIC, eventData);
|
||||
Event event = EventManager.newEvent(IEventTopics.REQUEST_SEND_EMAIL, eventData);
|
||||
EventManager.getInstance().postEvent(event);
|
||||
}
|
||||
// Send Note
|
||||
|
@ -393,30 +404,33 @@ public class RequestValidator implements ModelValidator, EventHandler
|
|||
* @param serverAddress server address
|
||||
* @return Mail Trailer
|
||||
*/
|
||||
public static String getMailTrailer(MRequest r, String serverAddress)
|
||||
private String getMailTrailer(MRequest r, String serverAddress)
|
||||
{
|
||||
StringBuffer sb = new StringBuffer("\n").append(MRequest.SEPARATOR)
|
||||
.append(Msg.translate(r.getCtx(), "R_Request_ID"))
|
||||
.append(": ").append(r.getDocumentNo())
|
||||
.append(" ").append(r.getMailTag())
|
||||
.append("\nSent by AdempiereMail");
|
||||
.append("\n")
|
||||
.append(Msg.getMsg(r.getCtx(), "RequestSentBy"));
|
||||
if (serverAddress != null)
|
||||
sb.append(" from ").append(serverAddress);
|
||||
return sb.toString();
|
||||
} // getMailTrailer
|
||||
|
||||
public static final String IGNORE_REQUEST_TYPES = "ignoreRequestTypes";
|
||||
private static ArrayList<String> ignoreRequestTypes = new ArrayList<String>();
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@Override
|
||||
public void handleEvent(Event event) {
|
||||
if (event.getTopic() == ON_REQUEST_SEND_EMAIL_TOPIC)
|
||||
{
|
||||
RequestSendEMailEventData eventData = (RequestSendEMailEventData) event.getProperty(EventManager.EVENT_DATA);
|
||||
if (!eventData.getClient().sendEMail(eventData.getFrom(), eventData.getTo(), eventData.getSubject(), eventData.getMessage(), eventData.getAttachment()))
|
||||
{
|
||||
int AD_Message_ID = MESSAGE_REQUESTUPDATE;
|
||||
MNote note = new MNote(Env.getCtx(), AD_Message_ID, eventData.getTo().getAD_User_ID(),
|
||||
X_R_Request.Table_ID, eventData.getRequestID(),
|
||||
eventData.getSubject(), eventData.getMessage(), null);
|
||||
note.save();
|
||||
public void updated(Dictionary properties) throws ConfigurationException {
|
||||
if (properties != null) {
|
||||
String p = (String) properties.get(IGNORE_REQUEST_TYPES);
|
||||
if (!Util.isEmpty(p)) {
|
||||
ignoreRequestTypes.clear();
|
||||
|
||||
StringTokenizer st = new StringTokenizer(p, ";");
|
||||
while (st.hasMoreTokens())
|
||||
ignoreRequestTypes.add(st.nextToken().trim());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
/******************************************************************************
|
||||
* Copyright (C) 2013 Elaine *
|
||||
* Copyright (C) 2013 Trek Global
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. This program is distributed in the hope *
|
||||
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||
* See the GNU General Public License for more details. *
|
||||
* You should have received a copy of the GNU General Public License along *
|
||||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
*****************************************************************************/
|
||||
|
||||
package org.adempiere.base.event;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.Dictionary;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.compiere.util.CLogger;
|
||||
import org.compiere.util.Ini;
|
||||
import org.compiere.util.Util;
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.FrameworkUtil;
|
||||
import org.osgi.service.cm.Configuration;
|
||||
import org.osgi.service.cm.ConfigurationAdmin;
|
||||
|
||||
/**
|
||||
* Request property service
|
||||
* @author Elaine
|
||||
*
|
||||
*/
|
||||
public class RequestPropertyService {
|
||||
|
||||
private static final String REQUESTEVENTHANDLER_PROPERTIES = "requesteventhandler.properties";
|
||||
|
||||
private static final CLogger logger = CLogger.getCLogger(RequestPropertyService.class);
|
||||
|
||||
public RequestPropertyService() {
|
||||
}
|
||||
|
||||
public void bindConfigurationAdmin(ConfigurationAdmin configurationAdmin) {
|
||||
readProperties(configurationAdmin);
|
||||
}
|
||||
|
||||
public void unbindConfigurationAdmin(ConfigurationAdmin configurationAdmin) {
|
||||
|
||||
}
|
||||
|
||||
private void readProperties(ConfigurationAdmin service) {
|
||||
File file = new File(Ini.getAdempiereHome(), REQUESTEVENTHANDLER_PROPERTIES);
|
||||
if (file.exists()) {
|
||||
Properties p = new Properties();
|
||||
FileInputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(file);
|
||||
p.load(is);
|
||||
String ignoreRequesTypes = p.getProperty(RequestEventHandler.IGNORE_REQUEST_TYPES);
|
||||
|
||||
if (!Util.isEmpty(ignoreRequesTypes)) {
|
||||
Configuration configuration = service.getConfiguration(RequestEventHandler.class.getName());
|
||||
if (configuration.getProperties() == null) {
|
||||
Dictionary<String, Object> map = new Hashtable<String, Object>();
|
||||
map.put(RequestEventHandler.IGNORE_REQUEST_TYPES, ignoreRequesTypes);
|
||||
configuration.update(map);
|
||||
} else {
|
||||
Bundle bundle = FrameworkUtil.getBundle(RequestEventHandler.class);
|
||||
String bundleLocation = bundle.getLocation();
|
||||
String configLocation = configuration.getBundleLocation();
|
||||
if (!bundleLocation.equals(configLocation)) {
|
||||
configuration.setBundleLocation(bundleLocation);
|
||||
configuration.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (FileNotFoundException e) {
|
||||
logger.log(Level.WARNING, REQUESTEVENTHANDLER_PROPERTIES + " not found.", e);
|
||||
} catch (IOException e) {
|
||||
logger.log(Level.SEVERE, "Error reading " + REQUESTEVENTHANDLER_PROPERTIES, e);
|
||||
} finally {
|
||||
if (is != null) {
|
||||
try {
|
||||
is.close();
|
||||
} catch (Exception ex) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.pipo.dictionary.service">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.pipo.srv.PipoDictionaryService">
|
||||
<implementation class="org.adempiere.pipo.srv.PipoDictionaryService"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IDictionaryService"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.replication.server.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.server.rpl.imp.ReplicationServerFactory">
|
||||
<implementation class="org.adempiere.server.rpl.imp.ReplicationServerFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.server.IServerFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.report.jasper.swing.viewer.provider">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.report.SwingJRViewerProvider">
|
||||
<implementation class="org.compiere.report.SwingJRViewerProvider"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.report.JRViewerProvider"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.defaultacctprocessor">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.DefaultAcctProcessorFactory">
|
||||
<implementation class="org.idempiere.server.factory.DefaultAcctProcessorFactory"/>
|
||||
<property name="service.ranking" type="Integer" value="0"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.defaultalertprocessor">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.DefaultAlertProcessorFactory">
|
||||
<implementation class="org.idempiere.server.factory.DefaultAlertProcessorFactory"/>
|
||||
<property name="service.ranking" type="Integer" value="0"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.defaultldapprocessor">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.DefaultLDAPProcessorFactory">
|
||||
<implementation class="org.idempiere.server.factory.DefaultLDAPProcessorFactory"/>
|
||||
<property name="service.ranking" type="Integer" value="0"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.defaultrequestprocessor">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.DefaultRequestProcessorFactory">
|
||||
<implementation class="org.idempiere.server.factory.DefaultRequestProcessorFactory"/>
|
||||
<property name="service.ranking" type="Integer" value="0"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.defaultscheduler">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.DefaultSchedulerFactory">
|
||||
<implementation class="org.idempiere.server.factory.DefaultSchedulerFactory"/>
|
||||
<property name="service.ranking" type="Integer" value="0"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.defaultworkflowprocessor">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.server.factory.DefaultWorkflowProcessorFactory">
|
||||
<implementation class="org.idempiere.server.factory.DefaultWorkflowProcessorFactory"/>
|
||||
<property name="service.ranking" type="Integer" value="0"/>
|
||||
<service>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.createfrom.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.grid.DefaultCreateFromFactory">
|
||||
<implementation class="org.compiere.grid.DefaultCreateFromFactory"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.grid.ICreateFromFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.editor.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.factory.DefaultEditorFactory">
|
||||
<implementation class="org.adempiere.ui.swing.factory.DefaultEditorFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.ui.swing.factory.IEditorFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.form.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.factory.DefaultFormFactory">
|
||||
<implementation class="org.adempiere.ui.swing.factory.DefaultFormFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.ui.swing.factory.IFormFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.info.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.factory.DefaultInfoFactory">
|
||||
<implementation class="org.adempiere.ui.swing.factory.DefaultInfoFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.ui.swing.factory.IInfoFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.payment.form.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.grid.DefaultPaymentFormFactory">
|
||||
<implementation class="org.compiere.grid.DefaultPaymentFormFactory"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.grid.IPaymentFormFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.shipping.printlabel">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.process.DefaultPrintShippingLabel">
|
||||
<implementation class="org.adempiere.process.DefaultPrintShippingLabel"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.process.IPrintShippingLabel"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.report.viewer.provider">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.print.SwingViewerProvider">
|
||||
<implementation class="org.compiere.print.SwingViewerProvider"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.print.ReportViewerProvider"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.resource.finder">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.util.ResourceFinder">
|
||||
<implementation class="org.compiere.util.ResourceFinder"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IResourceFinder"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.interfaces.server">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.client.ServerInterface">
|
||||
<implementation class="org.adempiere.client.ServerInterface"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.interfaces.Server"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.swing.interfaces.status">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.client.StatusInterface">
|
||||
<implementation class="org.adempiere.client.StatusInterface"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.interfaces.Status"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.createfrom.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.apps.form.DefaultCreateFromFactory">
|
||||
<implementation class="org.adempiere.webui.apps.form.DefaultCreateFromFactory"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.grid.ICreateFromFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.editor.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.factory.DefaultEditorFactory">
|
||||
<implementation class="org.adempiere.webui.factory.DefaultEditorFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.webui.factory.IEditorFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.form.factory.default">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.factory.DefaultFormFactory">
|
||||
<implementation class="org.adempiere.webui.factory.DefaultFormFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.webui.factory.IFormFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.info.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.factory.DefaultInfoFactory">
|
||||
<implementation class="org.adempiere.webui.factory.DefaultInfoFactory"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.webui.factory.IInfoFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.payment.form.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.apps.form.DefaultPaymentFormFactory">
|
||||
<implementation class="org.adempiere.webui.apps.form.DefaultPaymentFormFactory"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.grid.IPaymentFormFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.shipping.printlabel">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.process.DefaultPrintShippingLabel">
|
||||
<implementation class="org.adempiere.webui.process.DefaultPrintShippingLabel"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.process.IPrintShippingLabel"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.factory.DefaultFeedbackService">
|
||||
<implementation class="org.adempiere.webui.factory.DefaultFeedbackService"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.webui.factory.IFeedbackService"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.jrviewer.provider">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.window.ZkJRViewerProvider">
|
||||
<implementation class="org.adempiere.webui.window.ZkJRViewerProvider"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.report.JRViewerProvider"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.process.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.util.ProcessFactoryImpl">
|
||||
<implementation class="org.adempiere.webui.util.ProcessFactoryImpl"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IProcessFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.reportviewer.provider">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.window.ZkReportViewerProvider">
|
||||
<implementation class="org.adempiere.webui.window.ZkReportViewerProvider"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.print.ReportViewerProvider"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.ui.zk.resource.finder">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.adempiere.webui.util.WebUIResourceFinder">
|
||||
<implementation class="org.adempiere.webui.util.WebUIResourceFinder"/>
|
||||
<service>
|
||||
<provide interface="org.adempiere.base.IResourceFinder"/>
|
||||
|
|
|
@ -509,7 +509,9 @@ public class ResetPasswordPanel extends Window implements EventListener<Event>
|
|||
to.set_ValueOfColumn("Password", newPassword); // will be hashed and validate on saveEx
|
||||
mailText.setUser(to);
|
||||
String message = mailText.getMailText(true);
|
||||
Env.setContext(m_ctx, "#NewPassword", newPassword);
|
||||
message = Env.parseVariable(message, to, to.get_TrxName(), true);
|
||||
Env.setContext(m_ctx, "#NewPassword", "");
|
||||
EMail email = client.createEMail(to.getEMail(), mailText.getMailHeader(), message, mailText.isHtml());
|
||||
if (mailText.isHtml())
|
||||
email.setMessageHTML(mailText.getMailHeader(), message);
|
||||
|
|
|
@ -276,7 +276,7 @@ public class TreeSearchPanel extends Panel implements EventListener<Event>, Tree
|
|||
protected boolean isFolder(Treeitem treeItem) {
|
||||
List<Component> list = treeItem.getChildren();
|
||||
for (Component c : list) {
|
||||
if (c instanceof Treechildren && ((Treechildren)c).getChildren().size() > 1) {
|
||||
if (c instanceof Treechildren && ((Treechildren)c).getChildren().size() > 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.db.oracle.provider">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.db.DB_Oracle">
|
||||
<implementation class="org.compiere.db.DB_Oracle"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.db.AdempiereDatabase"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.db.postgresql.provider">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.compiere.db.DB_PostgreSQL">
|
||||
<implementation class="org.compiere.db.DB_PostgreSQL"/>
|
||||
<service>
|
||||
<provide interface="org.compiere.db.AdempiereDatabase"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.fitnesse.fixture.fit.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.fitnesse.fixture.FitFixtureFactory">
|
||||
<implementation class="org.idempiere.fitnesse.fixture.FitFixtureFactory"/>
|
||||
<service>
|
||||
<provide interface="org.idempiere.fitnesse.server.fit.IFitFixtureFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.fitnesse.fixture.slim.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.fitnesse.fixture.SlimFixtureFactory">
|
||||
<implementation class="org.idempiere.fitnesse.fixture.SlimFixtureFactory"/>
|
||||
<service>
|
||||
<provide interface="org.idempiere.fitnesse.server.slim.ISlimFixtureFactory"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.hazelcast.service.cache">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.hazelcast.service.CacheServiceImpl">
|
||||
<implementation class="org.idempiere.hazelcast.service.CacheServiceImpl"/>
|
||||
<service>
|
||||
<provide interface="org.idempiere.distributed.ICacheService"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.hazelcast.service.cluster">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.hazelcast.service.ClusterServiceImpl">
|
||||
<implementation class="org.idempiere.hazelcast.service.ClusterServiceImpl"/>
|
||||
<service>
|
||||
<provide interface="org.idempiere.distributed.IClusterService"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.hazelcast.service.message">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.hazelcast.service.MessageServiceImpl">
|
||||
<implementation class="org.idempiere.hazelcast.service.MessageServiceImpl"/>
|
||||
<service>
|
||||
<provide interface="org.idempiere.distributed.IMessageService"/>
|
||||
|
|
|
@ -15,7 +15,6 @@ package org.idempiere.hazelcast.service;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
|
@ -75,21 +74,46 @@ public class Activator implements BundleActivator {
|
|||
future = executor.submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String dataArea = System.getProperty("osgi.install.area");
|
||||
File file = null;
|
||||
//try idempiere home
|
||||
String dataArea = System.getProperty("IDEMPIERE_HOME");
|
||||
if (dataArea != null && dataArea.trim().length() > 0) {
|
||||
try {
|
||||
URL url = new URL(dataArea);
|
||||
File file = new File(url.getPath(), "hazelcast.xml");
|
||||
if (file.exists()) {
|
||||
try {
|
||||
Config config = new FileSystemXmlConfig(file);
|
||||
hazelcastInstance = Hazelcast.newHazelcastInstance(config);
|
||||
return;
|
||||
} catch (FileNotFoundException e) {}
|
||||
}
|
||||
} catch (MalformedURLException e1) {
|
||||
file = new File(dataArea, "hazelcast.xml");
|
||||
if (!file.exists())
|
||||
file = null;
|
||||
} catch (Exception e) {}
|
||||
}
|
||||
//try working directory
|
||||
if (file == null) {
|
||||
dataArea = System.getProperty("user.dir");
|
||||
if (dataArea != null && dataArea.trim().length() > 0) {
|
||||
try {
|
||||
file = new File(dataArea, "hazelcast.xml");
|
||||
if (!file.exists())
|
||||
file = null;
|
||||
} catch (Exception e) {}
|
||||
}
|
||||
}
|
||||
//try osgi install area
|
||||
if (file == null) {
|
||||
dataArea = System.getProperty("osgi.install.area");
|
||||
if (dataArea != null && dataArea.trim().length() > 0) {
|
||||
try {
|
||||
URL url = new URL(dataArea);
|
||||
file = new File(url.getPath(), "hazelcast.xml");
|
||||
if (!file.exists())
|
||||
file = null;
|
||||
} catch (Exception e) {}
|
||||
}
|
||||
}
|
||||
if (file != null && file.exists()) {
|
||||
try {
|
||||
Config config = new FileSystemXmlConfig(file);
|
||||
hazelcastInstance = Hazelcast.newHazelcastInstance(config);
|
||||
return;
|
||||
} catch (FileNotFoundException e) {}
|
||||
}
|
||||
hazelcastInstance = Hazelcast.newHazelcastInstance(null);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.zk.selenium.fitnesse.fit.factory">
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.ui.zk.selenium.fitnesse.FitFixtureFactory">
|
||||
<implementation class="org.idempiere.ui.zk.selenium.fitnesse.FitFixtureFactory"/>
|
||||
<service>
|
||||
<provide interface="org.idempiere.fitnesse.server.fit.IFitFixtureFactory"/>
|
||||
|
|
Loading…
Reference in New Issue