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

Reply via email to