Child pages
  • Using EntityModeler.app
Skip to end of metadata
Go to start of metadata

Entity Modeler app has to be able to find model dependencies (for instance, if you have cross-model relationships or use prototypes), so it has to have some way to know where these other models are. Old EOModeler used the PB.project file (but EOModeler would just happily destroy your model in this circumstance if you tried to resave the BusinessLogic model without your prototype model resolved).

If your model appears inside of an IDEA project, Entity Modeler will attempt to parse the IDEA project metadata to find dependencies. If you load from inside of Eclipse, it will just use Eclipse's runtime dependency API's to find them. If you run standalone but from inside of an Eclipse project, it will parse Eclipse project files ourselves and try to find your models. However, if you're running completely standalone with no workspace metadata, you have to tell Entity Modeler where these dependencies are located (which unfortunately it doesn't even know what the models ARE, just that it ends up with unresolved connections, which are the errors you're seeing in that dialog).

Here is some info from a post a made on the mailing list a while back:

You can also setup a .EntityModeler.modelpath file that is searched for in the following paths:

[same folder as model]/EntityModeler.modelpath
[same folder as model]/.EntityModeler.modelpath
[container folder of model]/EntityModeler.modelpath
[container folder of model]/.EntityModeler.modelpath
~/EntityModeler.modelpath
~/.EntityModeler.modelpath
~/Library/EntityModeler.modelpath
~/Library/.EntityModeler.modelpath
~/Library/Preferences/EntityModeler.modelpath
~/Library/Preferences/.EntityModeler.modelpath

Each line of the file should specify a path to search within to find dependent models, or list a path to a specific dependent model.

To be able to generate SQL and reverse engineer, you also need to setup a .EntityModeler.classpath file:

[same folder as model]/EntityModeler.classpath
[same folder as model]/.EntityModeler.classpath
[container folder of model]/EntityModeler.classpath
[container folder of model]/.EntityModeler.classpath
~/EntityModeler.classpath
~/.EntityModeler.classpath
~/Library/EntityModeler.classpath
~/Library/.EntityModeler.classpath
~/Library/Preferences/EntityModeler.classpath
~/Library/Preferences/.EntityModeler.classpath

where each line specifies the location a jar file that is required to run SQL generation (wo jars, plugin jars + any other jars required to bootstrap that process in your environment).

So for ERCoreBusinessLogic, you can put a file named EntityModeler.modelpath in your home directory (or inside the eomodeld folder) that just contains:

/Users/mschrag/Desktop/Wonder/Frameworks/Core/ERPrototypes/Resources/erprototypes.eomodeld

You could also make one that just says:

/Users/mschrag/Desktop/Wonder

and let it include EVERYTHING in Wonder (and be slower to start up because it has to scan), but you'll get some warnings because there are test models in there as well. Of course, if you have a model with no external dependencies, you can just open it (just like you could in old EOModeler).

  • No labels