You should take a look at the Artifact Info pages in WebTools, and the various
classes behind them. These are specifically made to get information about
references between artifacts.
-David
On Nov 15, 2010, at 2:21 AM, ropf wrote:
> Hi all,
>
> I am Helge, a PhD student at IT University in Copenhagen. Currently, I am
> researching software projects that use a variety of domain-specific
> languages. OFBiz applications are my primary case since it contains a lot
> of code in XML based DSLs.
>
> I am especially interessted in code dependencies. With code dependencies I
> mean pieces of code that refer to each other, e.g., using string-based
> references. Reading the 'Apache OFBiz Development' book by J.Wong and
> R.Howell I could identify a few dependency generating code constructs.
> First, I think that there are inner-language code dependencies. For
> example, an entity in one entity model may have a relation to another
> entity in a second entitymodel. Further, there are inter-language
> dependencies. For example, a method call in a Java class that refers to an
> entity name in an entitymodel via a string reference, or a widget-screen
> that refers to an entity via its name.
>
> I would like to kindly ask you to help me in identifying some more
> dependency generating code constructs. Since you, as developers, have a lot
> more insight into the domain than I have from reading the documentation. If
> there are dependency generating code constructs in any of the languages
> that are used in OFBiz applications that come to your mind, I would like to
> ask you to fill them briefly in the following schema:
>
> Language: NAME
> Construct: CODE SNIPPET
> Language: NAME2
> Construct: CODE SNIPPET2
>
>
> As an example of the information I am interested, the following gives the
> above mentioned examples in this schema.
> a)
> Language: entitymodel
> Construct: <entity entity-name="A"...>
> ...
> <relation type="one" fk-name="B_NAME" rel-entity-name="B">
> <key-map field-name="b"/>
> </relation>
>
> Language: entitymodel
> Construct: <entity entity-name="B"...>
> ...
> <prim-key field="b"/>
> ...
>
>
> b)
> Language: entitymodel
> Construct: <entity entity-name="A"...>
> <field name="a" ...></field>
> ...
> Language: Java
> Construct: .findByAnd("A" ...)
>
> c)
> Language: widget-Screen
> Construct: <screen name="B">
> ...
> <entity-one entity-name="A" ...
> ...
> Language: entitymodel
> Construct: <entity entity-name="A"...>
> <field name="a" ...></field>
> ...
>
>
>
> Thank you very much.
>
> Kind regards,
> Helge