codegen - merging problem [message #60468] |
Thu, 09 November 2006 15:43  |
Eclipse User |
|
|
|
Originally posted by: zazo7.wp.pl
Hi,
I would like to merge two files using EMF's JMerge. What is the right
way to initialize JControlModel object? When trying to run code below I
get NullPointerException due to fact that 'facadeHelper' is empty.
//...
JControlModel jControlModel = new JControlModel();
//FIXME: facadeHelper is null
jControlModel.initialize(null, config.getMergeXmlFullUri());
JMerger jMerger = new JMerger(jControlModel);
jMerger.setSourceCompilationUnit(jMerger
.createCompilationUnitForContents(emitterResult));
jMerger.setTargetCompilationUnit(jMerger
.createCompilationUnitForInputStream(targetFile
.getContents(true)));
String oldContents = jMerger.getTargetCompilationUnit().getContents();
jMerger.merge();
//....
I've been looking for some examples how to solve this. The only one I've
found looks like this:
//...
String uri =
Platform.getPlugin(PLUGIN_ID).getDescriptor().getInstallURL( ).toString();
uri += "templates/merge.xml";
JMerger jmerger = new JMerger();
JControlModel controlModel = new JControlModel( uri );
jmerger.setControlModel( controlModel );
//...
However, I belive, this one refers to the older version of EMF :/
Thanks for any help.
Regards
Tomasz
|
|
|
Re: codegen - merging problem [message #60488 is a reply to message #60468] |
Thu, 09 November 2006 16:03  |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
This is a multi-part message in MIME format.
--------------070903060701090901010501
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Tomasz,
In org.eclipse.emf.codegen.merge.java.JMerger there's code like this:
/**
* Utilitiy for headless operations.
*
* @param mergeXML
* @param sourceURI
* @param targetURI
* @return the merged content
*/
public String execute(Monitor monitor, String[] arguments)
{
String mergeXML = arguments[0];
String sourceURI = arguments[1];
String targetURI = arguments[2];
String facadeHelperClass = arguments.length > 3 ? arguments[3] :
DEFAULT_FACADE_HELPER_CLASS;
// Create the options model.
//
controlModel = new JControlModel();
controlModel.initialize(CodeGenUtil.instantiateFacadeHelper( facadeHelperClass),
mergeXML);
We're just fine tuning the AST-based merger
" org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r " which
will support merging Java 5.0 syntax, so you could try that as an
argument for the facade helper as well (if you are using 2.3M3 which
will be available later today and you want to be a guinea pig).
Tomasz Zarna wrote:
> Hi,
>
> I would like to merge two files using EMF's JMerge. What is the right
> way to initialize JControlModel object? When trying to run code below I
> get NullPointerException due to fact that 'facadeHelper' is empty.
>
> //...
> JControlModel jControlModel = new JControlModel();
> //FIXME: facadeHelper is null
> jControlModel.initialize(null, config.getMergeXmlFullUri());
> JMerger jMerger = new JMerger(jControlModel);
> jMerger.setSourceCompilationUnit(jMerger
> .createCompilationUnitForContents(emitterResult));
> jMerger.setTargetCompilationUnit(jMerger
> .createCompilationUnitForInputStream(targetFile
> .getContents(true)));
> String oldContents = jMerger.getTargetCompilationUnit().getContents();
>
> jMerger.merge();
> //....
>
>
>
> I've been looking for some examples how to solve this. The only one I've
> found looks like this:
>
> //...
> String uri =
> Platform.getPlugin(PLUGIN_ID).getDescriptor().getInstallURL( ).toString();
> uri += "templates/merge.xml";
>
> JMerger jmerger = new JMerger();
> JControlModel controlModel = new JControlModel( uri );
> jmerger.setControlModel( controlModel );
> //...
>
> However, I belive, this one refers to the older version of EMF :/
>
> Thanks for any help.
>
> Regards
>
> Tomasz
--------------070903060701090901010501
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Tomasz,<br>
<br>
In org.eclipse.emf.codegen.merge.java.JMerger there's code like this:<br>
<blockquote><small> /**</small><br>
<small> * Utilitiy for headless operations.</small><br>
<small> * </small><br>
<small> * @param mergeXML</small><br>
<small> * @param sourceURI</small><br>
<small> * @param targetURI</small><br>
<small> * @return the merged content</small><br>
<small> */</small><br>
<small> public String execute(Monitor monitor, String[] arguments)</small><br>
<small> {</small><br>
<small> String mergeXML = arguments[0];</small><br>
<small> String sourceURI = arguments[1];</small><br>
<small> String targetURI = arguments[2];</small><br>
<small> String facadeHelperClass = arguments.length > 3 ?
arguments[3] : DEFAULT_FACADE_HELPER_CLASS;</small><br>
<small> </small><br>
<small> // Create the options model.</small><br>
<small> //</small><br>
<small> controlModel = new JControlModel();</small><br>
<small>
controlModel.initialize(CodeGenUtil.instantiateFacadeHelper( facadeHelperClass),
mergeXML);</small><br>
</blockquote>
We're just fine tuning the AST-based merger
" org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r " which
will support merging Java 5.0 syntax, so you could try that as an
argument for the facade helper as well (if you are using 2.3M3 which
will be available later today and you want to be a guinea pig).<br>
<br>
<br>
Tomasz Zarna wrote:
<blockquote cite="midej03sl$v41$1@utils.eclipse.org" type="cite">Hi,
<br>
<br>
I would like to merge two files using EMF's JMerge. What is the right
<br>
way to initialize JControlModel object? When trying to run code below I
<br>
get NullPointerException due to fact that 'facadeHelper' is empty.
<br>
<br>
//...
<br>
JControlModel jControlModel = new JControlModel();
<br>
//FIXME: facadeHelper is null
<br>
jControlModel.initialize(null, config.getMergeXmlFullUri());
<br>
JMerger jMerger = new JMerger(jControlModel);
<br>
jMerger.setSourceCompilationUnit(jMerger
<br>
.createCompilationUnitForContents(emitterResult));
<br>
jMerger.setTargetCompilationUnit(jMerger
<br>
.createCompilationUnitForInputStream(targetFile
<br>
.getContents(true)));
<br>
String oldContents = jMerger.getTargetCompilationUnit().getContents();
<br>
<br>
jMerger.merge();
<br>
//....
<br>
<br>
<br>
<br>
I've been looking for some examples how to solve this. The only one
I've
<br>
found looks like this:
<br>
<br>
//...
<br>
String uri =
<br>
Platform.getPlugin(PLUGIN_ID).getDescriptor().getInstallURL( ).toString();
<br>
uri += "templates/merge.xml";
<br>
<br>
JMerger jmerger = new JMerger();
<br>
JControlModel controlModel = new JControlModel( uri );
<br>
jmerger.setControlModel( controlModel );
<br>
//...
<br>
<br>
However, I belive, this one refers to the older version of EMF :/
<br>
<br>
Thanks for any help.
<br>
<br>
Regards
<br>
<br>
Tomasz
<br>
</blockquote>
<br>
</body>
</html>
--------------070903060701090901010501--
|
|
|
Re: codegen - merging problem [message #595356 is a reply to message #60468] |
Thu, 09 November 2006 16:03  |
Eclipse User |
|
|
|
This is a multi-part message in MIME format.
--------------070903060701090901010501
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Tomasz,
In org.eclipse.emf.codegen.merge.java.JMerger there's code like this:
/**
* Utilitiy for headless operations.
*
* @param mergeXML
* @param sourceURI
* @param targetURI
* @return the merged content
*/
public String execute(Monitor monitor, String[] arguments)
{
String mergeXML = arguments[0];
String sourceURI = arguments[1];
String targetURI = arguments[2];
String facadeHelperClass = arguments.length > 3 ? arguments[3] :
DEFAULT_FACADE_HELPER_CLASS;
// Create the options model.
//
controlModel = new JControlModel();
controlModel.initialize(CodeGenUtil.instantiateFacadeHelper( facadeHelperClass),
mergeXML);
We're just fine tuning the AST-based merger
" org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r " which
will support merging Java 5.0 syntax, so you could try that as an
argument for the facade helper as well (if you are using 2.3M3 which
will be available later today and you want to be a guinea pig).
Tomasz Zarna wrote:
> Hi,
>
> I would like to merge two files using EMF's JMerge. What is the right
> way to initialize JControlModel object? When trying to run code below I
> get NullPointerException due to fact that 'facadeHelper' is empty.
>
> //...
> JControlModel jControlModel = new JControlModel();
> //FIXME: facadeHelper is null
> jControlModel.initialize(null, config.getMergeXmlFullUri());
> JMerger jMerger = new JMerger(jControlModel);
> jMerger.setSourceCompilationUnit(jMerger
> .createCompilationUnitForContents(emitterResult));
> jMerger.setTargetCompilationUnit(jMerger
> .createCompilationUnitForInputStream(targetFile
> .getContents(true)));
> String oldContents = jMerger.getTargetCompilationUnit().getContents();
>
> jMerger.merge();
> //....
>
>
>
> I've been looking for some examples how to solve this. The only one I've
> found looks like this:
>
> //...
> String uri =
> Platform.getPlugin(PLUGIN_ID).getDescriptor().getInstallURL( ).toString();
> uri += "templates/merge.xml";
>
> JMerger jmerger = new JMerger();
> JControlModel controlModel = new JControlModel( uri );
> jmerger.setControlModel( controlModel );
> //...
>
> However, I belive, this one refers to the older version of EMF :/
>
> Thanks for any help.
>
> Regards
>
> Tomasz
--------------070903060701090901010501
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Tomasz,<br>
<br>
In org.eclipse.emf.codegen.merge.java.JMerger there's code like this:<br>
<blockquote><small> /**</small><br>
<small> * Utilitiy for headless operations.</small><br>
<small> * </small><br>
<small> * @param mergeXML</small><br>
<small> * @param sourceURI</small><br>
<small> * @param targetURI</small><br>
<small> * @return the merged content</small><br>
<small> */</small><br>
<small> public String execute(Monitor monitor, String[] arguments)</small><br>
<small> {</small><br>
<small> String mergeXML = arguments[0];</small><br>
<small> String sourceURI = arguments[1];</small><br>
<small> String targetURI = arguments[2];</small><br>
<small> String facadeHelperClass = arguments.length > 3 ?
arguments[3] : DEFAULT_FACADE_HELPER_CLASS;</small><br>
<small> </small><br>
<small> // Create the options model.</small><br>
<small> //</small><br>
<small> controlModel = new JControlModel();</small><br>
<small>
controlModel.initialize(CodeGenUtil.instantiateFacadeHelper( facadeHelperClass),
mergeXML);</small><br>
</blockquote>
We're just fine tuning the AST-based merger
" org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r " which
will support merging Java 5.0 syntax, so you could try that as an
argument for the facade helper as well (if you are using 2.3M3 which
will be available later today and you want to be a guinea pig).<br>
<br>
<br>
Tomasz Zarna wrote:
<blockquote cite="midej03sl$v41$1@utils.eclipse.org" type="cite">Hi,
<br>
<br>
I would like to merge two files using EMF's JMerge. What is the right
<br>
way to initialize JControlModel object? When trying to run code below I
<br>
get NullPointerException due to fact that 'facadeHelper' is empty.
<br>
<br>
//...
<br>
JControlModel jControlModel = new JControlModel();
<br>
//FIXME: facadeHelper is null
<br>
jControlModel.initialize(null, config.getMergeXmlFullUri());
<br>
JMerger jMerger = new JMerger(jControlModel);
<br>
jMerger.setSourceCompilationUnit(jMerger
<br>
.createCompilationUnitForContents(emitterResult));
<br>
jMerger.setTargetCompilationUnit(jMerger
<br>
.createCompilationUnitForInputStream(targetFile
<br>
.getContents(true)));
<br>
String oldContents = jMerger.getTargetCompilationUnit().getContents();
<br>
<br>
jMerger.merge();
<br>
//....
<br>
<br>
<br>
<br>
I've been looking for some examples how to solve this. The only one
I've
<br>
found looks like this:
<br>
<br>
//...
<br>
String uri =
<br>
Platform.getPlugin(PLUGIN_ID).getDescriptor().getInstallURL( ).toString();
<br>
uri += "templates/merge.xml";
<br>
<br>
JMerger jmerger = new JMerger();
<br>
JControlModel controlModel = new JControlModel( uri );
<br>
jmerger.setControlModel( controlModel );
<br>
//...
<br>
<br>
However, I belive, this one refers to the older version of EMF :/
<br>
<br>
Thanks for any help.
<br>
<br>
Regards
<br>
<br>
Tomasz
<br>
</blockquote>
<br>
</body>
</html>
--------------070903060701090901010501--
|
|
|
Powered by
FUDForum. Page generated in 0.05854 seconds