You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by ropf <ro...@itu.dk> on 2010/11/15 10:21:16 UTC

Code Dependencies in OFBiz Applications

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

Re: Code Dependencies in OFBiz Applications

Posted by David E Jones <de...@me.com>.
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