| No intent document in intent project [message #755269] | 
Mon, 07 November 2011 15:54   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi, 
 
I saw your presentation at the EclipseCON. 
 
I just installed intent, but ran into some problems. I created a new intent project, but there is no default intent document created. Nor am I able to create one, by right click -> new menu. 
 
Any ideas what might be wrong? 
 
Andy 
 |  
 |  
  | 
 | 
 | 
 | 
| Re: No intent document in intent project [message #755658 is a reply to message #755597] | 
Wed, 09 November 2011 03:49    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi Andy, 
 
the tutorial explains how to synchronize any model with your doc. To  
synchronize any other technical artifact (javaClasses, MANIFEST.MF  
files, code examples on the Internet...), Intent uses pluggable  
synchronization bridges, that are in charge of computing a model out of  
concrete artifacts like java files(see  
http://www.eclipse.org/intent/pages/transcripts/2011_EclipseConEurope/img18.html). 
 
I wrote very quickly a basic synchronization bridge that allows to  
synchronize java test projects. I'll soon work on a more generic  
synchronization bridge, that allows to document any java file. Writing a  
new synchronization bridge is quite easy, and I'll work hard to make it  
as straighforward as possible. 
 
Would you explain to me how do you want to represent java files in your  
use case ? I explain myself : I'll have to write a metamodel to  
represent a plugin with its java files. 
 
If I define the metamodel as below : 
- a JavaPlugin contains JavaClasses 
- a JavaClass contains Method 
 
You could write inside Intent : 
Section {
	Specifications of the Intent RCP Plugin
	The prupose of the Intent RCP Plugin is to... It has been defined to 
fulfill requirements definined in @see "1.2 Project requirements".
	@M
		new Plugin intentRCPPlugin {
			qualifiedName = "com.da.intent.rcp";
		};
	M@
}
Section {
	Implementation of the RCP Plugin
	We define inside the IntentRCPPlugin the SquareRoot class to represent.....
	@M
    	intentRCPPlugin {
		classes += new JavaClass SquareRoot {
			methods += new Method getChildren{};
		};
    	}
	M@
}
 
 
But you have many other ways to represent a plugin, freeying you from  
your physical structure. 
 
Let's say I add to the metamodel defined previously the following  
concepts : 
- A Software contains Features 
- A Software contains Plugin 
- Each JavaClass should be at least associated to a feature 
 
This will add many useful informations : by reading the doc you could  
say by looking this fragment : 
	SquareRoot {
		relatedFeatures += [drawSquares, persistency];
	}
 
 
You understand that the SquareRoot class has been defined to ensure 2  
different features. That's an information that could be hard to get from  
the code or javadoc, in which you're often missing the big picture. What  
is more, Intent will allows you to to plugin custom validation rules  
like "Any javaClass of my plugin should be associated to at least one  
Feature" or "Any feature should be covered by at least one Test". 
 
To have an example of how can Intent synchronize JavaCode and check  
custom validation rules, I invite you to check this demo  
http://www.eclipse.org/intent/pages/transcripts/2011_EclipseConEurope/img22.html  
.. 
 
So I'll be glad that you give me your opinion on what could be the best  
way for you to represent eclipse plugin & java files. Be sure that I  
will take this opinion into account when writing the Java  
synchronization bridge. I've got some tasks to do first (documentation  
export for example), but I'll keep you in tuch. 
 
Thanks a lot for your interest in Intent, there's a lot to do to make  
the project work in all usecases but the core & architecture have been  
wrote for this purpose :) 
 
Cheers, 
Alex
 |  
 |  
  | 
 | 
Powered by 
FUDForum. Page generated in 0.05561 seconds