Merge branch 'master' into master-juno
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/META-INF/MANIFEST.MF
index 568231f..f066d5c 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/META-INF/MANIFEST.MF
@@ -24,14 +24,9 @@
  org.eclipse.papyrus.infra.core.log,
  org.eclipse.papyrus.infra.services.resourceloading,
  org.eclipse.gendoc.bundle.acceleo.commons,
- org.eclipse.papyrus.infra.nattable,
  org.eclipse.gendoc.documents,
  org.eclipse.gendoc.table,
- org.eclipse.nebula.widgets.nattable.core,
- org.eclipse.papyrus.infra.nattable.model,
- org.eclipse.papyrus.infra.emf,
- org.eclipse.papyrus.infra.services.labelprovider,
- ca.odell.glazedlists
+ org.eclipse.papyrus.infra.emf
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/pom.xml b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/pom.xml
index d683e77..8be3244 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/pom.xml
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/pom.xml
@@ -36,7 +36,6 @@
 					<packagesToRegister>
 						<packageToRegister>org.eclipse.emf.ecore.EcorePackage</packageToRegister>
 						<packageToRegister>org.eclipse.gmf.runtime.notation.NotationPackage</packageToRegister>
-						<packageToRegister>org.eclipse.papyrus.infra.nattable.model.nattable.NattablePackage</packageToRegister>
 						<packageToRegister>org.eclipse.gendoc.table.TablePackage</packageToRegister>
 						<packageToRegister>org.eclipse.uml2.uml.UMLPackage</packageToRegister>
 					</packagesToRegister>
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/mtl/papyrus.mtl b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/mtl/papyrus.mtl
index 41ef065..18cba90 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/mtl/papyrus.mtl
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/mtl/papyrus.mtl
@@ -10,7 +10,7 @@
 															   fix bug #506575 : add a getAppliedComments function
   Antonio Campesino Robles (Ericsson) - Bug 531275 
 /]
-[module papyrus('http://www.eclipse.org/gmf/runtime/1.0.2/notation','http://www.eclipse.org/uml2/5.0.0/UML','http://www.eclipse.org/papyrus/nattable/model','http://www.eclipse.org/gendoc/1.0/table')/]
+[module papyrus('http://www.eclipse.org/gmf/runtime/1.0.2/notation','http://www.eclipse.org/uml2/4.0.0/UML','http://www.eclipse.org/gendoc/1.0/table')/]
 
 [comment - get the diagrams of an object /]
 [query public getPapyrusDiagrams(arg0 : ecore::EObject) : Sequence(Diagram)
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java
index d9d5ebc..3159a36 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java
@@ -33,12 +33,12 @@
 import org.eclipse.papyrus.infra.core.resource.ModelIdentifiers;
 import org.eclipse.papyrus.infra.core.resource.ModelMultiException;
 import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.resource.notation.NotationModel;
 import org.eclipse.papyrus.infra.core.resource.sasheditor.SashModel;
+import org.eclipse.papyrus.infra.core.resource.uml.UmlModel;
 import org.eclipse.papyrus.infra.core.services.ExtensionServicesRegistry;
 import org.eclipse.papyrus.infra.core.services.ServiceException;
 import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
-import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationModel;
-import org.eclipse.papyrus.uml.tools.model.UmlModel;
 
 
 /**
@@ -189,25 +189,19 @@
 		ServicesRegistry servicesRegistry = new ExtensionServicesRegistry(
 				Activator.PLUGIN_ID);
 		try{
+			String uriStr = modelUri.toString();
+			int index = uriStr.lastIndexOf('.');
+			uriStr = uriStr.substring(0, index);
 			servicesRegistry.startServices(Collections.singletonList(ModelSet.class
 				.getName()));
 			modelSet = servicesRegistry.getService(ModelSet.class);
 			if (modelSet != null && modelUri != null) {
-				// load models
-				modelSet.loadModels(modelUri);
+				modelSet.getResource(URI.createURI(uriStr+".notation"), true);
+				modelSet.getResource(URI.createURI(uriStr+".uml"), true);
 			}
 			// start remaining services
 			servicesRegistry.startRegistry();
 		
-        } catch (ModelMultiException e) {
-			try {
-				// with the ModelMultiException it is still possible to open the
-				// editors that's why the service registry is still started
-				servicesRegistry.startRegistry();
-				
-			} catch (ServiceException e1) {
-				//Do nothing
-			}
 		} catch (ServiceException e) {
 			//Do nothing
 		}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusServices.java b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusServices.java
index c8b4a08..13fd690 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusServices.java
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusServices.java
@@ -18,7 +18,6 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -45,10 +44,6 @@
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl;
-import org.eclipse.emf.transaction.util.TransactionUtil;
 import org.eclipse.gendoc.bundle.acceleo.commons.files.CommonService;
 import org.eclipse.gendoc.bundle.acceleo.gmf.service.GMFServices;
 import org.eclipse.gendoc.bundle.acceleo.papyrus.Activator;
@@ -59,32 +54,9 @@
 import org.eclipse.gendoc.services.exception.ModelNotFoundException;
 import org.eclipse.gendoc.services.exception.ServiceException;
 import org.eclipse.gendoc.table.Table;
-import org.eclipse.gendoc.table.TableFactory;
-import org.eclipse.gendoc.table.TableHeader;
 import org.eclipse.gendoc.tags.handlers.IEMFModelLoaderService;
 import org.eclipse.gmf.runtime.notation.Diagram;
 import org.eclipse.gmf.runtime.notation.Style;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.nebula.widgets.nattable.config.ConfigRegistry;
-import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
-import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
-import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
-import org.eclipse.nebula.widgets.nattable.layer.ILayer;
-import org.eclipse.nebula.widgets.nattable.layer.cell.ColumnOverrideLabelAccumulator;
-import org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell;
-import org.eclipse.nebula.widgets.nattable.layer.cell.TranslatedLayerCell;
-import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
-import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
-import org.eclipse.papyrus.infra.nattable.dataprovider.BodyDataProvider;
-import org.eclipse.papyrus.infra.nattable.manager.table.ITableAxisElementProvider;
-import org.eclipse.papyrus.infra.nattable.manager.table.ITreeNattableModelManager;
-import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
-import org.eclipse.papyrus.infra.nattable.selection.ObjectsSelectionExtractor;
-import org.eclipse.papyrus.infra.nattable.utils.Constants;
-import org.eclipse.papyrus.infra.nattable.utils.LabelProviderCellContextElementWrapper;
-import org.eclipse.papyrus.infra.nattable.utils.NattableConfigAttributes;
-import org.eclipse.papyrus.infra.nattable.utils.NattableModelManagerFactory;
-import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
 import org.eclipse.uml2.uml.Comment;
 import org.eclipse.uml2.uml.Element;
 import org.eclipse.uml2.uml.NamedElement;
@@ -366,122 +338,7 @@
 	 * @throws org.eclipse.papyrus.infra.core.services.ServiceException 
 	 */
 	public Collection<Table> getPapyrusTables(EObject modelElement) throws ServiceException, org.eclipse.papyrus.infra.core.services.ServiceException {
-		Collection<Table> result = null;
-		
-		URI uri = modelElement.eResource().getURI();
-		Resource diResource = getDiResouce(modelElement, uri.trimFileExtension().appendFileExtension("notation"));
-		EditingDomain domain = TransactionUtil.getEditingDomain(diResource.getResourceSet());
-		if (domain == null) {
-			domain = TransactionalEditingDomainImpl.FactoryImpl.INSTANCE.createEditingDomain(diResource.getResourceSet());
-		}
-		
-		
-		for (Iterator<EObject> i = EcoreUtil.getAllProperContents(diResource, true); i.hasNext();) {
-			EObject eobject = i.next();
-			if (eobject instanceof org.eclipse.papyrus.infra.nattable.model.nattable.Table) {
-
-				org.eclipse.papyrus.infra.nattable.model.nattable.Table table = (org.eclipse.papyrus.infra.nattable.model.nattable.Table) eobject;
-				if (table.getOwner() != null && table.getOwner().equals(modelElement)) {
-					if(result == null)
-					{
-						 result = new LinkedList<org.eclipse.gendoc.table.Table>();
-							
-					}
-					result.add(getGendocTable(table));
-				}
-				
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Transform a Papyrus Table to a GendocTable
-	 * @param table Papyrus Nattable table
-	 * @return the corresponding Gendoc table
-	 * @throws ServiceException LabelProviderService not accessible
-	 * @throws org.eclipse.papyrus.infra.core.services.ServiceException 
-	 */
-	private Table getGendocTable(org.eclipse.papyrus.infra.nattable.model.nattable.Table table) throws ServiceException, org.eclipse.papyrus.infra.core.services.ServiceException {
-		Table gendocTable = TableFactory.eINSTANCE.createTable();
-		// Set Papyrus table name
-		gendocTable.setName(table.getName());
-		// Set Papyrus table type
-		gendocTable.setType(table.getTableConfiguration().getType());
-		// Initialize useful services accessors
-		final NattableModelManager nattableModelManager = (NattableModelManager) NattableModelManagerFactory.INSTANCE
-				.createNatTableModelManager(table, new ObjectsSelectionExtractor());
-				ITableAxisElementProvider axisElementProvider = nattableModelManager.getTableAxisElementProvider(); 
-		List<Object> horizontalHeader = axisElementProvider.getColumnElementsList();
-		LabelProviderService labelProviderService = ServiceUtilsForEObject.getInstance().getServiceRegistry(table.getContext()).getService(LabelProviderService.class);
-		ConfigRegistry configRegistry = new ConfigRegistry();
-		configRegistry.registerConfigAttribute(NattableConfigAttributes.NATTABLE_MODEL_MANAGER_CONFIG_ATTRIBUTE, nattableModelManager, DisplayMode.NORMAL, NattableConfigAttributes.NATTABLE_MODEL_MANAGER_ID);
-		configRegistry.registerConfigAttribute(NattableConfigAttributes.LABEL_PROVIDER_SERVICE_CONFIG_ATTRIBUTE, labelProviderService, DisplayMode.NORMAL, NattableConfigAttributes.LABEL_PROVIDER_SERVICE_ID);
-		LabelProviderService serv = configRegistry.getConfigAttribute(NattableConfigAttributes.LABEL_PROVIDER_SERVICE_CONFIG_ATTRIBUTE, DisplayMode.NORMAL, NattableConfigAttributes.LABEL_PROVIDER_SERVICE_ID);
-		
-		// extracting data from axis
-		TableHeader header = TableFactory.eINSTANCE.createTableHeader();
-		for (Object axis : horizontalHeader) {
-			org.eclipse.gendoc.table.Cell cell = TableFactory.eINSTANCE.createCell();
-			cell.setLabel( getColumnLabel(nattableModelManager, configRegistry, serv, axis));
-			header.getCells().add(cell);
-		}
-		gendocTable.setTableheader(header);
-		
-		// extracting data from body cells
-		
-		//FIXME remove references to ILayer, ILayerCell
-		ILayer  dataLayer = new DataLayer(new BodyDataProvider(nattableModelManager));
-		((AbstractLayer) dataLayer).setConfigLabelAccumulator(new ColumnOverrideLabelAccumulator(dataLayer));
-		((AbstractLayer) dataLayer).setRegionName(GridRegion.BODY);
-		ILayerCell layer = new TranslatedLayerCell(null, dataLayer,0, 0, 0, 0);
-		for (int rowPosition = 0; rowPosition < nattableModelManager.getRowCount(); rowPosition++) {
-			boolean isEmpty = (nattableModelManager instanceof ITreeNattableModelManager);
-			org.eclipse.gendoc.table.Row row = TableFactory.eINSTANCE.createRow();
-			for (int columnPosition = 0; columnPosition < nattableModelManager.getColumnCount(); columnPosition++) {
-				org.eclipse.gendoc.table.Cell cell = TableFactory.eINSTANCE.createCell();
-			   	Object value = nattableModelManager.getDataValue(columnPosition, rowPosition);
-				LabelProviderCellContextElementWrapper contextElement = new LabelProviderCellContextElementWrapper();
-				contextElement.setObject(value);
-				contextElement.setConfigRegistry(configRegistry);
-				ILabelProvider bodylabelProvider = serv.getLabelProvider(Constants.TABLE_LABEL_PROVIDER_CONTEXT, contextElement);
-				contextElement.setCell(layer);
-				String label = bodylabelProvider.getText(value); 
-				cell.setLabel(label);
-				isEmpty = isEmpty && label.isEmpty();
-				row.getCells().add(cell);
-				if (nattableModelManager instanceof ITreeNattableModelManager) {
-					((ITreeNattableModelManager)nattableModelManager).getTreeList().setExpanded(rowPosition, true);
-				}
-			}
-			if (!isEmpty)
-				gendocTable.getRows().add(row);
-		}
-		return gendocTable;
-	}
-
-	/**
-	 * Get a label of Papyrus table axis  
-	 * @param nattableModelManager
-	 * @param configRegistry
-	 * @param serv
-	 * @param axis
-	 * @return
-	 */
-	private String getColumnLabel(final NattableModelManager nattableModelManager, ConfigRegistry configRegistry,
-			LabelProviderService serv, Object axis) {
-		LabelProviderCellContextElementWrapper contextElement = new LabelProviderCellContextElementWrapper();
-		contextElement.setObject(axis);
-		contextElement.setConfigRegistry(configRegistry);
-		
-		//FIXME remove references to ILayer, ILayerCell
-		ILayer  dataLayer = new DataLayer(new BodyDataProvider(nattableModelManager));
-		((AbstractLayer) dataLayer).setConfigLabelAccumulator(new ColumnOverrideLabelAccumulator(dataLayer));
-		((AbstractLayer) dataLayer).setRegionName(GridRegion.COLUMN_HEADER);
-		ILayerCell layer = new TranslatedLayerCell(null, dataLayer,0, 0, 0, 0);
-		contextElement.setCell(layer);
-		ILabelProvider headerlabelProvider = serv.getLabelProvider(Constants.HEADER_LABEL_PROVIDER_CONTEXT, contextElement);
-		return headerlabelProvider.getText(contextElement);
+		throw new UnsupportedOperationException("Tables are not implemented in Papyrus Juno");
 	}
 
 	/**
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.sirius/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.bundle.acceleo.sirius/META-INF/MANIFEST.MF
index 38b28c8..facd8e6 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.sirius/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.sirius/META-INF/MANIFEST.MF
@@ -17,9 +17,9 @@
  org.eclipse.gendoc.services,
  org.eclipse.gendoc.process,
  org.eclipse.gendoc.tags.handlers,
- org.eclipse.sirius.diagram;bundle-version="2.0.4",
- org.eclipse.gendoc.bundle.acceleo.commons;bundle-version="0.6.0",
- org.eclipse.sirius.table;bundle-version="4.1.3",
+ org.eclipse.sirius.diagram,
+ org.eclipse.gendoc.bundle.acceleo.commons,
+ org.eclipse.sirius.table,
  org.eclipse.gendoc.documents,
  org.eclipse.gendoc.table
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java
index 69c9dba..f0c40dc 100644
--- a/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java
@@ -224,7 +224,7 @@
 				Assert.assertEquals(message,expected,value); 
 				break;
 			case 1:
-				Assert.assertNotEquals(message,expected,value);
+				Assert.assertNotSame(message,expected,value);
 				break;
 			case 2:
 				Assert.assertNull(message,value);