Unknown extension point: 'org.adempiere.base.IModelFactory'

496 views
Skip to first unread message

Alex Yang

unread,
Mar 22, 2013, 10:40:59 PM3/22/13
to idem...@googlegroups.com
Hi,

I am playing with Red1's AssetMaintenence plugin. When I am starting the plugin, eclipse gives me an error message saying as title. I have searched all *.exsd file. There seems no extension point of IModelFactory indeed.

Screenshots below:


Thanks,

Alex


Heng Sin Low

unread,
Mar 22, 2013, 10:57:55 PM3/22/13
to idem...@googlegroups.com

that have been drop and needs to be replace by osgi service.

--
You received this message because you are subscribed to the Google Groups "iDempiere" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idempiere+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Alex Yang

unread,
May 13, 2013, 2:23:50 AM5/13/13
to idem...@googlegroups.com
Thanks Hengsin.

I notice that callout and process is still working using extension.
Do we have plan to move callout and process to use service as model class?

Regards,
Alex

Edwin Ang

unread,
May 13, 2013, 2:25:47 AM5/13/13
to idem...@googlegroups.com
HI Alex,a

Check out my project management plugin. I have setup OSGi Service for Callout, Process, Validator, Doc and Model in there. You can use it as template for developing new plugin.

Alex Yang

unread,
May 13, 2013, 11:52:33 PM5/13/13
to idem...@googlegroups.com
Thanks Edwin.

I have one more questions:
1. Do you generate migration script using the preference "Log Migration" checked? Or have other method to generate migration scripts, like convert 2Pack file to migration scripts?
2. Do you use the centralized ID management of iDempiere? Or just use your own project management ID?
3. Does iDempiere support project ID management? I see the AD Entry has been removed from Sys_Configurator.
4. What's current status of xx_UUID? Can we expect to use such function to do plugin development instead of centralized/project ID?

Regards,
Alex

Edwin Ang

unread,
May 14, 2013, 2:27:36 AM5/14/13
to idem...@googlegroups.com
Hi Alex,

1. During my initial design, I use 2Pack. The plan is when I stabilized the design, I would convert it to migration scripts by tick Log Migration Script and Dictionary Maintenance to use the Centralized ID Management. But then I faced problems when running PackIn. Two things I've learned from this: (a) You must setup everything correctly for successful PackIn - which is a good thing, and (2) it still have issue with packing in workflow setup.

2. I use centralized ID Management

3. I don't really understand this. Can you explain more?

4. I think better answer can be provided by Hengsin


Alex Yang

unread,
May 14, 2013, 2:34:54 AM5/14/13
to idem...@googlegroups.com
Thanks Edwin.

1. I do expect to use the UUID to manage the database ID conflicts.
2. for project ID management, here is what I copied from wiki doc for your understanding:

For Projects with Distributed Developers

If you conduct project with distributed developers - with distributed development databases, then you have the same problem as Adempiere Committers to synchronize the dictionary ID's

This implementation can help also for these projects.

You just need to install the cgi scripts provided in:
http://adempiere.svn.sourceforge.net/viewvc/adempiere/contributions/stuff/POC_Central_System_IDs/linux/

Set up a data directory ../data relative to cgi-bin directory for your project:
http://adempiere.svn.sourceforge.net/viewvc/adempiere/contributions/stuff/POC_Central_System_IDs/linux/data/Adempiere/

Register your developers in the file data/PROJECT_NAME/RegisteredDevelopers.pwd

And set the system configurator parameters for project usage:

PROJECT_ID_USE_CENTRALIZED_ID = Y  (default is N)
PROJECT_ID_WEBSITE = with the website provided for the centralized ID management
PROJECT_ID_PROJECT = name of the project set up
PROJECT_ID_USER = your user name for the project
PROJECT_ID_PASSWORD = your password committer for the project
PROJECT_ID_COMMENTS = the comment for the development you're attending

Thanks,
Alex

carlos

unread,
May 19, 2013, 11:39:23 PM5/19/13
to idem...@googlegroups.com
Hi edwin:

I installed your pm plugin and when start idempiere under eclipse y got the following error:

java.lang.Exception: Failed to load model validator class org.idempiere.fa.model.ModelValidator
    at org.idempiere.pm.model.PM_ValidatorFactory.newModelValidatorInstance(PM_ValidatorFactory.java:39)
    at org.adempiere.base.Core.getModelValidator(Core.java:115)
    at org.compiere.model.ModelValidationEngine.loadValidatorClass(ModelValidationEngine.java:158)
    at org.compiere.model.ModelValidationEngine.<init>(ModelValidationEngine.java:104)
    at org.compiere.model.ModelValidationEngine.get(ModelValidationEngine.java:75)
    at org.compiere.Adempiere.startupEnvironment(Adempiere.java:594)
    at org.compiere.Adempiere.startup(Adempiere.java:551)
    at org.compiere.util.WebEnv.initWeb(WebEnv.java:170)
    at org.compiere.util.WebEnv.initWeb(WebEnv.java:129)
    at org.compiere.web.AdempiereMonitor.init(AdempiereMonitor.java:1044)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1228)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1147)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
23:10:13.947 WebEnv.initWeb: Servlet Context Init Parameters: iDempiere Root
ServerRoot=1 [31]
23:10:14.054-----------> EMail.setFrom: you @ company.org: javax.mail.internet.AddressException: Local address contains control or whitespace in string ``you @ company.org'' [31]
23:10:14.096-----------> EMail.addTo: you @ company.org: javax.mail.internet.AddressException: Local address contains control or whitespace in string ``you @ company.org'' [31]
23:10:14.097-----------> EMail.isValid: From is invalid=null [31]
23:10:14.098-----------> EMail.isValid: From is invalid=null [31]
23:10:14.099-----------> MClient.sendEMail: Could NOT Send Email: Server started: ? to you @ company.org: Invalid Data (System) [31]
23:10:14.099 WebEnv.initWeb: Servlet Init Parameter: idempiereMonitor [31]
23:10:14.100 AdempiereMonitor.init:  [31]
23:10:24.357-----------> zkoss.parse:446: Ingored. Use the library property called org.zkoss.util.logging.config.file instead [44]
23:10:28.172           WebUIServlet.init: iDempiere web ui service started successfully [44]

Edwin Ang

unread,
May 20, 2013, 5:05:08 AM5/20/13
to idem...@googlegroups.com
Hi Carlos,

Thanks for the feedback. That error msg is not doing any harm to the pm plugin. I am registering service for PM_ValidatorFactory and somehow it also check for ModelValidator in Fixed Assets. Will have a look whether this affect FA. 




--

Carlos Antonio Ruiz Gomez

unread,
May 25, 2013, 3:18:53 AM5/25/13
to idem...@googlegroups.com
Hi Alex,

> 3. Does iDempiere support project ID management?

Yes

> I see the AD Entry has been removed from Sys_Configurator.

No

> 4. What's current status of xx_UUID? Can we expect to use such
function to do plugin
> development instead of centralized/project ID?

Yes, UUID is the way to go for extensions, centralized ID for core
functionalities.

Regards,

Carlos Ruiz

Alex Yang

unread,
May 26, 2013, 7:31:24 AM5/26/13
to idem...@googlegroups.com
Thanks Carlos for your reply.

One more question in terms of xx_UUID:
You said it's for extension development. Could you share a little more on how to use it? 
Is it a similar a model contractor class using the UUID instead of ID, such as New MOrder(ctx, _UUID, Trx) in stead of New MOrder(ctx, ID, Trx)?

Thanks,
Alex

Nicolas Micoud

unread,
May 27, 2013, 5:24:29 AM5/27/13
to idem...@googlegroups.com
Hi,

I have made some very specific customization on trees on swingUI (360). It uses new tables and thier model classes.
To put it in idempiere zk, i had to put these model classes in the org.adempiere.model to be able to modify some core classes (MTree, ADTree...)


But how can i get the current ID of the tab for instance ?
If i understand well, i need to use UUID (instead of ID) but there is not getUU method available for GridTab ... Is this planned (as it is available in GridWindow) ?


Same problem for ProcessInfo where there is no getProcess_UU method

Thanks & regards,


Nicolas

Heng Sin Low

unread,
May 27, 2013, 6:22:13 AM5/27/13
to idem...@googlegroups.com
yeah, we don't have those get*_UU method, it will be greate if you can provide patch for that :) . For now, the only workaround is to use sql query and hardcoded uuid value.


Nicolas Micoud

unread,
May 27, 2013, 8:10:03 AM5/27/13
to idem...@googlegroups.com

Hi,

I've created http://jira.idempiere.com/browse/IDEMPIERE-959 and attach it patch.

I've tested it and nothing seems broken.

 

Regards,

 

Nicolas

You received this message because you are subscribed to a topic in the Google Groups "iDempiere" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idempiere/AwzEXVs4svc/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to idempiere+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages