Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.product/bnf.product
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.product/bnf.product	(revision 83)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.product/bnf.product	(revision 84)
@@ -11,5 +11,5 @@
    </launcherArgs>
 
-   <launcher name="BNF">
+   <launcher name="BNF Tools">
       <solaris/>
       <win useIco="false">
@@ -31,12 +31,17 @@
       <plugin id="javax.annotation"/>
       <plugin id="javax.inject"/>
+      <plugin id="javax.servlet"/>
       <plugin id="javax.xml"/>
+      <plugin id="lpg.runtime.java"/>
       <plugin id="org.antlr.runtime"/>
+      <plugin id="org.apache.ant"/>
       <plugin id="org.apache.batik.css"/>
       <plugin id="org.apache.batik.util"/>
       <plugin id="org.apache.batik.util.gui"/>
+      <plugin id="org.apache.commons.cli"/>
       <plugin id="org.apache.commons.lang"/>
       <plugin id="org.apache.commons.logging"/>
       <plugin id="org.apache.log4j"/>
+      <plugin id="org.eclipse.ant.core"/>
       <plugin id="org.eclipse.compare"/>
       <plugin id="org.eclipse.compare.core"/>
@@ -78,11 +83,21 @@
       <plugin id="org.eclipse.e4.ui.workbench.swt"/>
       <plugin id="org.eclipse.e4.ui.workbench3"/>
+      <plugin id="org.eclipse.emf.codegen"/>
+      <plugin id="org.eclipse.emf.codegen.ecore"/>
       <plugin id="org.eclipse.emf.common"/>
       <plugin id="org.eclipse.emf.common.ui"/>
       <plugin id="org.eclipse.emf.ecore"/>
       <plugin id="org.eclipse.emf.ecore.change"/>
+      <plugin id="org.eclipse.emf.ecore.edit"/>
+      <plugin id="org.eclipse.emf.ecore.editor"/>
       <plugin id="org.eclipse.emf.ecore.xmi"/>
       <plugin id="org.eclipse.emf.edit"/>
       <plugin id="org.eclipse.emf.edit.ui"/>
+      <plugin id="org.eclipse.emf.mwe.core"/>
+      <plugin id="org.eclipse.emf.mwe.utils"/>
+      <plugin id="org.eclipse.emf.mwe2.language"/>
+      <plugin id="org.eclipse.emf.mwe2.launch"/>
+      <plugin id="org.eclipse.emf.mwe2.lib"/>
+      <plugin id="org.eclipse.emf.mwe2.runtime"/>
       <plugin id="org.eclipse.equinox.app"/>
       <plugin id="org.eclipse.equinox.bidi"/>
@@ -101,4 +116,5 @@
       <plugin id="org.eclipse.equinox.util"/>
       <plugin id="org.eclipse.help"/>
+      <plugin id="org.eclipse.jdt.annotation"/>
       <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/>
       <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/>
@@ -106,4 +122,5 @@
       <plugin id="org.eclipse.jdt.core.manipulation"/>
       <plugin id="org.eclipse.jdt.debug"/>
+      <plugin id="org.eclipse.jdt.debug.ui"/>
       <plugin id="org.eclipse.jdt.launching"/>
       <plugin id="org.eclipse.jdt.ui"/>
@@ -113,4 +130,7 @@
       <plugin id="org.eclipse.ltk.core.refactoring"/>
       <plugin id="org.eclipse.ltk.ui.refactoring"/>
+      <plugin id="org.eclipse.ocl"/>
+      <plugin id="org.eclipse.ocl.common"/>
+      <plugin id="org.eclipse.ocl.ecore"/>
       <plugin id="org.eclipse.osgi"/>
       <plugin id="org.eclipse.osgi.services"/>
@@ -134,11 +154,18 @@
       <plugin id="org.eclipse.ui.workbench"/>
       <plugin id="org.eclipse.ui.workbench.texteditor"/>
+      <plugin id="org.eclipse.xpand"/>
+      <plugin id="org.eclipse.xtend"/>
       <plugin id="org.eclipse.xtend.lib"/>
+      <plugin id="org.eclipse.xtend.typesystem.emf"/>
       <plugin id="org.eclipse.xtext"/>
       <plugin id="org.eclipse.xtext.builder"/>
       <plugin id="org.eclipse.xtext.common.types"/>
+      <plugin id="org.eclipse.xtext.common.types.edit"/>
       <plugin id="org.eclipse.xtext.common.types.ui"/>
+      <plugin id="org.eclipse.xtext.ecore"/>
+      <plugin id="org.eclipse.xtext.generator"/>
       <plugin id="org.eclipse.xtext.junit4"/>
       <plugin id="org.eclipse.xtext.logging" fragment="true"/>
+      <plugin id="org.eclipse.xtext.smap"/>
       <plugin id="org.eclipse.xtext.ui"/>
       <plugin id="org.eclipse.xtext.ui.codetemplates"/>
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/META-INF/MANIFEST.MF
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/META-INF/MANIFEST.MF	(revision 83)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/META-INF/MANIFEST.MF	(revision 84)
@@ -16,11 +16,28 @@
  org.eclipse.xtext.common.types.ui,
  org.eclipse.xtext.ui.codetemplates.ui,
- org.eclipse.compare
-Import-Package: org.apache.log4j,
+ org.eclipse.compare,
+ org.eclipse.core.resources,
+ org.eclipse.ui.workbench,
+ org.eclipse.equinox.registry,
+ org.eclipse.emf.common,
+ com.google.inject,
+ org.eclipse.xtext
+Import-Package: com.ibm.icu.util;version="50.1.1",
+ org.apache.log4j,
+ org.eclipse.xtext.generator,
  org.eclipse.xtext.xbase.lib
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: de.ugoe.cs.swe.bnftools.ui.quickfix,
- de.ugoe.cs.swe.bnftools.ui.contentassist,
- de.ugoe.cs.swe.bnftools.ui.contentassist.antlr,
- de.ugoe.cs.swe.bnftools.ui.internal
+Export-Package: de.ugoe.cs.swe.bnftools.ui.contentassist,
+ de.ugoe.cs.swe.bnftools.ui.contentassist.antlr;
+  uses:="org.eclipse.xtext,
+   de.ugoe.cs.swe.bnftools.services,
+   org.eclipse.xtext.ui.editor.contentassist.antlr.internal,
+   org.eclipse.xtext.ui.codetemplates.ui.partialEditing,
+   org.eclipse.xtext.ui.editor.contentassist.antlr,
+   de.ugoe.cs.swe.bnftools.ui.contentassist.antlr.internal",
+ de.ugoe.cs.swe.bnftools.ui.handler;uses:="org.eclipse.xtext.ui.resource,org.eclipse.xtext.resource,org.eclipse.core.commands",
+ de.ugoe.cs.swe.bnftools.ui.internal;uses:="org.eclipse.ui.plugin,org.osgi.framework,com.google.inject",
+ de.ugoe.cs.swe.bnftools.ui.quickfix;uses:="org.eclipse.xtext.ui.editor.quickfix,org.eclipse.xtext.validation"
 Bundle-Activator: de.ugoe.cs.swe.bnftools.ui.internal.EbnfActivator
+Bundle-ClassPath: src/,
+ .
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/build.properties
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/build.properties	(revision 83)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/build.properties	(revision 84)
@@ -4,4 +4,4 @@
 bin.includes = META-INF/,\
                .,\
-               plugin.xml
-src.includes = .settings/
+               plugin.xml,\
+               src/
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandler.java
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandler.java	(revision 83)
+++ 	(revision )
@@ -1,144 +1,0 @@
-package de.ugoe.cs.swe.bnftools.ui.handler;
-
-import java.io.File;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xml.type.SimpleAnyType;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
-import org.eclipse.xtext.generator.IGenerator;
-import org.eclipse.xtext.generator.OutputConfiguration;
-import org.eclipse.xtext.resource.IResourceDescriptions;
-import org.eclipse.xtext.ui.resource.IResourceSetProvider;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class BT_GenerationHandler  extends AbstractHandler implements IHandler {
-
-	@Inject
-    private IGenerator generator;
- 
-    @Inject
-    private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
-     
-    @Inject
-    IResourceDescriptions resourceDescriptions;
-     
-    @Inject
-    IResourceSetProvider resourceSetProvider;
-     
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-    	 
-    	  //used to save the command name (defined in extensions)
-    	  String mode = "";
-    	 
-    	  try {
-    	     mode = event.getCommand().getName();
-    	  } catch (NotDefinedException e1) {
-    	  // TODO Auto-generated catch block
-    	    e1.printStackTrace();
-    	  }
-    	 
-    	  // stuff to get the workbench and current file
-    	  IWorkbench wb = PlatformUI.getWorkbench();
-    	  IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
-    	  IWorkbenchPage page = window.getActivePage();
-    	  IEditorPart editor = page.getActiveEditor();
-    	  IEditorInput input = editor.getEditorInput();
-    	  IPath path = ((FileEditorInput) input).getPath();
-    	 
-    	  String name = path.toString();
-    	  File myfile = new File(name);
-    	 
-    	  IWorkspace workspace= ResourcesPlugin.getWorkspace();
-    	  IPath location= Path.fromOSString(myfile.getAbsolutePath());
-    	  IFile file= workspace.getRoot().getFileForLocation(location);
-    	 
-    	  IProject project = file.getProject();
-    	  IFolder srcGenFolder = project.getFolder("src-gen");
-    	  if (!srcGenFolder.exists()) {
-    	    try {
-    	      srcGenFolder.create(true, true, new NullProgressMonitor());
-    	    } catch (CoreException e) {
-    	    return null;
-    	    }
-    	  }
-    	 
-    	  final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
-    	 
-    	  fsa.setProject(project);
-    	 
-    	  //same stuff
-    	  //fsa.setOutputPath("src-gen");
-    	  fsa.setOutputPath(srcGenFolder.getName().toString());
-    	 
-    	  fsa.setMonitor(new NullProgressMonitor());
-    	  Map<String, OutputConfiguration> teste = fsa.getOutputConfigurations();
-    	 
-    	  Iterator<Entry<String, OutputConfiguration>> it = teste.entrySet().iterator();
-    	 
-    	  //make a new Outputconfiguration <- needed
-    	  while(it.hasNext()){
-    	 
-    	    Entry<String, OutputConfiguration> next = it.next();
-    	    OutputConfiguration out = next.getValue();
-    	    out.isOverrideExistingResources();
-    	    out.setCreateOutputDirectory(true); // <--- do not touch this
-    	 
-    	  }
-    	  // ----->
-    	 
-    	  URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
-    	  ResourceSet rs = resourceSetProvider.get(project);
-    	  Resource r = rs.getResource(uri, true);
-    	 
-    	  // to pass a String inside a resource i have to wrap it in a EOBject
-    	  SimpleAnyType wrapper = XMLTypeFactory.eINSTANCE.createSimpleAnyType();
-    	  wrapper.setInstanceType(EcorePackage.eINSTANCE.getEString());
-    	  wrapper.setValue(mode);
-    	  //
-    	 
-    	  // add string to resource
-    	  r.getContents().add(wrapper);
-    	 
-    	  generator.doGenerate(r, fsa);
-    	 
-    	  return null;
-    	 
-    	}
-    
-    @Override
-    public boolean isEnabled() {
-        return true;
-    }
- 
-}
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandlerPDF.java
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandlerPDF.java	(revision 84)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandlerPDF.java	(revision 84)
@@ -0,0 +1,153 @@
+package de.ugoe.cs.swe.bnftools.ui.handler;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xml.type.SimpleAnyType;
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.generator.OutputConfiguration;
+import org.eclipse.xtext.resource.IResourceDescriptions;
+import org.eclipse.xtext.ui.resource.IResourceSetProvider;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+import de.ugoe.cs.swe.bnftools.generator.EbnfGenerator;
+
+public class BT_GenerationHandlerPDF  extends AbstractHandler implements IHandler {
+
+	@Inject
+    private IGenerator generator;
+ 
+    @Inject
+    private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
+     
+    @Inject
+    IResourceDescriptions resourceDescriptions;
+     
+    @Inject
+    IResourceSetProvider resourceSetProvider;
+     
+   
+    
+    @Override
+    public boolean isEnabled() {
+        return true;
+    }
+
+
+
+    
+    public Object execute(ExecutionEvent event) throws ExecutionException {
+  	  MessageDialog.openInformation(HandlerUtil.getActiveShell(event),
+		        "Hello", "Generating PDF");
+	
+  	  
+    	  //used to save the command name (defined in extensions)
+    	  String mode = "";
+    	 
+    	  try {
+    	     mode = event.getCommand().getName();
+    	  } catch (NotDefinedException e1) {
+    	    e1.printStackTrace();
+    	  }
+    	 
+    	  // stuff to get the workbench and current file
+    	  IWorkbench wb = PlatformUI.getWorkbench();
+    	  IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
+    	  IWorkbenchPage page = window.getActivePage();
+    	  IEditorPart editor = page.getActiveEditor();
+    	  IEditorInput input = editor.getEditorInput();
+    	  IPath path = ((FileEditorInput) input).getPath();
+    	 
+    	  String name = path.toString();
+    	  File myfile = new File(name);
+    	 
+    	  IWorkspace workspace= ResourcesPlugin.getWorkspace();
+    	  IPath location= Path.fromOSString(myfile.getAbsolutePath());
+    	  IFile file= workspace.getRoot().getFileForLocation(location);
+    	 
+    	  IProject project = file.getProject();
+    	  IFolder srcGenFolder = project.getFolder("src-gen");
+    	  if (!srcGenFolder.exists()) {
+    	    try {
+    	      srcGenFolder.create(true, true, new NullProgressMonitor());
+    	    } catch (CoreException e) {
+    	    return null;
+    	    }
+    	  }
+    	 
+    	  final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
+    	 
+    	  fsa.setProject(project);
+    	 
+    	  //same stuff
+    	  //fsa.setOutputPath("src-gen");
+    	  fsa.setOutputPath(srcGenFolder.getName().toString());
+    	 
+    	  fsa.setMonitor(new NullProgressMonitor());
+    	  Map<String, OutputConfiguration> teste = fsa.getOutputConfigurations();
+    	 
+    	  Iterator<Entry<String, OutputConfiguration>> it = teste.entrySet().iterator();
+    	 
+    	  //make a new Outputconfiguration <- needed
+    	  while(it.hasNext()){
+    	 
+    	    Entry<String, OutputConfiguration> next = it.next();
+    	    OutputConfiguration out = next.getValue();
+    	    out.isOverrideExistingResources();
+    	    out.setCreateOutputDirectory(true); // <--- do not touch this
+    	 
+    	  }
+    	  // ----->
+    	 
+    	  URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+    	  ResourceSet rs = resourceSetProvider.get(project);
+    	  Resource r = rs.getResource(uri, true);
+    	 
+    	  // to pass a String inside a resource i have to wrap it in a EOBject
+    	  SimpleAnyType wrapper = XMLTypeFactory.eINSTANCE.createSimpleAnyType();
+    	  wrapper.setInstanceType(EcorePackage.eINSTANCE.getEString());
+    	  wrapper.setValue(mode);
+    	  //
+    	  EbnfGenerator gen = (EbnfGenerator)generator;
+    	  // add string to resource
+    	  r.getContents().add(wrapper);
+    	  gen.doGenerate(r, fsa,false);
+    	  //generator.doGenerate(r, fsa);
+
+    	  return null;
+    	 
+    	}
+}
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandlerRTF.java
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandlerRTF.java	(revision 84)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/BT_GenerationHandlerRTF.java	(revision 84)
@@ -0,0 +1,152 @@
+package de.ugoe.cs.swe.bnftools.ui.handler;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xml.type.SimpleAnyType;
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.generator.OutputConfiguration;
+import org.eclipse.xtext.resource.IResourceDescriptions;
+import org.eclipse.xtext.ui.resource.IResourceSetProvider;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+import de.ugoe.cs.swe.bnftools.generator.EbnfGenerator;
+
+public class BT_GenerationHandlerRTF  extends AbstractHandler implements IHandler {
+
+	@Inject
+    private IGenerator generator;
+ 
+    @Inject
+    private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
+     
+    @Inject
+    IResourceDescriptions resourceDescriptions;
+     
+    @Inject
+    IResourceSetProvider resourceSetProvider;
+     
+   
+    
+    @Override
+    public boolean isEnabled() {
+        return true;
+    }
+
+
+
+    
+    public Object execute(ExecutionEvent event) throws ExecutionException {
+  	  MessageDialog.openInformation(HandlerUtil.getActiveShell(event),
+		        "Hello", "Generating RTF");
+    	  //used to save the command name (defined in extensions)
+    	  String mode = "";
+    	 
+    	  try {
+    	     mode = event.getCommand().getName();
+    	  } catch (NotDefinedException e1) {
+    	  // TODO Auto-generated catch block
+    	    e1.printStackTrace();
+    	  }
+    	 
+    	  // stuff to get the workbench and current file
+    	  IWorkbench wb = PlatformUI.getWorkbench();
+    	  IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
+    	  IWorkbenchPage page = window.getActivePage();
+    	  IEditorPart editor = page.getActiveEditor();
+    	  IEditorInput input = editor.getEditorInput();
+    	  IPath path = ((FileEditorInput) input).getPath();
+    	 
+    	  String name = path.toString();
+    	  File myfile = new File(name);
+    	 
+    	  IWorkspace workspace= ResourcesPlugin.getWorkspace();
+    	  IPath location= Path.fromOSString(myfile.getAbsolutePath());
+    	  IFile file= workspace.getRoot().getFileForLocation(location);
+    	 
+    	  IProject project = file.getProject();
+    	  IFolder srcGenFolder = project.getFolder("src-gen");
+    	  if (!srcGenFolder.exists()) {
+    	    try {
+    	      srcGenFolder.create(true, true, new NullProgressMonitor());
+    	    } catch (CoreException e) {
+    	    return null;
+    	    }
+    	  }
+    	 
+    	  final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
+    	 
+    	  fsa.setProject(project);
+    	 
+    	  //same stuff
+    	  //fsa.setOutputPath("src-gen");
+    	  fsa.setOutputPath(srcGenFolder.getName().toString());
+    	 
+    	  fsa.setMonitor(new NullProgressMonitor());
+    	  Map<String, OutputConfiguration> teste = fsa.getOutputConfigurations();
+    	 
+    	  Iterator<Entry<String, OutputConfiguration>> it = teste.entrySet().iterator();
+    	 
+    	  //make a new Outputconfiguration <- needed
+    	  while(it.hasNext()){
+    	 
+    	    Entry<String, OutputConfiguration> next = it.next();
+    	    OutputConfiguration out = next.getValue();
+    	    out.isOverrideExistingResources();
+    	    out.setCreateOutputDirectory(true); // <--- do not touch this
+    	 
+    	  }
+    	  // ----->
+    	 
+    	  URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+    	  ResourceSet rs = resourceSetProvider.get(project);
+    	  Resource r = rs.getResource(uri, true);
+    	 
+    	  // to pass a String inside a resource i have to wrap it in a EOBject
+    	  SimpleAnyType wrapper = XMLTypeFactory.eINSTANCE.createSimpleAnyType();
+    	  wrapper.setInstanceType(EcorePackage.eINSTANCE.getEString());
+    	  wrapper.setValue(mode);
+    	  //
+    	  EbnfGenerator gen = (EbnfGenerator)generator;
+    	  // add string to resource
+    	  r.getContents().add(wrapper);
+    	  gen.doGenerate(r, fsa,true);
+    	  //generator.doGenerate(r, fsa);
+    	 
+    	  return null;
+    	 
+    	}
+}
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/GenerationHandler.java
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/GenerationHandler.java	(revision 83)
+++ 	(revision )
@@ -1,124 +1,0 @@
-package de.ugoe.cs.swe.bnftools.ui.handler;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xml.type.SimpleAnyType;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
-import org.eclipse.xtext.generator.IGenerator;
-import org.eclipse.xtext.generator.OutputConfiguration;
-import org.eclipse.xtext.resource.IResourceDescriptions;
-import org.eclipse.xtext.ui.resource.IResourceSetProvider;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class GenerationHandler extends AbstractHandler implements IHandler {
-    
-    @Inject
-    private IGenerator generator;
- 
-    @Inject
-    private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
-     
-    @Inject
-    IResourceDescriptions resourceDescriptions;
-     
-    @Inject
-    IResourceSetProvider resourceSetProvider;
-     
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-    	String mode = "";
- 
-    	try {
-			mode = event.getCommand().getName();
-		} catch (NotDefinedException e1) {
-			// catch block
-			e1.printStackTrace();
-		}
-    		 
-
-    	 
-        ISelection selection = HandlerUtil.getCurrentSelection(event);
-        if (selection instanceof IStructuredSelection) {
-            IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-            Object firstElement = structuredSelection.getFirstElement();
-            if (firstElement instanceof IFile) {
-                IFile file = (IFile) firstElement;
-                IProject project = file.getProject();
-                IFolder srcGenFolder = project.getFolder("src-gen");
-                if (!srcGenFolder.exists()) {
-                    try {
-                        srcGenFolder.create(true, true,
-                                new NullProgressMonitor());
-                    } catch (CoreException e) {
-                        return null;
-                    }
-                }
- 
-                final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
-                fsa.setOutputPath(srcGenFolder.getFullPath().toString());
-                
-                //complete the filesystemaccess 
-                fsa.setMonitor(new NullProgressMonitor());
-                Map<String, OutputConfiguration> teste = fsa.getOutputConfigurations();
-        		
-                Iterator<Entry<String, OutputConfiguration>> it = teste.entrySet().iterator();
-                
-                while(it.hasNext()){
-                	 
-                    Entry<String, OutputConfiguration> next = it.next();
-                    OutputConfiguration out = next.getValue();
-                    out.isOverrideExistingResources();
-                    out.setCreateOutputDirectory(true); // <--- do not touch this
-                 
-                  }
-                  // ----->
-                
-                URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
-                ResourceSet rs = resourceSetProvider.get(project);
-                Resource r = rs.getResource(uri, true);
-                
-                // to pass a String inside a resource i have to wrap it in a EOBject
-                SimpleAnyType wrapper = XMLTypeFactory.eINSTANCE.createSimpleAnyType();
-                wrapper.setInstanceType(EcorePackage.eINSTANCE.getEString());
-                wrapper.setValue(mode);
-                //
-               
-                // add string to resource
-                r.getContents().add(wrapper);
-            
-                generator.doGenerate(r, fsa);
-                 
-                
-            }
-        }
-        return null;
-    }
- 
-    @Override
-    public boolean isEnabled() {
-        return true;
-    }
- 
-}
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/labeling/EbnfLabelProvider.xtend
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/labeling/EbnfLabelProvider.xtend	(revision 83)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/labeling/EbnfLabelProvider.xtend	(revision 84)
@@ -5,12 +5,13 @@
 
 import com.google.inject.Inject
+import de.ugoe.cs.swe.bnftools.ebnf.Atom
+import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry
+import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList
 import de.ugoe.cs.swe.bnftools.ebnf.ImportSection
 import de.ugoe.cs.swe.bnftools.ebnf.Rule
-import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry
-import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList
 import de.ugoe.cs.swe.bnftools.ebnf.SingleDefinition
 import de.ugoe.cs.swe.bnftools.ebnf.Term
-import de.ugoe.cs.swe.bnftools.ebnf.Atom
-import de.ugoe.cs.swe.bnftools.ebnf.StringRule
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
 
 /**
@@ -19,8 +20,8 @@
  * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
  */
-class EbnfLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
+class EbnfLabelProvider extends DefaultEObjectLabelProvider {
 
 	@Inject
-	new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+	new(AdapterFactoryLabelProvider delegate) {
 		super(delegate);
 	}
@@ -31,9 +32,9 @@
 	
 	def text(BnfEntry entry){
-		'BnfEntry'
-	}
+		'Rule: '+entry.rule.name
+			}
 	
 	def text(Rule rule){
-		'Rule: '+rule.name
+		
 	}
 	
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/EbnfGenerator.xtend
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/EbnfGenerator.xtend	(revision 83)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/EbnfGenerator.xtend	(revision 84)
@@ -4,24 +4,21 @@
 package de.ugoe.cs.swe.bnftools.generator
 
+import de.ugoe.cs.swe.bnftools.ebnf.Atom
+import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry
+import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList
+import de.ugoe.cs.swe.bnftools.ebnf.EtsiBnf
+import de.ugoe.cs.swe.bnftools.ebnf.GroupedSequence
+import de.ugoe.cs.swe.bnftools.ebnf.OptionalSequence
+import de.ugoe.cs.swe.bnftools.ebnf.RepeatedSequence
+import de.ugoe.cs.swe.bnftools.ebnf.Rule
+import de.ugoe.cs.swe.bnftools.ebnf.RuleReference
+import de.ugoe.cs.swe.bnftools.ebnf.SingleDefinition
+import de.ugoe.cs.swe.bnftools.ebnf.StringRule
+import de.ugoe.cs.swe.bnftools.ebnf.Term
+import java.io.File
 import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.xtext.generator.IFileSystemAccess
+import org.eclipse.xtext.generator.IFileSystemAccessExtension2
 import org.eclipse.xtext.generator.IGenerator
-import org.eclipse.xtext.generator.IFileSystemAccess
-import de.ugoe.cs.swe.bnftools.ebnf.EtsiBnf
-import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry
-import de.ugoe.cs.swe.bnftools.ebnf.Rule
-import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList
-import de.ugoe.cs.swe.bnftools.ebnf.SingleDefinition
-import de.ugoe.cs.swe.bnftools.ebnf.Term
-import de.ugoe.cs.swe.bnftools.ebnf.GroupedSequence
-import de.ugoe.cs.swe.bnftools.ebnf.Atom
-import de.ugoe.cs.swe.bnftools.ebnf.RepeatedSequence
-import de.ugoe.cs.swe.bnftools.ebnf.OptionalSequence
-import de.ugoe.cs.swe.bnftools.ebnf.RuleReference
-import de.ugoe.cs.swe.bnftools.ebnf.StringRule
-import java.io.File
-import org.eclipse.xtext.generator.IFileSystemAccessExtension2
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.xtext.generator.IFileSystemAccessExtension
-import java.io.PrintWriter
 
 /**
@@ -32,6 +29,6 @@
 class EbnfGenerator implements IGenerator {
 
-	//generation of the xsl-file
-	override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+
+ def void doGenerate(Resource resource, IFileSystemAccess fsa,boolean mode) {
 		var String workspacePath = WorkspaceResolver.getWorkspace();
 		for (e : resource.allContents.toIterable.filter(EtsiBnf)) {
@@ -45,6 +42,32 @@
 
 				if (file.exists) {
+					//true -> pdf, false -> rtf
 					
-					foToPdf.createPdfFromFo(fullUri.substring(0, fullUri.length - 3));
+					if(mode){
+						FoToPdfOrRtf.createRtfFromFo(fullUri.substring(0, fullUri.length - 3));
+					}else{
+						FoToPdfOrRtf.createPdfFromFo(fullUri.substring(0, fullUri.length - 3));
+					}
+					
+//					fsa.deleteFile(e.name + ".fo");
+				}
+			}
+		}
+	}
+	
+	override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+		var String workspacePath = WorkspaceResolver.getWorkspace();
+		for (e : resource.allContents.toIterable.filter(EtsiBnf)) {
+			if (e.bnfEntry.size != 0) {
+				fsa.generateFile(e.name + ".fo", e.compile)
+				System.out.println("fo generated");
+				//generate pdf
+				var uri = (fsa as IFileSystemAccessExtension2).getURI(e.name + ".fo");
+				var String fullUri = workspacePath + uri.path.substring(10, uri.path.length);
+				var File file = new File(fullUri);
+
+				if (file.exists) {
+					
+					FoToPdfOrRtf.createPdfFromFo(fullUri.substring(0, fullUri.length - 3));
 //					fsa.deleteFile(e.name + ".fo");
 				}
@@ -84,9 +107,9 @@
 	'''
 
-	def compile(Rule rule) '''<fo:block><fo:inline id="«rule.name»"	color="purple">«IF rule.rulenumber != 0»«rule.
+	def compile(Rule rule) '''«System.out.println(rule.name)»<fo:block><fo:inline id="«rule.name»"	color="purple">«IF rule.rulenumber != 0»«rule.
 		rulenumber».	«ENDIF»«rule.name»</fo:inline>	::=	«rule.definitionList.compile»</fo:block>'''
 
-	def compile(DefinitionList dList) '''«FOR sDef : dList.singleDefinition»«sDef.compile»«IF !sDef.equals(
-		dList.singleDefinition.last)» | «ENDIF»«ENDFOR»'''
+	def compile(DefinitionList dList) '''«IF dList!= null»«FOR sDef : dList.singleDefinition»«sDef.compile»«IF !sDef.equals(
+		dList.singleDefinition.last)» | «ENDIF»«ENDFOR»«ENDIF»'''
 
 	def compile(SingleDefinition sDefinition) '''«FOR term : sDefinition.terms»«term.compile»«ENDFOR»'''
@@ -110,5 +133,5 @@
 
 	def compile(StringRule sRule) '''«IF sRule.colon != null»«sRule.colon»«ENDIF»«IF sRule.literal != null»«sRule.
-		literal»	«ENDIF»'''
+		literal.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")»	«ENDIF»'''
 
 }
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/FoToPdfOrRtf.java
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/FoToPdfOrRtf.java	(revision 84)
+++ v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/FoToPdfOrRtf.java	(revision 84)
@@ -0,0 +1,136 @@
+package de.ugoe.cs.swe.bnftools.generator;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.stream.StreamSource;
+
+
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.Fop;
+import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.MimeConstants;
+
+
+public class FoToPdfOrRtf {
+
+
+	
+	public static void createPdfFromFo(String fileName) throws IOException, FOPException,
+	TransformerException{
+
+		createfoFromPdf(fileName,fileName);
+	}
+	
+	public static void createRtfFromFo(String fileName) throws IOException, FOPException,
+	TransformerException{
+
+		createRtfFromFo(fileName,fileName);
+	}
+	
+	private static void createRtfFromFo(String foFileName, String pdfFileName)throws IOException, FOPException,
+	TransformerException{
+		File file = new File(foFileName+".fo");
+		// Step 1: Construct a FopFactory
+		FopFactory fopFactory = FopFactory.newInstance();
+
+		// Step 2: Set up output stream.
+		OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(pdfFileName+".rtf")));
+
+		try {
+			// Step 3: Construct fop with desired output format
+			Fop fop = fopFactory.newFop(MimeConstants.MIME_RTF, out);
+
+			// Step 4: Setup JAXP using identity transformer
+			TransformerFactory factory = TransformerFactory.newInstance();
+			Transformer transformer = factory.newTransformer();
+
+			// Step 5: Setup input and output for XSLT transformation
+			Source src = new StreamSource(file);
+
+			// Resulting SAX events (the generated FO) must be piped through to FOP		
+			Result res = new SAXResult(fop.getDefaultHandler());
+
+			// Step 6: Start XSLT transformation and FOP processing
+			transformer.transform(src, res);
+		} finally {
+			out.close();
+		}
+	}
+	
+	
+	private static void createfoFromPdf(String foFileName, String pdfFileName)throws IOException, FOPException,
+	TransformerException{
+		File file = new File(foFileName+".fo");
+		// Step 1: Construct a FopFactory
+		FopFactory fopFactory = FopFactory.newInstance();
+
+		// Step 2: Set up output stream.
+		OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(pdfFileName+".pdf")));
+
+		try {
+			// Step 3: Construct fop with desired output format
+			Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
+
+			// Step 4: Setup JAXP using identity transformer
+			TransformerFactory factory = TransformerFactory.newInstance();
+			Transformer transformer = factory.newTransformer();
+
+			// Step 5: Setup input and output for XSLT transformation
+			Source src = new StreamSource(file);
+
+			// Resulting SAX events (the generated FO) must be piped through to FOP		
+			Result res = new SAXResult(fop.getDefaultHandler());
+
+			// Step 6: Start XSLT transformation and FOP processing
+			transformer.transform(src, res);
+		} finally {
+			out.close();
+		}
+	}
+	
+	public static void createPdfFromFo(File file,String fileName) throws IOException, FOPException,
+	TransformerException{
+
+		createfoFromPdf(file,"mytest");
+	}
+	
+	private static void createfoFromPdf(File file, String pdfFileName)throws IOException, FOPException,
+	TransformerException{
+		// Step 1: Construct a FopFactory
+		FopFactory fopFactory = FopFactory.newInstance();
+
+		// Step 2: Set up output stream.
+		OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(pdfFileName+".pdf")));
+
+		try {
+			// Step 3: Construct fop with desired output format
+			Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
+
+			// Step 4: Setup JAXP using identity transformer
+			TransformerFactory factory = TransformerFactory.newInstance();
+			Transformer transformer = factory.newTransformer();
+
+			// Step 5: Setup input and output for XSLT transformation
+			Source src = new StreamSource(file);
+
+			// Resulting SAX events (the generated FO) must be piped through to FOP		
+			Result res = new SAXResult(fop.getDefaultHandler());
+
+			// Step 6: Start XSLT transformation and FOP processing
+			transformer.transform(src, res);
+		} finally {
+			out.close();
+		}
+	}
+}
Index: v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/foToPdf.java
===================================================================
--- v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/foToPdf.java	(revision 83)
+++ 	(revision )
@@ -1,99 +1,0 @@
-package de.ugoe.cs.swe.bnftools.generator;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.stream.StreamSource;
-
-
-
-import org.apache.fop.apps.FOPException;
-import org.apache.fop.apps.Fop;
-import org.apache.fop.apps.FopFactory;
-import org.apache.fop.apps.MimeConstants;
-
-
-public class foToPdf {
-
-
-	
-	public static void createPdfFromFo(String fileName) throws IOException, FOPException,
-	TransformerException{
-
-		createfoFromPdf(fileName,fileName);
-	}
-	
-	private static void createfoFromPdf(String foFileName, String pdfFileName)throws IOException, FOPException,
-	TransformerException{
-		File file = new File(foFileName+".fo");
-		// Step 1: Construct a FopFactory
-		FopFactory fopFactory = FopFactory.newInstance();
-
-		// Step 2: Set up output stream.
-		OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(pdfFileName+".rtf")));
-
-		try {
-			// Step 3: Construct fop with desired output format
-			Fop fop = fopFactory.newFop(MimeConstants.MIME_RTF, out);
-
-			// Step 4: Setup JAXP using identity transformer
-			TransformerFactory factory = TransformerFactory.newInstance();
-			Transformer transformer = factory.newTransformer();
-
-			// Step 5: Setup input and output for XSLT transformation
-			Source src = new StreamSource(file);
-
-			// Resulting SAX events (the generated FO) must be piped through to FOP		
-			Result res = new SAXResult(fop.getDefaultHandler());
-
-			// Step 6: Start XSLT transformation and FOP processing
-			transformer.transform(src, res);
-		} finally {
-			out.close();
-		}
-	}
-	
-	public static void createPdfFromFo(File file,String fileName) throws IOException, FOPException,
-	TransformerException{
-
-		createfoFromPdf(file,"mytest");
-	}
-	
-	private static void createfoFromPdf(File file, String pdfFileName)throws IOException, FOPException,
-	TransformerException{
-		// Step 1: Construct a FopFactory
-		FopFactory fopFactory = FopFactory.newInstance();
-
-		// Step 2: Set up output stream.
-		OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(pdfFileName+".pdf")));
-
-		try {
-			// Step 3: Construct fop with desired output format
-			Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
-
-			// Step 4: Setup JAXP using identity transformer
-			TransformerFactory factory = TransformerFactory.newInstance();
-			Transformer transformer = factory.newTransformer();
-
-			// Step 5: Setup input and output for XSLT transformation
-			Source src = new StreamSource(file);
-
-			// Resulting SAX events (the generated FO) must be piped through to FOP		
-			Result res = new SAXResult(fop.getDefaultHandler());
-
-			// Step 6: Start XSLT transformation and FOP processing
-			transformer.transform(src, res);
-		} finally {
-			out.close();
-		}
-	}
-}
