Improving notification mechanism of the WorkspaceAdapter&Session : now using serialization differences instead of resource.setModified to compute the state of the resources to save. Also improving the compiler, the indexer and the synchronizer notifications
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/launcher/CompilerCreator.java b/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/launcher/CompilerCreator.java
index 0860125..76afaeb 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/launcher/CompilerCreator.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/launcher/CompilerCreator.java
@@ -10,8 +10,8 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.client.compiler.launcher;
-import java.util.ArrayList;
-import java.util.Collection;
+import com.google.common.collect.Lists;
+
import java.util.LinkedHashSet;
import java.util.Set;
@@ -57,7 +57,7 @@
public static CompilerRepositoryClient createCompilerClient(Repository repository)
throws RepositoryConnectionException {
- // Step 1 : initialize the listened types
+ // Step 1: initialize the listened types
Set<EStructuralFeature> listenedTypes = new LinkedHashSet<EStructuralFeature>();
listenedTypes.add(IntentDocumentPackage.eINSTANCE.getIntentSection_ModelingUnits());
@@ -71,20 +71,15 @@
listenedTypes.remove(GenericUnitPackage.eINSTANCE.getGenericUnit_Instructions());
listenedTypes.remove(GenericUnitPackage.eINSTANCE.getGenericUnit_UnitName());
- // Step 2 : defining all the resource that once been saved should not cause a session warning
- Collection<String> resourcesToIgnorePaths = new ArrayList<String>();
- resourcesToIgnorePaths.add(IntentLocations.INTENT_FOLDER);
-
- // Step 3 : create the adapter and the handler for these types
+ // Step 2: create the adapter and the handler for these types
final RepositoryAdapter repositoryAdapter = repository.createRepositoryAdapter();
- repositoryAdapter.setSendSessionWarningBeforeSaving(resourcesToIgnorePaths);
RepositoryObjectHandler handler = new ReadWriteRepositoryObjectHandlerImpl(repositoryAdapter);
Notificator notificator = new TypeNotificator(listenedTypes);
handler.addNotificator(notificator);
- // Step 4 : create the compiler
+ // Step 3: create the compiler
CompilerRepositoryClient compilerClient = new CompilerRepositoryClient();
compilerClient.setRepository(repository);
compilerClient.addRepositoryObjectHandler(handler);
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/repositoryconnection/CompilationJob.java b/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/repositoryconnection/CompilationJob.java
index ffe68bf..f93d2c7 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/repositoryconnection/CompilationJob.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/repositoryconnection/CompilationJob.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.client.compiler.repositoryconnection;
+import com.google.common.collect.Lists;
+
import java.util.ArrayList;
import java.util.List;
@@ -166,19 +168,25 @@
public void saveCompilationInformations(RepositoryAdapter repositoryAdapter,
IntentCompilerInformationHolder compilationInformationHolder, IProgressMonitor monitor) {
repositoryAdapter.openSaveContext();
+
+ // We merge the local compilation manager with the remote
CompilerInformationsSaver saver = new CompilerInformationsSaver(monitor);
if (monitor != null && !monitor.isCanceled()) {
- saver.saveOnRepository(compilationInformationHolder, repositoryObjectHandler);
- }
- try {
- repositoryAdapter.save();
- } catch (ReadOnlyException e) {
- // We are sure that this compiler isn't in read-only mode
- } catch (SaveException e) {
+
try {
- repositoryAdapter.undo();
- } catch (ReadOnlyException e1) {
+ saver.saveOnRepository(compilationInformationHolder, repositoryObjectHandler);
+ repositoryAdapter.setSendSessionWarningBeforeSaving(Lists
+ .newArrayList(IntentLocations.INTENT_FOLDER));
+ repositoryAdapter.save();
+ } catch (ReadOnlyException e) {
// We are sure that this compiler isn't in read-only mode
+ } catch (SaveException e) {
+ IntentLogger.getInstance().log(LogType.ERROR, "Compiler failed to save changes", e);
+ try {
+ repositoryAdapter.undo();
+ } catch (ReadOnlyException e1) {
+ // We are sure that this compiler isn't in read-only mode
+ }
}
}
repositoryAdapter.closeContext();
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/saver/CompilerInformationsSaver.java b/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/saver/CompilerInformationsSaver.java
index 4937d44..747f03e 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/saver/CompilerInformationsSaver.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.compiler/src/org/eclipse/mylyn/docs/intent/client/compiler/saver/CompilerInformationsSaver.java
@@ -15,16 +15,19 @@
import java.math.BigInteger;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.ListIterator;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.cdo.util.ObjectNotFoundException;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.mylyn.docs.intent.client.compiler.utils.IntentCompilerInformationHolder;
@@ -364,17 +367,10 @@
*/
private void mergeCompilationStatusManager(CompilationStatusManager localStatusManager,
CompilationStatusManager repositoryStatusManager, Resource statusManagerResource) {
-
// Step 1 : Cleaning repositoryRootModel
// Step 1.1 : removing dangling references
removeDanglingReferences(repositoryStatusManager, statusManagerResource);
- List<IntentGenericElement> genEl = new ArrayList<IntentGenericElement>();
- for (CompilationStatus compilationStatus : repositoryStatusManager.getCompilationStatusList()) {
- genEl.add(compilationStatus.getTarget());
- }
-
- List<EObject> cleanTargets = new ArrayList<EObject>();
// Step 2 : adding all the new compilation status
for (ModelingUnit mu : localStatusManager.getModelingUnitToStatusList().keySet()) {
for (CompilationStatus status : localStatusManager.getModelingUnitToStatusList().get(mu)) {
@@ -383,36 +379,24 @@
.get(mu), status)) {
if (!repositoryStatusManager.getCompilationStatusList().contains(status)) {
- repositoryStatusManager.getCompilationStatusList().add(status);
- if (!status.getTarget().getCompilationStatus().contains(status)) {
- if (!cleanTargets.contains(status.getTarget())) {
- cleanTargets.add(status.getTarget());
- status.getTarget().getCompilationStatus().clear();
- }
+ if (status.getTarget() != null
+ && !status.getTarget().getCompilationStatus().contains(status)) {
status.getTarget().getCompilationStatus().add(status);
}
- }
- if (repositoryStatusManager.getModelingUnitToStatusList().get(mu) == null) {
- repositoryStatusManager.getModelingUnitToStatusList().put(mu,
- new BasicEList<CompilationStatus>());
- }
- try {
- repositoryStatusManager.getModelingUnitToStatusList().get(mu).add(status);
- } catch (NullPointerException e) {
- // TODO remove this catch, only for test
- e.printStackTrace();
- }
+ repositoryStatusManager.getCompilationStatusList().add(status);
+ if (repositoryStatusManager.getModelingUnitToStatusList().get(mu) == null) {
+ repositoryStatusManager.getModelingUnitToStatusList().put(mu,
+ new BasicEList<CompilationStatus>());
+ }
+ repositoryStatusManager.getModelingUnitToStatusList().get(mu).add(status);
+ }
}
}
}
}
- genEl = new ArrayList<IntentGenericElement>();
- for (CompilationStatus compilationStatus : repositoryStatusManager.getCompilationStatusList()) {
- genEl.add(compilationStatus.getTarget());
-
- }
+ repositoryStatusManager.setValidationTime(BigInteger.valueOf(System.currentTimeMillis()));
}
/**
@@ -422,20 +406,31 @@
* the compilationSatusManager from which remove the dangling references
* @param statusManagerResource
* the resource containing the repositoryStatusManager
- * @return the modified CompilationStatusManager
*/
- private CompilationStatusManager removeDanglingReferences(
- CompilationStatusManager repositoryStatusManager, Resource statusManagerResource) {
+ private void removeDanglingReferences(CompilationStatusManager repositoryStatusManager,
+ Resource statusManagerResource) {
CompilationStatusManager manager = repositoryStatusManager;
- try {
- manager.getCompilationStatusList().clear();
- manager.getModelingUnitToStatusList().clear();
- } catch (ObjectNotFoundException notFoundException) {
- statusManagerResource.getContents().clear();
- manager = CompilerFactory.eINSTANCE.createCompilationStatusManager();
- statusManagerResource.getContents().add(manager);
+ Collection<URI> changedModelingUnits = Sets.newLinkedHashSet();
+
+ ListIterator<Entry<ModelingUnit, EList<CompilationStatus>>> entries = manager
+ .getModelingUnitToStatusList().listIterator();
+ while (entries.hasNext()) {
+ Entry<ModelingUnit, EList<CompilationStatus>> entry = entries.next();
+ if (entry.getKey() == null || entry.getKey().eResource() == null) {
+ manager.getCompilationStatusList().removeAll(entry.getValue());
+ entries.remove();
+ } else {
+ ListIterator<CompilationStatus> statusList = entry.getValue().listIterator();
+ while (statusList.hasNext()) {
+ CompilationStatus status = statusList.next();
+ if (status.getTarget() != null && status.getTarget().eResource() != null) {
+ status.getTarget().getCompilationStatus().remove(status);
+ }
+ changedModelingUnits.add(entry.getKey().eResource().getURI());
+ statusList.remove();
+ }
+ }
}
- return manager;
}
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.indexer/META-INF/MANIFEST.MF b/plugins/org.eclipse.mylyn.docs.intent.client.indexer/META-INF/MANIFEST.MF
index a7a63de..8a99728 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.indexer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.indexer/META-INF/MANIFEST.MF
@@ -7,7 +7,8 @@
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.mylyn.docs.intent.core,
org.eclipse.mylyn.docs.intent.collab,
- org.eclipse.mylyn.docs.intent.collab.common
+ org.eclipse.mylyn.docs.intent.collab.common,
+ com.google.guava
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.mylyn.docs.intent.client.indexer,
org.eclipse.mylyn.docs.intent.client.indexer.launcher
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.indexer/src/org/eclipse/mylyn/docs/intent/client/indexer/IndexerRepositoryClient.java b/plugins/org.eclipse.mylyn.docs.intent.client.indexer/src/org/eclipse/mylyn/docs/intent/client/indexer/IndexerRepositoryClient.java
index 24eeeef..76c71b0 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.indexer/src/org/eclipse/mylyn/docs/intent/client/indexer/IndexerRepositoryClient.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.indexer/src/org/eclipse/mylyn/docs/intent/client/indexer/IndexerRepositoryClient.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.client.indexer;
+import com.google.common.collect.Lists;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -67,6 +69,8 @@
repositoryAdapter.openSaveContext();
indexComputor.computeIndex(index, document);
try {
+ repositoryAdapter.setSendSessionWarningBeforeSaving(Lists
+ .newArrayList(IntentLocations.INTENT_FOLDER));
repositoryAdapter.save();
} catch (SaveException e) {
IntentLogger.getInstance().log(LogType.ERROR, "Indexer failed to save changes", e);
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizeRepositoryJob.java b/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizeRepositoryJob.java
index 269117e..fd228c2 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizeRepositoryJob.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizeRepositoryJob.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.client.synchronizer;
+import com.google.common.collect.Lists;
+
import java.util.ArrayList;
import java.util.Collection;
@@ -18,6 +20,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.emf.common.util.BasicMonitor;
+import org.eclipse.mylyn.docs.intent.collab.common.location.IntentLocations;
import org.eclipse.mylyn.docs.intent.collab.common.logger.IIntentLogger.LogType;
import org.eclipse.mylyn.docs.intent.collab.common.logger.IntentLogger;
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.IntentCommand;
@@ -102,23 +105,33 @@
}
if (!monitor.isCanceled()) {
- client.addAllStatusToTargetElement(statusList);
- // We add these status to the targets Element
+
try {
- repositoryAdapter.save();
+ // We add these status to the targets Element
+ client.addAllStatusToTargetElement(statusList);
+ if (monitor != null && !monitor.isCanceled()) {
+
+ // A warning should be sent to the session so that the compiler cannot be notified of
+ // changes made by the synchronizer on modeling units
+ repositoryAdapter.setSendSessionWarningBeforeSaving(Lists
+ .newArrayList(IntentLocations.INTENT_FOLDER));
+ repositoryAdapter.save();
+
+ IntentLogger.getInstance().log(
+ LogType.LIFECYCLE,
+ "[Synchronizer] Synchronization ended, detected " + statusList.size()
+ + " synchronization issues");
+ }
} catch (ReadOnlyException e) {
// As we have just opened a save context, we are sure that this will never happens
} catch (SaveException e) {
+ IntentLogger.getInstance().log(LogType.ERROR, "Synchronizer failed to save changes", e);
try {
repositoryAdapter.undo();
} catch (ReadOnlyException e1) {
// As we have just opened a save context, we are sure that this will never happens
}
}
- IntentLogger.getInstance().log(
- LogType.LIFECYCLE,
- "[Synchronizer] Synchronization ended, detected " + statusList.size()
- + " synchronization issues");
}
}
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizerRepositoryClient.java b/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizerRepositoryClient.java
index 9ac46ed..e1cd59d 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizerRepositoryClient.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/SynchronizerRepositoryClient.java
@@ -64,10 +64,13 @@
/**
* Adds all the given compilationStatus to their targets instructions.
*
+ * @param repositoryAdapter
+ * the repository adapter
* @param statusList
* the list of status to add
*/
public void addAllStatusToTargetElement(final Collection<? extends CompilationStatus> statusList) {
+
// Step 1: removing all old synchronization status
CompilationStatusManager statusManager = getStatusManager();
Iterator<SynchronizerCompilationStatus> iterator2 = Iterables.filter(
@@ -75,7 +78,9 @@
Collection<SynchronizerCompilationStatus> toRemove = Sets.newLinkedHashSet();
while (iterator2.hasNext()) {
SynchronizerCompilationStatus oldStatus = iterator2.next();
- oldStatus.getTarget().getCompilationStatus().remove(oldStatus);
+ if (oldStatus.getTarget() != null) {
+ oldStatus.getTarget().getCompilationStatus().remove(oldStatus);
+ }
statusManager.getModelingUnitToStatusList().remove(oldStatus);
toRemove.add(oldStatus);
}
@@ -84,8 +89,10 @@
// Step 2 : for each status to add
for (CompilationStatus status : statusList) {
// We add it to its target and to the status manager
- status.getTarget().getCompilationStatus().add(status);
- statusManager.getCompilationStatusList().add(status);
+ if (status.getTarget() != null) {
+ status.getTarget().getCompilationStatus().add(status);
+ statusManager.getCompilationStatusList().add(status);
+ }
}
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/launcher/SynchronizerCreator.java b/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/launcher/SynchronizerCreator.java
index 1ba97cf..64cc114 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/launcher/SynchronizerCreator.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.synchronizer/src/org/eclipse/mylyn/docs/intent/client/synchronizer/launcher/SynchronizerCreator.java
@@ -10,8 +10,6 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.client.synchronizer.launcher;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
@@ -68,9 +66,6 @@
final RepositoryAdapter repositoryAdapter = repository.createRepositoryAdapter();
Set<EObject> listenedElements = new LinkedHashSet<EObject>();
- Collection<String> resourcesToIgnorePaths = new ArrayList<String>();
- resourcesToIgnorePaths.add(IntentLocations.INTENT_FOLDER);
- repositoryAdapter.setSendSessionWarningBeforeSaving(resourcesToIgnorePaths);
repositoryAdapter.openSaveContext();
try {
final Resource traceabilityResource = repositoryAdapter
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/ProjectExplorerRefresher.java b/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/ProjectExplorerRefresher.java
index fdc36fe..c49f718 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/ProjectExplorerRefresher.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/ProjectExplorerRefresher.java
@@ -21,6 +21,8 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.mylyn.docs.intent.collab.common.IntentRepositoryManager;
import org.eclipse.mylyn.docs.intent.collab.common.location.IntentLocations;
+import org.eclipse.mylyn.docs.intent.collab.common.logger.IIntentLogger.LogType;
+import org.eclipse.mylyn.docs.intent.collab.common.logger.IntentLogger;
import org.eclipse.mylyn.docs.intent.collab.handlers.RepositoryObjectHandler;
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter;
import org.eclipse.mylyn.docs.intent.collab.handlers.impl.AbstractRepositoryClient;
@@ -112,6 +114,8 @@
res = new ProjectExplorerRefreshJob(project, null);
}
updateProblemView();
+ IntentLogger.getInstance().log(LogType.LIFECYCLE,
+ "[ProjectExplorer Refresher] Project explorer and Problem view refreshed");
return res;
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/UpdateProblemsViewJob.java b/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/UpdateProblemsViewJob.java
index d53fd02..122ddfc 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/UpdateProblemsViewJob.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/navigator/UpdateProblemsViewJob.java
@@ -23,6 +23,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.mylyn.docs.intent.collab.common.location.IntentLocations;
import org.eclipse.mylyn.docs.intent.collab.common.logger.IIntentLogger.LogType;
import org.eclipse.mylyn.docs.intent.collab.common.logger.IntentLogger;
@@ -68,7 +69,6 @@
Resource intentDocumentResource = adapter.getResource(IntentLocations.INTENT_INDEX);
String platformString = intentDocumentResource.getURI().toPlatformString(true);
IFile intentDocumentFile = (IFile)ResourcesPlugin.getWorkspace().getRoot().findMember(platformString);
-
if (intentDocumentFile != null && !(statusResource.getContents().isEmpty())) {
// Step 1: delete currently defined markers
@@ -107,10 +107,10 @@
private void createMarkerFromStatus(CompilationStatus status) {
IMarker marker = null;
try {
- if (project.isAccessible() && !status.eIsProxy() && !status.getTarget().eIsProxy()
- && status.eResource() != null && status.getTarget().eResource() != null) {
+ if (project.isAccessible() && !status.eIsProxy() && status.getTarget() != null
+ && !status.getTarget().eIsProxy() && status.eResource() != null
+ && status.getTarget().eResource() != null) {
marker = project.createMarker("org.eclipse.core.resources.problemmarker");
-
if (status.getSeverity() == CompilationStatusSeverity.WARNING) {
marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
} else if (status.getSeverity() == CompilationStatusSeverity.INFO) {
@@ -124,8 +124,7 @@
markerMessage = "[Sync] " + markerMessage;
}
marker.setAttribute(IMarker.MESSAGE, markerMessage);
- marker.setAttribute(IMarker.LOCATION, status.eResource().getURI() + "#"
- + status.getTarget().eResource().getURIFragment(status));
+ marker.setAttribute(IMarker.LOCATION, EcoreUtil.getURI(status).toString());
marker.setAttribute(IMarker.SOURCE_ID, "Intent");
}
} catch (CoreException e) {
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/repository/IntentWorkspaceRepositoryStructurer.java b/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/repository/IntentWorkspaceRepositoryStructurer.java
index 1c3a2f7..bb741c4 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/repository/IntentWorkspaceRepositoryStructurer.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.ui.ide/src/org/eclipse/mylyn/docs/intent/client/ui/ide/repository/IntentWorkspaceRepositoryStructurer.java
@@ -10,10 +10,6 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.client.ui.ide.repository;
-import com.google.common.collect.Sets;
-
-import java.util.Collection;
-
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.mylyn.docs.intent.collab.common.location.IntentLocations;
@@ -54,17 +50,15 @@
* @see org.eclipse.mylyn.docs.intent.collab.ide.adapters.DefaultWorkspaceRepositoryStructurer#structure(org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter)
*/
@Override
- public Collection<String> structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException {
+ public void structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException {
super.structure(repositoryAdapter);
WorkspaceAdapter workspaceAdapter = (WorkspaceAdapter)repositoryAdapter;
// We start splitting the elements from the IntentDocument
- Collection<String> modifiedResources = Sets.newLinkedHashSet();
Resource documentResource = workspaceAdapter.getResource(IntentLocations.INTENT_INDEX);
for (EObject document : documentResource.getContents()) {
- modifiedResources.addAll(splitElementAndSons(workspaceAdapter, document));
+ splitElementAndSons(workspaceAdapter, document);
}
- return modifiedResources;
}
/**
@@ -78,9 +72,9 @@
* @throws ReadOnlyException
* if the current context associated to the given adapter is read-only
*/
- protected Collection<? extends String> splitElementAndSons(WorkspaceAdapter workspaceAdapter,
- EObject element) throws ReadOnlyException {
- Collection<String> modifiedResources = Sets.newLinkedHashSet();
+ protected void splitElementAndSons(WorkspaceAdapter workspaceAdapter, EObject element)
+ throws ReadOnlyException {
+
if (isElementToSplit(element)) {
// The resource path should check the following structure :
@@ -95,29 +89,19 @@
// Then we ensure that the element is stored at the expected location
if (isInSameResourceThanContainer
|| !(isStoredAtExpectedLocation(element, workspaceAdapter, newResourcePath))) {
- if (element.eResource().getContents().isEmpty()) {
- String oldResourcePath = element.eResource().getURI().toString();
- if (oldResourcePath.indexOf(".repository") != -1) {
- oldResourcePath = oldResourcePath.substring(oldResourcePath.indexOf(".repository"))
- .replace(".repository/", "");
- }
- modifiedResources.add(oldResourcePath);
- }
+
// Place the element in a new resource
Resource newResource = workspaceAdapter.getOrCreateResource(newResourcePath);
newResource.getContents().add(element);
- newResource.setTrackingModification(true);
- modifiedResources.add(newResourcePath);
}
// Do the same for all children of the given element
for (EObject containedElement : element.eContents()) {
if (!containedElement.eIsProxy()) {
- modifiedResources.addAll(splitElementAndSons(workspaceAdapter, containedElement));
+ splitElementAndSons(workspaceAdapter, containedElement);
}
}
}
- return modifiedResources;
}
/**
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/annotation/IntentAnnotationModelManager.java b/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/annotation/IntentAnnotationModelManager.java
index 523da54..85b235f 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/annotation/IntentAnnotationModelManager.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/annotation/IntentAnnotationModelManager.java
@@ -146,14 +146,18 @@
// For each compilationStatus associated to the given element
Iterator<CompilationStatus> compilationStatusIterator = handledCompilationStatus.keySet().iterator();
while (compilationStatusIterator.hasNext()) {
- boolean removeCurrentStatus = false;
CompilationStatus currentStatus = compilationStatusIterator.next();
- Object currentStatusTargetID = adapter.getIDFromElement(currentStatus.getTarget());
- Object elementID = adapter.getIDFromElement(element);
- removeCurrentStatus = currentStatusTargetID == null;
+ boolean removeCurrentStatus = currentStatus == null || currentStatus.getTarget() == null;
+ Object currentStatusTargetID = null;
+ Object elementID = null;
+ if (!removeCurrentStatus) {
+ currentStatusTargetID = adapter.getIDFromElement(currentStatus.getTarget());
+ elementID = adapter.getIDFromElement(element);
+ removeCurrentStatus = currentStatusTargetID == null;
+ }
// If the status is concerning the given element
// FIXME find a way to determine those targets
- if (currentStatusTargetID != null && currentStatusTargetID.equals(elementID)) {
+ if (!removeCurrentStatus && currentStatusTargetID.equals(elementID)) {
if (isCompilerAnnotation(this.handledCompilationStatus.get(currentStatus).getType())) {
// If the currentElement doesn't contain this status any more
if (!element.getCompilationStatus().contains(currentStatus)) {
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab.cdo/src/org/eclipse/mylyn/docs/intent/collab/cdo/adapters/CDOAdapter.java b/plugins/org.eclipse.mylyn.docs.intent.collab.cdo/src/org/eclipse/mylyn/docs/intent/collab/cdo/adapters/CDOAdapter.java
index 1b700be..f3ef748 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.collab.cdo/src/org/eclipse/mylyn/docs/intent/collab/cdo/adapters/CDOAdapter.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab.cdo/src/org/eclipse/mylyn/docs/intent/collab/cdo/adapters/CDOAdapter.java
@@ -21,10 +21,12 @@
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CDOURIUtil;
import org.eclipse.emf.cdo.util.CommitException;
import org.eclipse.emf.cdo.util.ReadOnlyException;
import org.eclipse.emf.cdo.view.CDOAdapterPolicy;
import org.eclipse.emf.cdo.view.CDOView;
+import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
@@ -351,6 +353,15 @@
/**
* {@inheritDoc}
*
+ * @see org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter#getResourcePath(org.eclipse.emf.common.util.URI)
+ */
+ public String getResourcePath(URI resourceURI) {
+ return CDOURIUtil.extractResourcePath(resourceURI);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
* @see org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter#execute(org.eclipse.mylyn.docs.intent.collab.handlers.adapters.IntentCommand)
*/
public void execute(IntentCommand command) {
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/DefaultWorkspaceRepositoryStructurer.java b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/DefaultWorkspaceRepositoryStructurer.java
index e9383ed..8e53545 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/DefaultWorkspaceRepositoryStructurer.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/DefaultWorkspaceRepositoryStructurer.java
@@ -10,10 +10,6 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.collab.ide.adapters;
-import com.google.common.collect.Sets;
-
-import java.util.Collection;
-
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.ReadOnlyException;
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter;
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryStructurer;
@@ -34,13 +30,12 @@
*
* @see org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryStructurer#structure(org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter)
*/
- public Collection<String> structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException {
+ public void structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException {
if (!(repositoryAdapter instanceof WorkspaceAdapter)) {
throw new IllegalArgumentException("Cannot Strucure the repository using a "
+ repositoryAdapter.getClass().getName() + " : must be "
+ WorkspaceAdapter.class.getName());
}
// the default implementation is to do nothing
- return Sets.newLinkedHashSet();
}
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/RemoveDanglingReferences.java b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/RemoveDanglingReferences.java
new file mode 100644
index 0000000..aa5920d
--- /dev/null
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/RemoveDanglingReferences.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2010-2012 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.mylyn.docs.intent.collab.ide.adapters;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.EcoreUtil.CrossReferencer;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+/**
+ * A command in charge of deleting all dangling references.
+ *
+ * @author <a href="mailto:alex.lagarde@obeo.fr">Alex Lagarde</a>
+ */
+public class RemoveDanglingReferences extends RecordingCommand {
+
+ /**
+ * The element that should be cleaned.
+ */
+ private final EObject root;
+
+ /**
+ * Create a new {@link RemoveDanglingReferences} command.
+ *
+ * @param domain
+ * the editing domain.
+ * @param root
+ * the root element that should be cleaned
+ */
+ public RemoveDanglingReferences(final TransactionalEditingDomain domain, final EObject root) {
+ super(domain);
+ this.root = root;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.transaction.RecordingCommand#doExecute()
+ */
+ @Override
+ protected void doExecute() {
+ removeDanglingReferences(root);
+ }
+
+ /**
+ * Remove all dangling references of all objects that are contained by the root element.
+ *
+ * @param root
+ * the root element
+ */
+ public void removeDanglingReferences(final EObject root) {
+ if (root.eResource() != null && root.eResource().getResourceSet() != null) {
+ removeDanglingReferences(new DanglingReferencesDetector(root.eResource()));
+ }
+ }
+
+ /**
+ * Removes all dangling references from all the elements in the given resourceSet.
+ *
+ * @param resourceSet
+ * The resourceSet which is to be cleaned of dangling references.
+ */
+ public void removeDanglingReferences(final ResourceSet resourceSet) {
+ removeDanglingReferences(new DanglingReferencesDetector(resourceSet));
+ }
+
+ private void removeDanglingReferences(CrossReferencer referencer) {
+ for (Map.Entry<EObject, Collection<Setting>> entry : referencer.entrySet()) {
+ for (EStructuralFeature.Setting value : entry.getValue()) {
+ try {
+ EcoreUtil.remove(value, entry.getKey());
+ } catch (final UnsupportedOperationException e) {
+ // we know some time the setting is unsettable, just ignore
+ // that cases
+ } catch (final NullPointerException e) {
+ // we don't want to clean unresolved proxies in the model,
+ // so let's ignore Exceptions coming from that.
+ }
+ }
+ }
+ }
+
+ /**
+ * Specific {@link CrossReferencer} to detect dangling references.
+ */
+ private static class DanglingReferencesDetector extends EcoreUtil.CrossReferencer {
+
+ private static final long serialVersionUID = 616050158241084372L;
+
+ /**
+ * Creates an instance for the given resource.
+ *
+ * @param resource
+ * the resource to cross reference.
+ */
+ public DanglingReferencesDetector(Resource eResource) {
+ super(eResource);
+ crossReference();
+ done();
+ }
+
+ /**
+ * Creates an instance for the given resource set.
+ *
+ * @param resourceSet
+ * the resource set to cross reference.
+ */
+ public DanglingReferencesDetector(ResourceSet resourceSet) {
+ super(resourceSet);
+ crossReference();
+ done();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecore.util.EcoreUtil.CrossReferencer#crossReference(org.eclipse.emf.ecore.EObject,
+ * org.eclipse.emf.ecore.EReference, org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ protected boolean crossReference(final EObject eObject, final EReference eReference,
+ final EObject crossReferencedEObject) {
+ // A reference is dangling if the referenced object is not attached to a resource
+ return crossReferencedEObject.eResource() == null;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/WorkspaceAdapter.java b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/WorkspaceAdapter.java
index d4a4e41..30c5eb0 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/WorkspaceAdapter.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/adapters/WorkspaceAdapter.java
@@ -12,8 +12,12 @@
import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.ConcurrentModificationException;
@@ -30,6 +34,8 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
@@ -139,15 +145,8 @@
public static Map<String, Object> getSaveOptions() {
if (saveOptions == null) {
saveOptions = new HashMap<String, Object>();
- // We want the resource to be saved only if changes have been detected.
- // In order to make the system as scalable as possible,
- // We use a fileBuffer instead of a memory buffer
- // saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED,
- // Resource.OPTION_SAVE_ONLY_IF_CHANGED_FILE_BUFFER);
// We do not format the document when saving (less human-readable but faster to save and to load)
saveOptions.put(XMLResource.OPTION_FORMATTED, false);
-
- // TODO If scalability problems occur, should use XMLResource.OPTION_USE_FILE_BUFFER
}
return saveOptions;
}
@@ -203,58 +202,52 @@
"Cannot save with a read-only context. The context should have been started with the 'openSaveContext' method.");
}
- // First of all, we use the documentStructurer to structure the resource set
+ // Step 1: we use the documentStructurer to structure the resource set
if (documentStructurer != null) {
- this.resourcesToIgnorePaths.addAll(documentStructurer.structure(WorkspaceAdapter.this));
+ documentStructurer.structure(WorkspaceAdapter.this);
}
final Collection<Resource> resources = Lists.newArrayList(this.repository.getResourceSet()
.getResources());
-
+ SaveException saveException = null;
try {
for (Resource resource : resources) {
- // We only save the resource if it has been modified
try {
- if (resource.isModified() || resource.getContents().isEmpty()) {
-
- // We make sure the session isn't still reacting to previous saves
- while (((WorkspaceSession)this.repository.getOrCreateSession()).isProcessingDelta()) {
- try {
- Thread.sleep(TIME_TO_WAIT_BEFORE_CHECKING_SESSIONDELTA);
- } catch (InterruptedException e) {
- throw new SaveException(e.getMessage());
+ if (!removeDanglingElements(resource) && hasDifferentSerialization(resource)) {
+ try {
+ // We make sure the session isn't still reacting to previous saves
+ while (((WorkspaceSession)this.repository.getOrCreateSession())
+ .isProcessingDelta()) {
+ try {
+ Thread.sleep(TIME_TO_WAIT_BEFORE_CHECKING_SESSIONDELTA);
+ } catch (InterruptedException e) {
+ throw new SaveException(e.getMessage());
+ }
}
- }
- // We send a warning to the WorkspaceSession if necessary
- treatSessionWarning(resource);
+ // Step 2: we send a warning to the WorkspaceSession if necessary
+ treatSessionWarning(resource);
- // We finally save this resource
- if (resource.getContents().isEmpty()) {
- resource.delete(null);
- } else {
- resource.save(getSaveOptions());
- resource.setTrackingModification(true);
- }
+ // Step 3: save the resource
- } else {
- // Removing dangling references
- Iterator<EObject> iterator = resource.getContents().iterator();
- while (iterator.hasNext()) {
- EObject root = iterator.next();
- if (root.eContainer() != null && root.eContainer().eResource() == null) {
- iterator.remove();
+ if (resource.getContents().isEmpty()) {
+ // if the resource is empty, we delete it
+ resource.delete(getSaveOptions());
+ } else {
+ resource.save(getSaveOptions());
}
- }
- if (resource.getContents().isEmpty()) {
- resource.delete(null);
+ } catch (IOException e) {
+ removeDanglingElements(resource);
+ } catch (RepositoryConnectionException e) {
+ saveException = new SaveException(e.getMessage());
}
}
- } catch (IOException e) {
- throw new SaveException(e.getMessage());
} catch (RepositoryConnectionException e) {
- throw new SaveException(e.getMessage());
+ saveException = new SaveException(e.getMessage());
+ } catch (IOException e) {
+ saveException = new SaveException(e.getMessage());
}
+
}
} catch (ConcurrentModificationException cme) {
@@ -262,10 +255,78 @@
// FIXME : can we make a better choice ? The causes of this exception don't seem obvious
save();
}
+ if (saveException != null) {
+ throw saveException;
+ }
}
/**
+ * Returns true if the resource will get a different serialization than the one on the disk.
+ *
+ * @param options
+ * save options.
+ * @return true if the resource will get a different serialization than the one on the disk.
+ * @throws IOException
+ * on error while saving.
+ */
+ public boolean hasDifferentSerialization(final Resource resourcetoSave) throws IOException {
+ // CHECKSTYLE:OFF : code coming from
+ // ResourceImpl.saveOnlyIfChangedWithFileBuffer
+ resourcetoSave.eSetDeliver(false);
+ final File temporaryFile = File.createTempFile("ResourceSaveHelper", null);
+ boolean equal = true;
+ try {
+ final URI temporaryFileURI = URI.createFileURI(temporaryFile.getPath());
+
+ final URIConverter uriConverter = resourcetoSave.getResourceSet() == null ? new ResourceSetImpl()
+ .getURIConverter() : resourcetoSave.getResourceSet().getURIConverter();
+ final OutputStream temporaryFileOutputStream = uriConverter.createOutputStream(temporaryFileURI);
+ try {
+ resourcetoSave.save(temporaryFileOutputStream, getSaveOptions());
+ } finally {
+ temporaryFileOutputStream.close();
+ }
+
+ InputStream oldContents = null;
+ try {
+ oldContents = uriConverter.createInputStream(resourcetoSave.getURI());
+ } catch (final IOException exception) {
+ equal = false;
+ }
+ final byte[] newContentBuffer = new byte[4000];
+ if (oldContents != null) {
+ try {
+ final InputStream newContents = uriConverter.createInputStream(temporaryFileURI);
+ try {
+ final byte[] oldContentBuffer = new byte[4000];
+ LOOP: for (int oldLength = oldContents.read(oldContentBuffer), newLength = newContents
+ .read(newContentBuffer); (equal = oldLength == newLength) && oldLength > 0; oldLength = oldContents
+ .read(oldContentBuffer), newLength = newContents.read(newContentBuffer)) {
+ for (int i = 0; i < oldLength; ++i) {
+ if (oldContentBuffer[i] != newContentBuffer[i]) {
+ equal = false;
+ break LOOP;
+ }
+ }
+ }
+ } finally {
+ newContents.close();
+ }
+ } finally {
+ oldContents.close();
+ }
+ }
+ } finally {
+ temporaryFile.delete();
+ resourcetoSave.eSetDeliver(true);
+ }
+ // CHECKSTYLE:ON
+
+ return !equal;
+ }
+
+ /**
* Determine if a warning should be sent to the WorkspaceSession before saving the given resource and send
* this warning.
* <p>
@@ -438,9 +499,6 @@
// We calculate the Repository URI corresponding to the given path
URI uri = this.repository.getURIMatchingPath(repositoryRelativePath);
final Resource resource = this.repository.getResourceSet().getResource(uri, loadResourceOnDemand);
- if (resource != null) {
- resource.setTrackingModification(true);
- }
return resource;
}
@@ -472,7 +530,6 @@
}
}
}
- returnedResource.setTrackingModification(true);
return returnedResource;
}
@@ -551,9 +608,6 @@
if (elementToReload.eIsProxy()) {
resolve = EcoreUtil.resolve(elementToReload, this.repository.getResourceSet());
}
- for (Resource resource : this.repository.getResourceSet().getResources()) {
- resource.setTrackingModification(true);
- }
return resolve;
}
@@ -577,4 +631,69 @@
}
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter#getResourcePath(org.eclipse.emf.common.util.URI)
+ */
+ public String getResourcePath(URI resourceURI) {
+ return resourceURI.toString().replace("." + resourceURI.fileExtension(), "")
+ .replace("platform:/resource", "")
+ .replace(this.repository.getWorkspaceConfig().getRepositoryAbsolutePath(), "");
+ }
+
+ /**
+ * Removes the dangling references contained in the given resource and saves the resource (without
+ * notifying other clients).
+ *
+ * @param resource
+ * the resource to clean
+ * @return true if the given resource contained dangling references (and hence was cleaned and saved),
+ * false otherwise
+ * @throws SaveException
+ * if resource cannot be save
+ * @throws RepositoryConnectionException
+ * if repository cannot be accessed
+ */
+ private boolean removeDanglingElements(Resource resource) throws SaveException,
+ RepositoryConnectionException {
+
+ // Step 1: detect dangling references
+ Collection<EObject> objectsToRemove = Sets.newLinkedHashSet();
+ Iterator<EObject> iterator = resource.getContents().iterator();
+ while (iterator.hasNext()) {
+ EObject root = iterator.next();
+ if (root.eContainer() != null && root.eContainer().eResource() == null) {
+ objectsToRemove.add(root);
+ }
+ }
+
+ try {
+ if (!objectsToRemove.isEmpty()) {
+ // Step 2: save or delete the resource if empty
+ treatSessionWarning(resource);
+ if (resource.getContents().size() <= objectsToRemove.size()) {
+ resource.delete(getSaveOptions());
+ } else {
+ for (EObject objectToRemove : objectsToRemove) {
+ EcoreUtil.remove(objectToRemove);
+ }
+ for (EObject nonDanglingElement : resource.getContents()) {
+ new RemoveDanglingReferences(this.repository.getEditingDomain(), nonDanglingElement)
+ .execute();
+ }
+ resource.save(getSaveOptions());
+ }
+ return true;
+ } else {
+ for (EObject nonDanglingElement : resource.getContents()) {
+ new RemoveDanglingReferences(this.repository.getEditingDomain(), nonDanglingElement)
+ .execute();
+ }
+ }
+ } catch (IOException ioE) {
+ throw new SaveException(ioE.getMessage());
+ }
+ return false;
+ }
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/repository/WorkspaceSession.java b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/repository/WorkspaceSession.java
index 5fc9691..1d1a872 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/repository/WorkspaceSession.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab.ide/src/org/eclipse/mylyn/docs/intent/collab/ide/repository/WorkspaceSession.java
@@ -48,7 +48,7 @@
/**
* Resources that had been saved but for which we didn't receive any notification yet.
*/
- protected Collection<Resource> savedResources = new ArrayList<Resource>();
+ protected Collection<Resource> savedResources = Sets.newLinkedHashSet();
/**
* The {@link WorkspaceRepository} associated to this session.
@@ -179,31 +179,29 @@
// For each changed resources
for (final Resource changedResource : changedResources) {
- if (changedResource.isLoaded()) {
- repositoryAdapter.execute(new IntentCommand() {
+ repositoryAdapter.execute(new IntentCommand() {
- public void execute() {
- // TODO [DISABLED]
- // this make the resource unstable, some commands launched within the bad timing will
- // have side
- // effects
- // we want to reload the resource if it has been modified by another tool, but not if
- // it has been
- // modified by a client
- // temporary workaround: disabling
- // System.out.println("Reloading " + changedResource + "...");
- // // We reload this resource (if it's loaded, otherwise we simply do nothing)
- //
- // reloadResource(changedResource);
- //
- // System.out.println(changedResource + " reloaded.");
+ public void execute() {
+ // TODO [DISABLED]
+ // this make the resource unstable, some commands launched within the bad timing will
+ // have side
+ // effects
+ // we want to reload the resource if it has been modified by another tool, but not if
+ // it has been
+ // modified by a client
+ // temporary workaround: disabling
+ // System.out.println("Reloading " + changedResource + "...");
+ // // We reload this resource (if it's loaded, otherwise we simply do nothing)
+ //
+ // reloadResource(changedResource);
+ //
+ // System.out.println(changedResource + " reloaded.");
- // Finally, we notify the listeners of this session
- notifyListeners(changedResource);
- }
+ // Finally, we notify the listeners of this session
+ notifyListeners(changedResource);
+ }
- });
- }
+ });
}
}
@@ -283,7 +281,7 @@
private void notifyListeners(Resource resource) {
// Step 1 : notifying type listeners
- for (WorkspaceTypeListener listener : this.workspaceSessionListeners) {
+ for (WorkspaceTypeListener listener : Sets.newLinkedHashSet(this.workspaceSessionListeners)) {
listener.notifyResourceChanged(resource);
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryAdapter.java b/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryAdapter.java
index c61b7a6..dedaf7c 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryAdapter.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryAdapter.java
@@ -13,6 +13,7 @@
import java.util.Collection;
import java.util.Set;
+import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
@@ -81,6 +82,15 @@
Resource getResource(String repositoryRelativePath);
/**
+ * Returns the repository path corresponding to the Resource located at the given URI.
+ *
+ * @param resourceURI
+ * the resourceURI
+ * @return the repository path corresponding to the Resource located at the given URI
+ */
+ String getResourcePath(URI resourceURI);
+
+ /**
* Creates the resource located at the given path ; if a resource already exists, returns it.
*
* @param path
diff --git a/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryStructurer.java b/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryStructurer.java
index 70ca01a..742cfbb 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryStructurer.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.collab/src/org/eclipse/mylyn/docs/intent/collab/handlers/adapters/RepositoryStructurer.java
@@ -10,7 +10,6 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.collab.handlers.adapters;
-import java.util.Collection;
/**
* Repository Structurer used to restructure automaticly the resources contained in the repository :
@@ -36,9 +35,8 @@
*
* @param repositoryAdapter
* the RepositoryAdapter to use for restructuring the repository.
- * @return the pathes of the modified resources
* @throws ReadOnlyException
* if the current context associated to the given adapter is read-only
*/
- Collection<String> structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException;
+ void structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException;
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/model/compilerInformations.ecore b/plugins/org.eclipse.mylyn.docs.intent.core/model/compilerInformations.ecore
index 6b10473..0e469d3 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/model/compilerInformations.ecore
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/model/compilerInformations.ecore
@@ -68,7 +68,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompilationStatus">
<eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
- eType="ecore:EClass document.ecore#//IntentGenericElement"/>
+ eType="ecore:EClass document.ecore#//IntentGenericElement" eOpposite="document.ecore#//IntentGenericElement/compilationStatus"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="message" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="severity" lowerBound="1"
@@ -80,6 +80,7 @@
upperBound="-1" eType="#//CompilationStatus"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelingUnitToStatusList"
upperBound="-1" eType="#//ModelingUnitToStatusList" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="validationTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompilationInformationHolder">
<eStructuralFeatures xsi:type="ecore:EReference" name="generatedElementList" upperBound="-1"
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/model/document.ecore b/plugins/org.eclipse.mylyn.docs.intent.core/model/document.ecore
index ed227bc..070db60 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/model/document.ecore
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/model/document.ecore
@@ -4,7 +4,10 @@
nsPrefix="intentDocument">
<eClassifiers xsi:type="ecore:EClass" name="IntentGenericElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="compilationStatus" upperBound="-1"
- eType="ecore:EClass compilerInformations.ecore#//CompilationStatus" containment="true"/>
+ eType="ecore:EClass compilerInformations.ecore#//CompilationStatus" containment="true"
+ eOpposite="compilerInformations.ecore#//CompilationStatus/target"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="indexEntry" eType="ecore:EClass indexer.ecore#//IntentIndexEntry"
+ eOpposite="indexer.ecore#//IntentIndexEntry/referencedElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntentStructuredElement" abstract="true"
eSuperTypes="../../org.eclipse.mylyn.docs.intent.markup/model/markup.ecore#//Section #//IntentGenericElement">
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.ecore b/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.ecore
index 0e9c106..3881c46 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.ecore
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.ecore
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="indexer"
- nsURI="http://www.eclipse.org/intent/indexer/0.7" nsPrefix="intentIndexer">
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="indexer" nsURI="http://www.eclipse.org/intent/indexer/0.7" nsPrefix="intentIndexer">
<eClassifiers xsi:type="ecore:EClass" name="IntentIndex">
<eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
eType="#//IntentIndexEntry" containment="true"/>
@@ -10,7 +8,8 @@
<eClassifiers xsi:type="ecore:EClass" name="IntentIndexEntry">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//INDEX_ENTRY_TYPE"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="referencedElement" eType="ecore:EClass document.ecore#//IntentGenericElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referencedElement" eType="ecore:EClass document.ecore#//IntentGenericElement"
+ eOpposite="document.ecore#//IntentGenericElement/indexEntry"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subEntries" upperBound="-1"
eType="#//IntentIndexEntry" containment="true"/>
</eClassifiers>
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.genmodel b/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.genmodel
deleted file mode 100644
index ee78466..0000000
--- a/plugins/org.eclipse.mylyn.docs.intent.core/model/indexer.genmodel
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.mylyn.docs.intent.core/src-gen"
- modelPluginID="org.eclipse.mylyn.docs.intent.core" modelName="Indexer" rootExtendsInterface="org.eclipse.emf.cdo.CDOObject"
- rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl" reflectiveDelegation="true"
- importerID="org.eclipse.emf.importer.cdo" featureDelegation="Reflective" containmentProxies="true"
- complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../org.eclipse.mylyn.docs.intent.markup/model/markupCDO.genmodel#//markup intent.genmodel#//modelingunit intent.genmodel#//genericunit intent.genmodel#//document intent.genmodel#//compiler intent.genmodel#//descriptionunit">
- <foreignModel>indexer.ecore</foreignModel>
- <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
- <genPackages prefix="IntentIndexer" basePackage="org.eclipse.mylyn.docs.intent.core"
- disposableProviderFactory="true" ecorePackage="indexer.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="indexer.ecore#//INDEX_ENTRY_TYPE">
- <genEnumLiterals ecoreEnumLiteral="indexer.ecore#//INDEX_ENTRY_TYPE/IntentDocument"/>
- <genEnumLiterals ecoreEnumLiteral="indexer.ecore#//INDEX_ENTRY_TYPE/IntentChapter"/>
- <genEnumLiterals ecoreEnumLiteral="indexer.ecore#//INDEX_ENTRY_TYPE/IntentSection"/>
- </genEnums>
- <genClasses ecoreClass="indexer.ecore#//IntentIndex">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference indexer.ecore#//IntentIndex/entries"/>
- </genClasses>
- <genClasses ecoreClass="indexer.ecore#//IntentIndexEntry">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute indexer.ecore#//IntentIndexEntry/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute indexer.ecore#//IntentIndexEntry/type"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference indexer.ecore#//IntentIndexEntry/referencedElement"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference indexer.ecore#//IntentIndexEntry/subEntries"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/model/intent.genmodel b/plugins/org.eclipse.mylyn.docs.intent.core/model/intent.genmodel
index 976bb70..98b9c91 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/model/intent.genmodel
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/model/intent.genmodel
@@ -7,115 +7,23 @@
featureDelegation="Reflective" containmentProxies="true" complianceLevel="5.0"
copyrightFields="false" usedGenPackages="../../org.eclipse.mylyn.docs.intent.markup/model/markupCDO.genmodel#//markup"
classNamePattern="">
- <foreignModel>modelingUnit.ecore</foreignModel>
+ <foreignModel>indexer.ecore</foreignModel>
<modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
- <genPackages prefix="ModelingUnit" basePackage="org.eclipse.mylyn.docs.intent.core"
- disposableProviderFactory="true" ecorePackage="modelingUnit.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="modelingUnit.ecore#//AffectationOperator">
- <genEnumLiterals ecoreEnumLiteral="modelingUnit.ecore#//AffectationOperator/SINGLE_VALUED_AFFECTATION"/>
- <genEnumLiterals ecoreEnumLiteral="modelingUnit.ecore#//AffectationOperator/MULTI_VALUED_AFFECTATION"/>
+ <genPackages prefix="IntentIndexer" basePackage="org.eclipse.mylyn.docs.intent.core"
+ disposableProviderFactory="true" ecorePackage="indexer.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="indexer.ecore#//INDEX_ENTRY_TYPE">
+ <genEnumLiterals ecoreEnumLiteral="indexer.ecore#//INDEX_ENTRY_TYPE/IntentDocument"/>
+ <genEnumLiterals ecoreEnumLiteral="indexer.ecore#//INDEX_ENTRY_TYPE/IntentChapter"/>
+ <genEnumLiterals ecoreEnumLiteral="indexer.ecore#//INDEX_ENTRY_TYPE/IntentSection"/>
</genEnums>
- <genClasses ecoreClass="modelingUnit.ecore#//KeyValForAnnotation">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//KeyValForAnnotation/key"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//KeyValForAnnotation/value"/>
+ <genClasses ecoreClass="indexer.ecore#//IntentIndex">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference indexer.ecore#//IntentIndex/entries"/>
</genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//ModelingUnit">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnit/usedBy"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnit/seeAlso"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnit/resource"/>
- </genClasses>
- <genClasses image="false" ecoreClass="modelingUnit.ecore#//ModelingUnitInstruction"/>
- <genClasses ecoreClass="modelingUnit.ecore#//ResourceReference">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ResourceReference/referencedElement"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceReference/lineBreak"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//ModelingUnitInstructionReference">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnitInstructionReference/referencedElement"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//InstanciationInstructionReference">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//InstanciationInstructionReference/referencedElement"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//ResourceDeclaration">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceDeclaration/uri"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceDeclaration/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceDeclaration/contentType"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ResourceDeclaration/content"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//IntentSectionReferenceinModelingUnit"/>
- <genClasses ecoreClass="modelingUnit.ecore#//LabelinModelingUnit"/>
- <genClasses ecoreClass="modelingUnit.ecore#//AnnotationDeclaration">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//AnnotationDeclaration/annotationID"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//AnnotationDeclaration/map"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//TypeReference">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//TypeReference/resolvedType"/>
- </genClasses>
- <genClasses image="false" ecoreClass="modelingUnit.ecore#//InstanceLevelInstruction">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//InstanceLevelInstruction/metaType"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//InstanciationInstruction">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//InstanciationInstruction/name"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//InstanciationInstruction/structuralFeatures"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//StructuralFeatureAffectation">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//StructuralFeatureAffectation/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//StructuralFeatureAffectation/usedOperator"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//StructuralFeatureAffectation/values"/>
- </genClasses>
- <genClasses image="false" ecoreClass="modelingUnit.ecore#//ValueForStructuralFeature"/>
- <genClasses ecoreClass="modelingUnit.ecore#//NativeValueForStructuralFeature">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//NativeValueForStructuralFeature/value"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//NewObjectValueForStructuralFeature">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//NewObjectValueForStructuralFeature/value"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//ReferenceValueForStructuralFeature">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ReferenceValueForStructuralFeature/referencedElement"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ReferenceValueForStructuralFeature/referencedMetaType"/>
- </genClasses>
- <genClasses ecoreClass="modelingUnit.ecore#//ContributionInstruction">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ContributionInstruction/referencedElement"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ContributionInstruction/contributions"/>
- </genClasses>
- </genPackages>
- <genPackages prefix="GenericUnit" basePackage="org.eclipse.mylyn.docs.intent.core"
- disposableProviderFactory="true" ecorePackage="genericUnit.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="genericUnit.ecore#//TypeLabel">
- <genEnumLiterals ecoreEnumLiteral="genericUnit.ecore#//TypeLabel/LAZY"/>
- <genEnumLiterals ecoreEnumLiteral="genericUnit.ecore#//TypeLabel/EXPLICIT"/>
- </genEnums>
- <genClasses image="false" ecoreClass="genericUnit.ecore#//GenericUnit">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference genericUnit.ecore#//GenericUnit/instructions"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//GenericUnit/unitName"/>
- </genClasses>
- <genClasses image="false" ecoreClass="genericUnit.ecore#//UnitInstruction">
- <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference genericUnit.ecore#//UnitInstruction/unit"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//UnitInstruction/lineBreak"/>
- </genClasses>
- <genClasses ecoreClass="genericUnit.ecore#//UnitInstructionReference">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference genericUnit.ecore#//UnitInstructionReference/referencedElement"/>
- </genClasses>
- <genClasses ecoreClass="genericUnit.ecore#//LabelDeclarationReference">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference genericUnit.ecore#//LabelDeclarationReference/referencedElement"/>
- </genClasses>
- <genClasses ecoreClass="genericUnit.ecore#//IntentSectionReferenceInstruction">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference genericUnit.ecore#//IntentSectionReferenceInstruction/referencedObject"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//IntentSectionReferenceInstruction/textToPrint"/>
- </genClasses>
- <genClasses ecoreClass="genericUnit.ecore#//LabelDeclaration">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelDeclaration/labelValue"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelDeclaration/textToPrint"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelDeclaration/type"/>
- </genClasses>
- <genClasses ecoreClass="genericUnit.ecore#//LabelReferenceInstruction">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference genericUnit.ecore#//LabelReferenceInstruction/referencedLabel"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelReferenceInstruction/type"/>
- </genClasses>
- <genClasses ecoreClass="genericUnit.ecore#//AdressedAnnotation">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/receiver"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/source"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/message"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/type"/>
+ <genClasses ecoreClass="indexer.ecore#//IntentIndexEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute indexer.ecore#//IntentIndexEntry/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute indexer.ecore#//IntentIndexEntry/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference indexer.ecore#//IntentIndexEntry/referencedElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference indexer.ecore#//IntentIndexEntry/subEntries"/>
</genClasses>
</genPackages>
<genPackages prefix="IntentDocument" basePackage="org.eclipse.mylyn.docs.intent.core"
@@ -128,6 +36,7 @@
<genDataTypes ecoreDataType="document.ecore#//URI"/>
<genClasses ecoreClass="document.ecore#//IntentGenericElement">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference document.ecore#//IntentGenericElement/compilationStatus"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference document.ecore#//IntentGenericElement/indexEntry"/>
</genClasses>
<genClasses image="false" ecoreClass="document.ecore#//IntentStructuredElement">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute document.ecore#//IntentStructuredElement/formattedTitle"/>
@@ -239,6 +148,7 @@
<genClasses ecoreClass="compilerInformations.ecore#//CompilationStatusManager">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference compilerInformations.ecore#//CompilationStatusManager/compilationStatusList"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference compilerInformations.ecore#//CompilationStatusManager/modelingUnitToStatusList"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute compilerInformations.ecore#//CompilationStatusManager/validationTime"/>
</genClasses>
<genClasses ecoreClass="compilerInformations.ecore#//CompilationInformationHolder">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference compilerInformations.ecore#//CompilationInformationHolder/generatedElementList"/>
@@ -275,6 +185,46 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute compilerInformations.ecore#//SynchronizerCompilationStatus/compiledResourceState"/>
</genClasses>
</genPackages>
+ <genPackages prefix="GenericUnit" basePackage="org.eclipse.mylyn.docs.intent.core"
+ disposableProviderFactory="true" ecorePackage="genericUnit.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="genericUnit.ecore#//TypeLabel">
+ <genEnumLiterals ecoreEnumLiteral="genericUnit.ecore#//TypeLabel/LAZY"/>
+ <genEnumLiterals ecoreEnumLiteral="genericUnit.ecore#//TypeLabel/EXPLICIT"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="genericUnit.ecore#//GenericUnit">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference genericUnit.ecore#//GenericUnit/instructions"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//GenericUnit/unitName"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="genericUnit.ecore#//UnitInstruction">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference genericUnit.ecore#//UnitInstruction/unit"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//UnitInstruction/lineBreak"/>
+ </genClasses>
+ <genClasses ecoreClass="genericUnit.ecore#//UnitInstructionReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference genericUnit.ecore#//UnitInstructionReference/referencedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="genericUnit.ecore#//LabelDeclarationReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference genericUnit.ecore#//LabelDeclarationReference/referencedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="genericUnit.ecore#//IntentSectionReferenceInstruction">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference genericUnit.ecore#//IntentSectionReferenceInstruction/referencedObject"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//IntentSectionReferenceInstruction/textToPrint"/>
+ </genClasses>
+ <genClasses ecoreClass="genericUnit.ecore#//LabelDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelDeclaration/labelValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelDeclaration/textToPrint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelDeclaration/type"/>
+ </genClasses>
+ <genClasses ecoreClass="genericUnit.ecore#//LabelReferenceInstruction">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference genericUnit.ecore#//LabelReferenceInstruction/referencedLabel"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//LabelReferenceInstruction/type"/>
+ </genClasses>
+ <genClasses ecoreClass="genericUnit.ecore#//AdressedAnnotation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/receiver"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/source"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/message"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute genericUnit.ecore#//AdressedAnnotation/type"/>
+ </genClasses>
+ </genPackages>
<genPackages prefix="DescriptionUnit" basePackage="org.eclipse.mylyn.docs.intent.core"
disposableProviderFactory="true" ecorePackage="descriptionUnit.ecore#/">
<genClasses ecoreClass="descriptionUnit.ecore#//DescriptionUnit"/>
@@ -283,4 +233,73 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference descriptionUnit.ecore#//DescriptionBloc/descriptionBloc"/>
</genClasses>
</genPackages>
+ <genPackages prefix="ModelingUnit" basePackage="org.eclipse.mylyn.docs.intent.core"
+ disposableProviderFactory="true" ecorePackage="modelingUnit.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="modelingUnit.ecore#//AffectationOperator">
+ <genEnumLiterals ecoreEnumLiteral="modelingUnit.ecore#//AffectationOperator/SINGLE_VALUED_AFFECTATION"/>
+ <genEnumLiterals ecoreEnumLiteral="modelingUnit.ecore#//AffectationOperator/MULTI_VALUED_AFFECTATION"/>
+ </genEnums>
+ <genClasses ecoreClass="modelingUnit.ecore#//KeyValForAnnotation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//KeyValForAnnotation/key"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//KeyValForAnnotation/value"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//ModelingUnit">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnit/usedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnit/seeAlso"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnit/resource"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="modelingUnit.ecore#//ModelingUnitInstruction"/>
+ <genClasses ecoreClass="modelingUnit.ecore#//ResourceReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ResourceReference/referencedElement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceReference/lineBreak"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//ModelingUnitInstructionReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ModelingUnitInstructionReference/referencedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//InstanciationInstructionReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//InstanciationInstructionReference/referencedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//ResourceDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceDeclaration/uri"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceDeclaration/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//ResourceDeclaration/contentType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ResourceDeclaration/content"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//IntentSectionReferenceinModelingUnit"/>
+ <genClasses ecoreClass="modelingUnit.ecore#//LabelinModelingUnit"/>
+ <genClasses ecoreClass="modelingUnit.ecore#//AnnotationDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//AnnotationDeclaration/annotationID"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//AnnotationDeclaration/map"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//TypeReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//TypeReference/resolvedType"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="modelingUnit.ecore#//InstanceLevelInstruction">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//InstanceLevelInstruction/metaType"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//InstanciationInstruction">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//InstanciationInstruction/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//InstanciationInstruction/structuralFeatures"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//StructuralFeatureAffectation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//StructuralFeatureAffectation/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//StructuralFeatureAffectation/usedOperator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//StructuralFeatureAffectation/values"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="modelingUnit.ecore#//ValueForStructuralFeature"/>
+ <genClasses ecoreClass="modelingUnit.ecore#//NativeValueForStructuralFeature">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelingUnit.ecore#//NativeValueForStructuralFeature/value"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//NewObjectValueForStructuralFeature">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//NewObjectValueForStructuralFeature/value"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//ReferenceValueForStructuralFeature">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ReferenceValueForStructuralFeature/referencedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ReferenceValueForStructuralFeature/referencedMetaType"/>
+ </genClasses>
+ <genClasses ecoreClass="modelingUnit.ecore#//ContributionInstruction">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ContributionInstruction/referencedElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelingUnit.ecore#//ContributionInstruction/contributions"/>
+ </genClasses>
+ </genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatus.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatus.java
index 99f9754..00937fe 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatus.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatus.java
@@ -34,25 +34,27 @@
*/
public interface CompilationStatus extends CDOObject {
/**
- * Returns the value of the '<em><b>Target</b></em>' reference.
+ * Returns the value of the '<em><b>Target</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getCompilationStatus <em>Compilation Status</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Target</em>' reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Target</em>' reference.
+ * @return the value of the '<em>Target</em>' container reference.
* @see #setTarget(IntentGenericElement)
* @see org.eclipse.mylyn.docs.intent.core.compiler.CompilerPackage#getCompilationStatus_Target()
- * @model required="true"
+ * @see org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getCompilationStatus
+ * @model opposite="compilationStatus" required="true" transient="false"
* @generated
*/
IntentGenericElement getTarget();
/**
- * Sets the value of the '{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus#getTarget <em>Target</em>}' reference.
+ * Sets the value of the '{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus#getTarget <em>Target</em>}' container reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
- * @param value the new value of the '<em>Target</em>' reference.
+ * @param value the new value of the '<em>Target</em>' container reference.
* @see #getTarget()
* @generated
*/
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatusManager.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatusManager.java
index a1309a7..36733ac 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatusManager.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilationStatusManager.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.core.compiler;
+import java.math.BigInteger;
import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
@@ -24,6 +25,7 @@
* <ul>
* <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager#getCompilationStatusList <em>Compilation Status List</em>}</li>
* <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager#getModelingUnitToStatusList <em>Modeling Unit To Status List</em>}</li>
+ * <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager#getValidationTime <em>Validation Time</em>}</li>
* </ul>
* </p>
*
@@ -67,4 +69,30 @@
*/
EMap<ModelingUnit, EList<CompilationStatus>> getModelingUnitToStatusList();
+ /**
+ * Returns the value of the '<em><b>Validation Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Validation Time</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Validation Time</em>' attribute.
+ * @see #setValidationTime(BigInteger)
+ * @see org.eclipse.mylyn.docs.intent.core.compiler.CompilerPackage#getCompilationStatusManager_ValidationTime()
+ * @model
+ * @generated
+ */
+ BigInteger getValidationTime();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager#getValidationTime <em>Validation Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Validation Time</em>' attribute.
+ * @see #getValidationTime()
+ * @generated
+ */
+ void setValidationTime(BigInteger value);
+
} // CompilationStatusManager
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilerPackage.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilerPackage.java
index e641de3..9841fbf 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilerPackage.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/CompilerPackage.java
@@ -467,13 +467,22 @@
int COMPILATION_STATUS_MANAGER__MODELING_UNIT_TO_STATUS_LIST = 1;
/**
+ * The feature id for the '<em><b>Validation Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPILATION_STATUS_MANAGER__VALIDATION_TIME = 2;
+
+ /**
* The number of structural features of the '<em>Compilation Status Manager</em>' class. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @generated
* @ordered
*/
- int COMPILATION_STATUS_MANAGER_FEATURE_COUNT = 2;
+ int COMPILATION_STATUS_MANAGER_FEATURE_COUNT = 3;
/**
* The meta object id for the '{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilationInformationHolderImpl <em>Compilation Information Holder</em>}' class.
@@ -723,7 +732,7 @@
int SYNCHRONIZER_COMPILATION_STATUS = 16;
/**
- * The feature id for the '<em><b>Target</b></em>' reference.
+ * The feature id for the '<em><b>Target</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -1229,6 +1238,17 @@
EReference getCompilationStatusManager_ModelingUnitToStatusList();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager#getValidationTime <em>Validation Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Validation Time</em>'.
+ * @see org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager#getValidationTime()
+ * @see #getCompilationStatusManager()
+ * @generated
+ */
+ EAttribute getCompilationStatusManager_ValidationTime();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationInformationHolder <em>Compilation Information Holder</em>}'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the meta object for class '<em>Compilation Information Holder</em>'.
@@ -1830,7 +1850,7 @@
EClass COMPILATION_STATUS = eINSTANCE.getCompilationStatus();
/**
- * The meta object literal for the '<em><b>Target</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Target</b></em>' container reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -1888,6 +1908,15 @@
.getCompilationStatusManager_ModelingUnitToStatusList();
/**
+ * The meta object literal for the '<em><b>Validation Time</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COMPILATION_STATUS_MANAGER__VALIDATION_TIME = eINSTANCE
+ .getCompilationStatusManager_ValidationTime();
+
+ /**
* The meta object literal for the '{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilationInformationHolderImpl <em>Compilation Information Holder</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilationInformationHolderImpl
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilationStatusManagerImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilationStatusManagerImpl.java
index 50c70a9..0704c73 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilationStatusManagerImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilationStatusManagerImpl.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.core.compiler.impl;
+import java.math.BigInteger;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
@@ -27,6 +28,7 @@
* <ul>
* <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilationStatusManagerImpl#getCompilationStatusList <em>Compilation Status List</em>}</li>
* <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilationStatusManagerImpl#getModelingUnitToStatusList <em>Modeling Unit To Status List</em>}</li>
+ * <li>{@link org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilationStatusManagerImpl#getValidationTime <em>Validation Time</em>}</li>
* </ul>
* </p>
*
@@ -79,4 +81,22 @@
CompilerPackage.Literals.COMPILATION_STATUS_MANAGER__MODELING_UNIT_TO_STATUS_LIST, true);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BigInteger getValidationTime() {
+ return (BigInteger)eGet(CompilerPackage.Literals.COMPILATION_STATUS_MANAGER__VALIDATION_TIME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValidationTime(BigInteger newValidationTime) {
+ eSet(CompilerPackage.Literals.COMPILATION_STATUS_MANAGER__VALIDATION_TIME, newValidationTime);
+ }
+
} // CompilationStatusManagerImpl
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerFactoryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerFactoryImpl.java
index b931575..07ac7d0 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerFactoryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerFactoryImpl.java
@@ -20,6 +20,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.mylyn.docs.intent.core.compiler.*;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationInformationHolder;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationMessageType;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerPackageImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerPackageImpl.java
index ae3a12d..41a1f62 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerPackageImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/impl/CompilerPackageImpl.java
@@ -38,6 +38,8 @@
import org.eclipse.mylyn.docs.intent.core.document.impl.IntentDocumentPackageImpl;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
import org.eclipse.mylyn.docs.intent.core.genericunit.impl.GenericUnitPackageImpl;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
+import org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnitPackage;
import org.eclipse.mylyn.docs.intent.core.modelingunit.impl.ModelingUnitPackageImpl;
import org.eclipse.mylyn.docs.intent.markup.markup.MarkupPackage;
@@ -219,32 +221,37 @@
MarkupPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
- ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
- GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
+ IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) : IntentIndexerPackage.eINSTANCE);
IntentDocumentPackageImpl theIntentDocumentPackage = (IntentDocumentPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) instanceof IntentDocumentPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) : IntentDocumentPackage.eINSTANCE);
+ GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
DescriptionUnitPackageImpl theDescriptionUnitPackage = (DescriptionUnitPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) instanceof DescriptionUnitPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) : DescriptionUnitPackage.eINSTANCE);
+ ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
// Create package meta-data objects
theCompilerPackage.createPackageContents();
- theModelingUnitPackage.createPackageContents();
- theGenericUnitPackage.createPackageContents();
+ theIntentIndexerPackage.createPackageContents();
theIntentDocumentPackage.createPackageContents();
+ theGenericUnitPackage.createPackageContents();
theDescriptionUnitPackage.createPackageContents();
+ theModelingUnitPackage.createPackageContents();
// Initialize created meta-data
theCompilerPackage.initializePackageContents();
- theModelingUnitPackage.initializePackageContents();
- theGenericUnitPackage.initializePackageContents();
+ theIntentIndexerPackage.initializePackageContents();
theIntentDocumentPackage.initializePackageContents();
+ theGenericUnitPackage.initializePackageContents();
theDescriptionUnitPackage.initializePackageContents();
+ theModelingUnitPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theCompilerPackage.freeze();
@@ -543,6 +550,15 @@
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCompilationStatusManager_ValidationTime() {
+ return (EAttribute)compilationStatusManagerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@@ -876,6 +892,7 @@
createEReference(compilationStatusManagerEClass, COMPILATION_STATUS_MANAGER__COMPILATION_STATUS_LIST);
createEReference(compilationStatusManagerEClass,
COMPILATION_STATUS_MANAGER__MODELING_UNIT_TO_STATUS_LIST);
+ createEAttribute(compilationStatusManagerEClass, COMPILATION_STATUS_MANAGER__VALIDATION_TIME);
compilationInformationHolderEClass = createEClass(COMPILATION_INFORMATION_HOLDER);
createEReference(compilationInformationHolderEClass,
@@ -1066,9 +1083,9 @@
initEClass(compilationStatusEClass, CompilationStatus.class, "CompilationStatus", !IS_ABSTRACT,
!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCompilationStatus_Target(), theIntentDocumentPackage.getIntentGenericElement(),
- null, "target", null, 1, 1, CompilationStatus.class, !IS_TRANSIENT, !IS_VOLATILE,
- IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
- IS_ORDERED);
+ theIntentDocumentPackage.getIntentGenericElement_CompilationStatus(), "target", null, 1, 1,
+ CompilationStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCompilationStatus_Message(), ecorePackage.getEString(), "message", null, 1, 1,
CompilationStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1089,6 +1106,9 @@
this.getModelingUnitToStatusList(), null, "modelingUnitToStatusList", null, 0, -1,
CompilationStatusManager.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCompilationStatusManager_ValidationTime(), ecorePackage.getEBigInteger(),
+ "validationTime", null, 0, 1, CompilationStatusManager.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(compilationInformationHolderEClass, CompilationInformationHolder.class,
"CompilationInformationHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerAdapterFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerAdapterFactory.java
index 371e94e..0d7db4f 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerAdapterFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerAdapterFactory.java
@@ -18,6 +18,7 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.mylyn.docs.intent.core.compiler.*;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationInformationHolder;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerSwitch.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerSwitch.java
index a0b5298..40cf3bb 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerSwitch.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/compiler/util/CompilerSwitch.java
@@ -17,6 +17,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.mylyn.docs.intent.core.compiler.*;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationInformationHolder;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatusManager;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/DescriptionUnitPackage.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/DescriptionUnitPackage.java
index edeb8e2..8cc2edc 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/DescriptionUnitPackage.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/DescriptionUnitPackage.java
@@ -78,6 +78,15 @@
int DESCRIPTION_UNIT__COMPILATION_STATUS = GenericUnitPackage.GENERIC_UNIT__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESCRIPTION_UNIT__INDEX_ENTRY = GenericUnitPackage.GENERIC_UNIT__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Instructions</b></em>' containment reference list.
* <!-- begin-user-doc
* --> <!-- end-user-doc -->
@@ -123,6 +132,15 @@
int DESCRIPTION_UNIT_INSTRUCTION__COMPILATION_STATUS = GenericUnitPackage.UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESCRIPTION_UNIT_INSTRUCTION__INDEX_ENTRY = GenericUnitPackage.UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
@@ -168,6 +186,15 @@
int DESCRIPTION_BLOC__COMPILATION_STATUS = DESCRIPTION_UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESCRIPTION_BLOC__INDEX_ENTRY = DESCRIPTION_UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitFactoryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitFactoryImpl.java
index 61bc794..b5de738 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitFactoryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitFactoryImpl.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.mylyn.docs.intent.core.descriptionunit.*;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionBloc;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnit;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnitFactory;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitPackageImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitPackageImpl.java
index 9818f99..919c732 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitPackageImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/impl/DescriptionUnitPackageImpl.java
@@ -25,6 +25,8 @@
import org.eclipse.mylyn.docs.intent.core.document.impl.IntentDocumentPackageImpl;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
import org.eclipse.mylyn.docs.intent.core.genericunit.impl.GenericUnitPackageImpl;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
+import org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnitPackage;
import org.eclipse.mylyn.docs.intent.core.modelingunit.impl.ModelingUnitPackageImpl;
import org.eclipse.mylyn.docs.intent.markup.markup.MarkupPackage;
@@ -111,32 +113,37 @@
MarkupPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
- ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
- GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
+ IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) : IntentIndexerPackage.eINSTANCE);
IntentDocumentPackageImpl theIntentDocumentPackage = (IntentDocumentPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) instanceof IntentDocumentPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) : IntentDocumentPackage.eINSTANCE);
CompilerPackageImpl theCompilerPackage = (CompilerPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI) instanceof CompilerPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI) : CompilerPackage.eINSTANCE);
+ GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
+ ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
// Create package meta-data objects
theDescriptionUnitPackage.createPackageContents();
- theModelingUnitPackage.createPackageContents();
- theGenericUnitPackage.createPackageContents();
+ theIntentIndexerPackage.createPackageContents();
theIntentDocumentPackage.createPackageContents();
theCompilerPackage.createPackageContents();
+ theGenericUnitPackage.createPackageContents();
+ theModelingUnitPackage.createPackageContents();
// Initialize created meta-data
theDescriptionUnitPackage.initializePackageContents();
- theModelingUnitPackage.initializePackageContents();
- theGenericUnitPackage.initializePackageContents();
+ theIntentIndexerPackage.initializePackageContents();
theIntentDocumentPackage.initializePackageContents();
theCompilerPackage.initializePackageContents();
+ theGenericUnitPackage.initializePackageContents();
+ theModelingUnitPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theDescriptionUnitPackage.freeze();
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitAdapterFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitAdapterFactory.java
index f8813ce..12e5a7c 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitAdapterFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitAdapterFactory.java
@@ -14,6 +14,7 @@
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.mylyn.docs.intent.core.descriptionunit.*;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionBloc;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnit;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnitInstruction;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitSwitch.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitSwitch.java
index d56fef4..ea069ba 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitSwitch.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/descriptionunit/util/DescriptionUnitSwitch.java
@@ -13,6 +13,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.mylyn.docs.intent.core.descriptionunit.*;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionBloc;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnit;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnitInstruction;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentDocumentPackage.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentDocumentPackage.java
index 8b40059..6a2c324 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentDocumentPackage.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentDocumentPackage.java
@@ -87,13 +87,22 @@
int INTENT_GENERIC_ELEMENT__COMPILATION_STATUS = 0;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_GENERIC_ELEMENT__INDEX_ENTRY = 1;
+
+ /**
* The number of structural features of the '<em>Intent Generic Element</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INTENT_GENERIC_ELEMENT_FEATURE_COUNT = 1;
+ int INTENT_GENERIC_ELEMENT_FEATURE_COUNT = 2;
/**
* The meta object id for the '{@link org.eclipse.mylyn.docs.intent.core.document.impl.AnnotationMappingImpl <em>Annotation Mapping</em>}' class.
@@ -161,13 +170,22 @@
int INTENT_STRUCTURED_ELEMENT__COMPILATION_STATUS = MarkupPackage.SECTION_FEATURE_COUNT + 0;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_STRUCTURED_ELEMENT__INDEX_ENTRY = MarkupPackage.SECTION_FEATURE_COUNT + 1;
+
+ /**
* The feature id for the '<em><b>Formatted Title</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INTENT_STRUCTURED_ELEMENT__FORMATTED_TITLE = MarkupPackage.SECTION_FEATURE_COUNT + 1;
+ int INTENT_STRUCTURED_ELEMENT__FORMATTED_TITLE = MarkupPackage.SECTION_FEATURE_COUNT + 2;
/**
* The number of structural features of the '<em>Intent Structured Element</em>' class.
@@ -176,7 +194,7 @@
* @generated
* @ordered
*/
- int INTENT_STRUCTURED_ELEMENT_FEATURE_COUNT = MarkupPackage.SECTION_FEATURE_COUNT + 2;
+ int INTENT_STRUCTURED_ELEMENT_FEATURE_COUNT = MarkupPackage.SECTION_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Key</b></em>' attribute.
@@ -363,6 +381,15 @@
int INTENT_DOCUMENT__COMPILATION_STATUS = INTENT_STRUCTURED_ELEMENT__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_DOCUMENT__INDEX_ENTRY = INTENT_STRUCTURED_ELEMENT__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Formatted Title</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -454,6 +481,15 @@
int INTENT_SUB_SECTION_CONTAINER__COMPILATION_STATUS = INTENT_STRUCTURED_ELEMENT__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_SUB_SECTION_CONTAINER__INDEX_ENTRY = INTENT_STRUCTURED_ELEMENT__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Formatted Title</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -563,6 +599,15 @@
int INTENT_CHAPTER__COMPILATION_STATUS = INTENT_SUB_SECTION_CONTAINER__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_CHAPTER__INDEX_ENTRY = INTENT_SUB_SECTION_CONTAINER__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Formatted Title</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -672,6 +717,15 @@
int INTENT_SECTION__COMPILATION_STATUS = INTENT_SUB_SECTION_CONTAINER__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_SECTION__INDEX_ENTRY = INTENT_SUB_SECTION_CONTAINER__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Formatted Title</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -867,6 +921,17 @@
EReference getIntentGenericElement_CompilationStatus();
/**
+ * Returns the meta object for the reference '{@link org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getIndexEntry <em>Index Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Index Entry</em>'.
+ * @see org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getIndexEntry()
+ * @see #getIntentGenericElement()
+ * @generated
+ */
+ EReference getIntentGenericElement_IndexEntry();
+
+ /**
* Returns the meta object for class '{@link java.util.Map.Entry <em>Annotation Mapping</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1262,6 +1327,14 @@
.getIntentGenericElement_CompilationStatus();
/**
+ * The meta object literal for the '<em><b>Index Entry</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTENT_GENERIC_ELEMENT__INDEX_ENTRY = eINSTANCE.getIntentGenericElement_IndexEntry();
+
+ /**
* The meta object literal for the '{@link org.eclipse.mylyn.docs.intent.core.document.impl.AnnotationMappingImpl <em>Annotation Mapping</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentGenericElement.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentGenericElement.java
index 09930be..7488dff 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentGenericElement.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/IntentGenericElement.java
@@ -13,6 +13,7 @@
import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.common.util.EList;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
/**
* <!-- begin-user-doc -->
@@ -23,6 +24,7 @@
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getCompilationStatus <em>Compilation Status</em>}</li>
+ * <li>{@link org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getIndexEntry <em>Index Entry</em>}</li>
* </ul>
* </p>
*
@@ -35,6 +37,7 @@
/**
* Returns the value of the '<em><b>Compilation Status</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus#getTarget <em>Target</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Compilation Status</em>' containment reference list isn't clear,
@@ -43,9 +46,38 @@
* <!-- end-user-doc -->
* @return the value of the '<em>Compilation Status</em>' containment reference list.
* @see org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage#getIntentGenericElement_CompilationStatus()
- * @model containment="true" resolveProxies="true"
+ * @see org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus#getTarget
+ * @model opposite="target" containment="true" resolveProxies="true"
* @generated
*/
EList<CompilationStatus> getCompilationStatus();
+ /**
+ * Returns the value of the '<em><b>Index Entry</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry#getReferencedElement <em>Referenced Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index Entry</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Index Entry</em>' reference.
+ * @see #setIndexEntry(IntentIndexEntry)
+ * @see org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage#getIntentGenericElement_IndexEntry()
+ * @see org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry#getReferencedElement
+ * @model opposite="referencedElement"
+ * @generated
+ */
+ IntentIndexEntry getIndexEntry();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getIndexEntry <em>Index Entry</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index Entry</em>' reference.
+ * @see #getIndexEntry()
+ * @generated
+ */
+ void setIndexEntry(IntentIndexEntry value);
+
} // IntentGenericElement
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentFactoryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentFactoryImpl.java
index bb4db33..346059d 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentFactoryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentFactoryImpl.java
@@ -18,6 +18,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.mylyn.docs.intent.core.document.*;
import org.eclipse.mylyn.docs.intent.core.document.IntentChapter;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocument;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentFactory;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentPackageImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentPackageImpl.java
index 7c23b94..246bd50 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentPackageImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentDocumentPackageImpl.java
@@ -38,6 +38,8 @@
import org.eclipse.mylyn.docs.intent.core.document.IntentSubSectionContainer;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
import org.eclipse.mylyn.docs.intent.core.genericunit.impl.GenericUnitPackageImpl;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
+import org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnitPackage;
import org.eclipse.mylyn.docs.intent.core.modelingunit.impl.ModelingUnitPackageImpl;
import org.eclipse.mylyn.docs.intent.markup.markup.MarkupPackage;
@@ -194,32 +196,37 @@
MarkupPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
- ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
- GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
+ IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) : IntentIndexerPackage.eINSTANCE);
CompilerPackageImpl theCompilerPackage = (CompilerPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI) instanceof CompilerPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI) : CompilerPackage.eINSTANCE);
+ GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
DescriptionUnitPackageImpl theDescriptionUnitPackage = (DescriptionUnitPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) instanceof DescriptionUnitPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) : DescriptionUnitPackage.eINSTANCE);
+ ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
// Create package meta-data objects
theIntentDocumentPackage.createPackageContents();
- theModelingUnitPackage.createPackageContents();
- theGenericUnitPackage.createPackageContents();
+ theIntentIndexerPackage.createPackageContents();
theCompilerPackage.createPackageContents();
+ theGenericUnitPackage.createPackageContents();
theDescriptionUnitPackage.createPackageContents();
+ theModelingUnitPackage.createPackageContents();
// Initialize created meta-data
theIntentDocumentPackage.initializePackageContents();
- theModelingUnitPackage.initializePackageContents();
- theGenericUnitPackage.initializePackageContents();
+ theIntentIndexerPackage.initializePackageContents();
theCompilerPackage.initializePackageContents();
+ theGenericUnitPackage.initializePackageContents();
theDescriptionUnitPackage.initializePackageContents();
+ theModelingUnitPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theIntentDocumentPackage.freeze();
@@ -252,6 +259,15 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EReference getIntentGenericElement_IndexEntry() {
+ return (EReference)intentGenericElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EClass getAnnotationMapping() {
return annotationMappingEClass;
}
@@ -575,6 +591,7 @@
// Create classes and their features
intentGenericElementEClass = createEClass(INTENT_GENERIC_ELEMENT);
createEReference(intentGenericElementEClass, INTENT_GENERIC_ELEMENT__COMPILATION_STATUS);
+ createEReference(intentGenericElementEClass, INTENT_GENERIC_ELEMENT__INDEX_ENTRY);
intentStructuredElementEClass = createEClass(INTENT_STRUCTURED_ELEMENT);
createEAttribute(intentStructuredElementEClass, INTENT_STRUCTURED_ELEMENT__FORMATTED_TITLE);
@@ -652,6 +669,8 @@
// Obtain other dependent packages
CompilerPackage theCompilerPackage = (CompilerPackage)EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI);
+ IntentIndexerPackage theIntentIndexerPackage = (IntentIndexerPackage)EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI);
MarkupPackage theMarkupPackage = (MarkupPackage)EPackage.Registry.INSTANCE
.getEPackage(MarkupPackage.eNS_URI);
GenericUnitPackage theGenericUnitPackage = (GenericUnitPackage)EPackage.Registry.INSTANCE
@@ -679,8 +698,13 @@
initEClass(intentGenericElementEClass, IntentGenericElement.class, "IntentGenericElement",
!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getIntentGenericElement_CompilationStatus(),
- theCompilerPackage.getCompilationStatus(), null, "compilationStatus", null, 0, -1,
- IntentGenericElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ theCompilerPackage.getCompilationStatus(), theCompilerPackage.getCompilationStatus_Target(),
+ "compilationStatus", null, 0, -1, IntentGenericElement.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+ initEReference(getIntentGenericElement_IndexEntry(), theIntentIndexerPackage.getIntentIndexEntry(),
+ theIntentIndexerPackage.getIntentIndexEntry_ReferencedElement(), "indexEntry", null, 0, 1,
+ IntentGenericElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(intentStructuredElementEClass, IntentStructuredElement.class, "IntentStructuredElement",
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentGenericElementImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentGenericElementImpl.java
index d5ede5c..9c1d437 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentGenericElementImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentGenericElementImpl.java
@@ -16,6 +16,7 @@
import org.eclipse.mylyn.docs.intent.core.compiler.CompilationStatus;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage;
import org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
/**
* <!-- begin-user-doc -->
@@ -25,6 +26,7 @@
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.mylyn.docs.intent.core.document.impl.IntentGenericElementImpl#getCompilationStatus <em>Compilation Status</em>}</li>
+ * <li>{@link org.eclipse.mylyn.docs.intent.core.document.impl.IntentGenericElementImpl#getIndexEntry <em>Index Entry</em>}</li>
* </ul>
* </p>
*
@@ -71,4 +73,23 @@
IntentDocumentPackage.Literals.INTENT_GENERIC_ELEMENT__COMPILATION_STATUS, true);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntentIndexEntry getIndexEntry() {
+ return (IntentIndexEntry)eGet(IntentDocumentPackage.Literals.INTENT_GENERIC_ELEMENT__INDEX_ENTRY,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIndexEntry(IntentIndexEntry newIndexEntry) {
+ eSet(IntentDocumentPackage.Literals.INTENT_GENERIC_ELEMENT__INDEX_ENTRY, newIndexEntry);
+ }
+
} //IntentGenericElementImpl
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentStructuredElementImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentStructuredElementImpl.java
index 3a04f2c..87f5157 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentStructuredElementImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/impl/IntentStructuredElementImpl.java
@@ -16,6 +16,7 @@
import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage;
import org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement;
import org.eclipse.mylyn.docs.intent.core.document.IntentStructuredElement;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
import org.eclipse.mylyn.docs.intent.markup.markup.impl.SectionImpl;
/**
@@ -26,6 +27,7 @@
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.mylyn.docs.intent.core.document.impl.IntentStructuredElementImpl#getCompilationStatus <em>Compilation Status</em>}</li>
+ * <li>{@link org.eclipse.mylyn.docs.intent.core.document.impl.IntentStructuredElementImpl#getIndexEntry <em>Index Entry</em>}</li>
* <li>{@link org.eclipse.mylyn.docs.intent.core.document.impl.IntentStructuredElementImpl#getFormattedTitle <em>Formatted Title</em>}</li>
* </ul>
* </p>
@@ -68,6 +70,25 @@
* <!-- end-user-doc -->
* @generated
*/
+ public IntentIndexEntry getIndexEntry() {
+ return (IntentIndexEntry)eGet(IntentDocumentPackage.Literals.INTENT_GENERIC_ELEMENT__INDEX_ENTRY,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIndexEntry(IntentIndexEntry newIndexEntry) {
+ eSet(IntentDocumentPackage.Literals.INTENT_GENERIC_ELEMENT__INDEX_ENTRY, newIndexEntry);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public String getFormattedTitle() {
return (String)eGet(IntentDocumentPackage.Literals.INTENT_STRUCTURED_ELEMENT__FORMATTED_TITLE, true);
}
@@ -92,6 +113,8 @@
switch (derivedFeatureID) {
case IntentDocumentPackage.INTENT_STRUCTURED_ELEMENT__COMPILATION_STATUS:
return IntentDocumentPackage.INTENT_GENERIC_ELEMENT__COMPILATION_STATUS;
+ case IntentDocumentPackage.INTENT_STRUCTURED_ELEMENT__INDEX_ENTRY:
+ return IntentDocumentPackage.INTENT_GENERIC_ELEMENT__INDEX_ENTRY;
default:
return -1;
}
@@ -110,6 +133,8 @@
switch (baseFeatureID) {
case IntentDocumentPackage.INTENT_GENERIC_ELEMENT__COMPILATION_STATUS:
return IntentDocumentPackage.INTENT_STRUCTURED_ELEMENT__COMPILATION_STATUS;
+ case IntentDocumentPackage.INTENT_GENERIC_ELEMENT__INDEX_ENTRY:
+ return IntentDocumentPackage.INTENT_STRUCTURED_ELEMENT__INDEX_ENTRY;
default:
return -1;
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentAdapterFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentAdapterFactory.java
index 738e16e..fd9bd1a 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentAdapterFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentAdapterFactory.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.mylyn.docs.intent.core.document.*;
import org.eclipse.mylyn.docs.intent.core.document.IntentChapter;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocument;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentSwitch.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentSwitch.java
index 06cc251..3aea875 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentSwitch.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/document/util/IntentDocumentSwitch.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.mylyn.docs.intent.core.document.*;
import org.eclipse.mylyn.docs.intent.core.document.IntentChapter;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocument;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/GenericUnitPackage.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/GenericUnitPackage.java
index 14bb1e4..60368cf 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/GenericUnitPackage.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/GenericUnitPackage.java
@@ -86,6 +86,15 @@
int GENERIC_UNIT__COMPILATION_STATUS = IntentDocumentPackage.INTENT_GENERIC_ELEMENT__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_UNIT__INDEX_ENTRY = IntentDocumentPackage.INTENT_GENERIC_ELEMENT__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Instructions</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -132,6 +141,15 @@
int UNIT_INSTRUCTION__COMPILATION_STATUS = IntentDocumentPackage.INTENT_GENERIC_ELEMENT__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_INSTRUCTION__INDEX_ENTRY = IntentDocumentPackage.INTENT_GENERIC_ELEMENT__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -252,6 +270,15 @@
int INTENT_SECTION_REFERENCE_INSTRUCTION__COMPILATION_STATUS = UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_SECTION_REFERENCE_INSTRUCTION__INDEX_ENTRY = UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -316,6 +343,15 @@
int LABEL_DECLARATION__COMPILATION_STATUS = UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABEL_DECLARATION__INDEX_ENTRY = UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -389,6 +425,15 @@
int LABEL_REFERENCE_INSTRUCTION__COMPILATION_STATUS = UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABEL_REFERENCE_INSTRUCTION__INDEX_ENTRY = UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -453,6 +498,15 @@
int ADRESSED_ANNOTATION__COMPILATION_STATUS = UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADRESSED_ANNOTATION__INDEX_ENTRY = UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitFactoryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitFactoryImpl.java
index 83db3e8..6050a3d 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitFactoryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitFactoryImpl.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.mylyn.docs.intent.core.genericunit.*;
import org.eclipse.mylyn.docs.intent.core.genericunit.AdressedAnnotation;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitFactory;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitPackageImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitPackageImpl.java
index e295f8c..1d123f6 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitPackageImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/impl/GenericUnitPackageImpl.java
@@ -33,6 +33,8 @@
import org.eclipse.mylyn.docs.intent.core.genericunit.TypeLabel;
import org.eclipse.mylyn.docs.intent.core.genericunit.UnitInstruction;
import org.eclipse.mylyn.docs.intent.core.genericunit.UnitInstructionReference;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
+import org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnitPackage;
import org.eclipse.mylyn.docs.intent.core.modelingunit.impl.ModelingUnitPackageImpl;
import org.eclipse.mylyn.docs.intent.markup.markup.MarkupPackage;
@@ -160,9 +162,9 @@
MarkupPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
- ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
+ IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) : IntentIndexerPackage.eINSTANCE);
IntentDocumentPackageImpl theIntentDocumentPackage = (IntentDocumentPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) instanceof IntentDocumentPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) : IntentDocumentPackage.eINSTANCE);
@@ -172,20 +174,25 @@
DescriptionUnitPackageImpl theDescriptionUnitPackage = (DescriptionUnitPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) instanceof DescriptionUnitPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) : DescriptionUnitPackage.eINSTANCE);
+ ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
// Create package meta-data objects
theGenericUnitPackage.createPackageContents();
- theModelingUnitPackage.createPackageContents();
+ theIntentIndexerPackage.createPackageContents();
theIntentDocumentPackage.createPackageContents();
theCompilerPackage.createPackageContents();
theDescriptionUnitPackage.createPackageContents();
+ theModelingUnitPackage.createPackageContents();
// Initialize created meta-data
theGenericUnitPackage.initializePackageContents();
- theModelingUnitPackage.initializePackageContents();
+ theIntentIndexerPackage.initializePackageContents();
theIntentDocumentPackage.initializePackageContents();
theCompilerPackage.initializePackageContents();
theDescriptionUnitPackage.initializePackageContents();
+ theModelingUnitPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theGenericUnitPackage.freeze();
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitAdapterFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitAdapterFactory.java
index ecae4df..7f3043c 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitAdapterFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitAdapterFactory.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement;
import org.eclipse.mylyn.docs.intent.core.document.IntentReference;
+import org.eclipse.mylyn.docs.intent.core.genericunit.*;
import org.eclipse.mylyn.docs.intent.core.genericunit.AdressedAnnotation;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnit;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitSwitch.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitSwitch.java
index 289a722..fef51d6 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitSwitch.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/genericunit/util/GenericUnitSwitch.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.ecore.util.Switch;
import org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement;
import org.eclipse.mylyn.docs.intent.core.document.IntentReference;
+import org.eclipse.mylyn.docs.intent.core.genericunit.*;
import org.eclipse.mylyn.docs.intent.core.genericunit.AdressedAnnotation;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnit;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/INDEX_ENTRY_TYPE.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/INDEX_ENTRY_TYPE.java
index 18a2b33..2650591 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/INDEX_ENTRY_TYPE.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/INDEX_ENTRY_TYPE.java
@@ -107,12 +107,9 @@
* <!-- end-user-doc -->
* @generated
*/
- private static final INDEX_ENTRY_TYPE[] VALUES_ARRAY =
- new INDEX_ENTRY_TYPE[] {
- INTENT_DOCUMENT,
- INTENT_CHAPTER,
- INTENT_SECTION,
- };
+ private static final INDEX_ENTRY_TYPE[] VALUES_ARRAY = new INDEX_ENTRY_TYPE[] {INTENT_DOCUMENT,
+ INTENT_CHAPTER, INTENT_SECTION,
+ };
/**
* A public read-only list of all the '<em><b>INDEX ENTRY TYPE</b></em>' enumerators.
@@ -120,7 +117,8 @@
* <!-- end-user-doc -->
* @generated
*/
- public static final List<INDEX_ENTRY_TYPE> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+ public static final List<INDEX_ENTRY_TYPE> VALUES = Collections.unmodifiableList(Arrays
+ .asList(VALUES_ARRAY));
/**
* Returns the '<em><b>INDEX ENTRY TYPE</b></em>' literal with the specified literal value.
@@ -162,9 +160,12 @@
*/
public static INDEX_ENTRY_TYPE get(int value) {
switch (value) {
- case INTENT_DOCUMENT_VALUE: return INTENT_DOCUMENT;
- case INTENT_CHAPTER_VALUE: return INTENT_CHAPTER;
- case INTENT_SECTION_VALUE: return INTENT_SECTION;
+ case INTENT_DOCUMENT_VALUE:
+ return INTENT_DOCUMENT;
+ case INTENT_CHAPTER_VALUE:
+ return INTENT_CHAPTER;
+ case INTENT_SECTION_VALUE:
+ return INTENT_SECTION;
}
return null;
}
@@ -208,7 +209,7 @@
* @generated
*/
public int getValue() {
- return value;
+ return value;
}
/**
@@ -217,7 +218,7 @@
* @generated
*/
public String getName() {
- return name;
+ return name;
}
/**
@@ -226,7 +227,7 @@
* @generated
*/
public String getLiteral() {
- return literal;
+ return literal;
}
/**
@@ -239,5 +240,5 @@
public String toString() {
return literal;
}
-
+
} //INDEX_ENTRY_TYPE
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexEntry.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexEntry.java
index 459f7b0..7238f3a 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexEntry.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexEntry.java
@@ -92,6 +92,7 @@
/**
* Returns the value of the '<em><b>Referenced Element</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getIndexEntry <em>Index Entry</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Referenced Element</em>' reference list isn't clear,
@@ -101,7 +102,8 @@
* @return the value of the '<em>Referenced Element</em>' reference.
* @see #setReferencedElement(IntentGenericElement)
* @see org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage#getIntentIndexEntry_ReferencedElement()
- * @model
+ * @see org.eclipse.mylyn.docs.intent.core.document.IntentGenericElement#getIndexEntry
+ * @model opposite="indexEntry"
* @generated
*/
IntentGenericElement getReferencedElement();
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerFactory.java
index 811d1f7..03b56e5 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerFactory.java
@@ -27,7 +27,8 @@
* <!-- end-user-doc -->
* @generated
*/
- IntentIndexerFactory eINSTANCE = org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerFactoryImpl.init();
+ IntentIndexerFactory eINSTANCE = org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerFactoryImpl
+ .init();
/**
* Returns a new object of class '<em>Intent Index</em>'.
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerPackage.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerPackage.java
index 3a60107..19e3ceb 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerPackage.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/IntentIndexerPackage.java
@@ -62,7 +62,8 @@
* <!-- end-user-doc -->
* @generated
*/
- IntentIndexerPackage eINSTANCE = org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl.init();
+ IntentIndexerPackage eINSTANCE = org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl
+ .init();
/**
* The meta object id for the '{@link org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexImpl <em>Intent Index</em>}' class.
@@ -147,7 +148,6 @@
*/
int INTENT_INDEX_ENTRY_FEATURE_COUNT = 4;
-
/**
* The meta object id for the '{@link org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE <em>INDEX ENTRY TYPE</em>}' enum.
* <!-- begin-user-doc -->
@@ -158,7 +158,6 @@
*/
int INDEX_ENTRY_TYPE = 2;
-
/**
* Returns the meta object for class '{@link org.eclipse.mylyn.docs.intent.core.indexer.IntentIndex <em>Intent Index</em>}'.
* <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexEntryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexEntryImpl.java
index a8459be..7a4f0eb 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexEntryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexEntryImpl.java
@@ -106,7 +106,8 @@
* @generated
*/
public IntentGenericElement getReferencedElement() {
- return (IntentGenericElement)eGet(IntentIndexerPackage.Literals.INTENT_INDEX_ENTRY__REFERENCED_ELEMENT, true);
+ return (IntentGenericElement)eGet(
+ IntentIndexerPackage.Literals.INTENT_INDEX_ENTRY__REFERENCED_ELEMENT, true);
}
/**
@@ -125,7 +126,8 @@
*/
@SuppressWarnings("unchecked")
public EList<IntentIndexEntry> getSubEntries() {
- return (EList<IntentIndexEntry>)eGet(IntentIndexerPackage.Literals.INTENT_INDEX_ENTRY__SUB_ENTRIES, true);
+ return (EList<IntentIndexEntry>)eGet(IntentIndexerPackage.Literals.INTENT_INDEX_ENTRY__SUB_ENTRIES,
+ true);
}
} //IntentIndexEntryImpl
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerFactoryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerFactoryImpl.java
index 6fd5ce7..9230047 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerFactoryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerFactoryImpl.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.mylyn.docs.intent.core.indexer.*;
import org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndex;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
@@ -37,12 +38,12 @@
*/
public static IntentIndexerFactory init() {
try {
- IntentIndexerFactory theIntentIndexerFactory = (IntentIndexerFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/intent/indexer/0.7");
+ IntentIndexerFactory theIntentIndexerFactory = (IntentIndexerFactory)EPackage.Registry.INSTANCE
+ .getEFactory("http://www.eclipse.org/intent/indexer/0.7");
if (theIntentIndexerFactory != null) {
return theIntentIndexerFactory;
}
- }
- catch (Exception exception) {
+ } catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new IntentIndexerFactoryImpl();
@@ -66,10 +67,13 @@
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
- case IntentIndexerPackage.INTENT_INDEX: return (EObject)createIntentIndex();
- case IntentIndexerPackage.INTENT_INDEX_ENTRY: return (EObject)createIntentIndexEntry();
+ case IntentIndexerPackage.INTENT_INDEX:
+ return (EObject)createIntentIndex();
+ case IntentIndexerPackage.INTENT_INDEX_ENTRY:
+ return (EObject)createIntentIndexEntry();
default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ throw new IllegalArgumentException("The class '" + eClass.getName()
+ + "' is not a valid classifier");
}
}
@@ -84,7 +88,8 @@
case IntentIndexerPackage.INDEX_ENTRY_TYPE:
return createINDEX_ENTRY_TYPEFromString(eDataType, initialValue);
default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName()
+ + "' is not a valid classifier");
}
}
@@ -99,7 +104,8 @@
case IntentIndexerPackage.INDEX_ENTRY_TYPE:
return convertINDEX_ENTRY_TYPEToString(eDataType, instanceValue);
default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName()
+ + "' is not a valid classifier");
}
}
@@ -130,7 +136,9 @@
*/
public INDEX_ENTRY_TYPE createINDEX_ENTRY_TYPEFromString(EDataType eDataType, String initialValue) {
INDEX_ENTRY_TYPE result = INDEX_ENTRY_TYPE.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue
+ + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerPackageImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerPackageImpl.java
index 33551ce..0b9d6b9 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerPackageImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/impl/IntentIndexerPackageImpl.java
@@ -17,14 +17,20 @@
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.mylyn.docs.intent.core.compiler.CompilerPackage;
+import org.eclipse.mylyn.docs.intent.core.compiler.impl.CompilerPackageImpl;
import org.eclipse.mylyn.docs.intent.core.descriptionunit.DescriptionUnitPackage;
+import org.eclipse.mylyn.docs.intent.core.descriptionunit.impl.DescriptionUnitPackageImpl;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage;
+import org.eclipse.mylyn.docs.intent.core.document.impl.IntentDocumentPackageImpl;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
+import org.eclipse.mylyn.docs.intent.core.genericunit.impl.GenericUnitPackageImpl;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndex;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerFactory;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnitPackage;
+import org.eclipse.mylyn.docs.intent.core.modelingunit.impl.ModelingUnitPackageImpl;
+import org.eclipse.mylyn.docs.intent.markup.markup.MarkupPackage;
/**
* <!-- begin-user-doc -->
@@ -93,30 +99,55 @@
* @generated
*/
public static IntentIndexerPackage init() {
- if (isInited) return (IntentIndexerPackage)EPackage.Registry.INSTANCE.getEPackage(IntentIndexerPackage.eNS_URI);
+ if (isInited)
+ return (IntentIndexerPackage)EPackage.Registry.INSTANCE.getEPackage(IntentIndexerPackage.eNS_URI);
// Obtain or create and register package
- IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new IntentIndexerPackageImpl());
+ IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new IntentIndexerPackageImpl());
isInited = true;
// Initialize simple dependencies
- ModelingUnitPackage.eINSTANCE.eClass();
- GenericUnitPackage.eINSTANCE.eClass();
- IntentDocumentPackage.eINSTANCE.eClass();
- CompilerPackage.eINSTANCE.eClass();
- DescriptionUnitPackage.eINSTANCE.eClass();
+ MarkupPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ IntentDocumentPackageImpl theIntentDocumentPackage = (IntentDocumentPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(IntentDocumentPackage.eNS_URI) instanceof IntentDocumentPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(IntentDocumentPackage.eNS_URI) : IntentDocumentPackage.eINSTANCE);
+ CompilerPackageImpl theCompilerPackage = (CompilerPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(CompilerPackage.eNS_URI) instanceof CompilerPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(CompilerPackage.eNS_URI) : CompilerPackage.eINSTANCE);
+ GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
+ DescriptionUnitPackageImpl theDescriptionUnitPackage = (DescriptionUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(DescriptionUnitPackage.eNS_URI) instanceof DescriptionUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(DescriptionUnitPackage.eNS_URI) : DescriptionUnitPackage.eINSTANCE);
+ ModelingUnitPackageImpl theModelingUnitPackage = (ModelingUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) instanceof ModelingUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(ModelingUnitPackage.eNS_URI) : ModelingUnitPackage.eINSTANCE);
// Create package meta-data objects
theIntentIndexerPackage.createPackageContents();
+ theIntentDocumentPackage.createPackageContents();
+ theCompilerPackage.createPackageContents();
+ theGenericUnitPackage.createPackageContents();
+ theDescriptionUnitPackage.createPackageContents();
+ theModelingUnitPackage.createPackageContents();
// Initialize created meta-data
theIntentIndexerPackage.initializePackageContents();
+ theIntentDocumentPackage.initializePackageContents();
+ theCompilerPackage.initializePackageContents();
+ theGenericUnitPackage.initializePackageContents();
+ theDescriptionUnitPackage.initializePackageContents();
+ theModelingUnitPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theIntentIndexerPackage.freeze();
-
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(IntentIndexerPackage.eNS_URI, theIntentIndexerPackage);
return theIntentIndexerPackage;
@@ -218,7 +249,8 @@
* @generated
*/
public void createPackageContents() {
- if (isCreated) return;
+ if (isCreated)
+ return;
isCreated = true;
// Create classes and their features
@@ -250,7 +282,8 @@
* @generated
*/
public void initializePackageContents() {
- if (isInitialized) return;
+ if (isInitialized)
+ return;
isInitialized = true;
// Initialize package
@@ -259,7 +292,8 @@
setNsURI(eNS_URI);
// Obtain other dependent packages
- IntentDocumentPackage theIntentDocumentPackage = (IntentDocumentPackage)EPackage.Registry.INSTANCE.getEPackage(IntentDocumentPackage.eNS_URI);
+ IntentDocumentPackage theIntentDocumentPackage = (IntentDocumentPackage)EPackage.Registry.INSTANCE
+ .getEPackage(IntentDocumentPackage.eNS_URI);
// Create type parameters
@@ -268,20 +302,38 @@
// Add supertypes to classes
// Initialize classes and features; add operations and parameters
- initEClass(intentIndexEClass, IntentIndex.class, "IntentIndex", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getIntentIndex_Entries(), this.getIntentIndexEntry(), null, "entries", null, 0, -1, IntentIndex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(intentIndexEClass, IntentIndex.class, "IntentIndex", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getIntentIndex_Entries(), this.getIntentIndexEntry(), null, "entries", null, 0, -1,
+ IntentIndex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(intentIndexEntryEClass, IntentIndexEntry.class, "IntentIndexEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getIntentIndexEntry_Name(), ecorePackage.getEString(), "name", null, 0, 1, IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getIntentIndexEntry_Type(), this.getINDEX_ENTRY_TYPE(), "type", null, 1, 1, IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getIntentIndexEntry_ReferencedElement(), theIntentDocumentPackage.getIntentGenericElement(), null, "referencedElement", null, 0, 1, IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getIntentIndexEntry_SubEntries(), this.getIntentIndexEntry(), null, "subEntries", null, 0, -1, IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(intentIndexEntryEClass, IntentIndexEntry.class, "IntentIndexEntry", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIntentIndexEntry_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getIntentIndexEntry_Type(), this.getINDEX_ENTRY_TYPE(), "type", null, 1, 1,
+ IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getIntentIndexEntry_ReferencedElement(),
+ theIntentDocumentPackage.getIntentGenericElement(),
+ theIntentDocumentPackage.getIntentGenericElement_IndexEntry(), "referencedElement", null, 0,
+ 1, IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getIntentIndexEntry_SubEntries(), this.getIntentIndexEntry(), null, "subEntries",
+ null, 0, -1, IntentIndexEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
- initEEnum(indeX_ENTRY_TYPEEEnum, org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.class, "INDEX_ENTRY_TYPE");
- addEEnumLiteral(indeX_ENTRY_TYPEEEnum, org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.INTENT_DOCUMENT);
- addEEnumLiteral(indeX_ENTRY_TYPEEEnum, org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.INTENT_CHAPTER);
- addEEnumLiteral(indeX_ENTRY_TYPEEEnum, org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.INTENT_SECTION);
+ initEEnum(indeX_ENTRY_TYPEEEnum, org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.class,
+ "INDEX_ENTRY_TYPE");
+ addEEnumLiteral(indeX_ENTRY_TYPEEEnum,
+ org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.INTENT_DOCUMENT);
+ addEEnumLiteral(indeX_ENTRY_TYPEEEnum,
+ org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.INTENT_CHAPTER);
+ addEEnumLiteral(indeX_ENTRY_TYPEEEnum,
+ org.eclipse.mylyn.docs.intent.core.indexer.INDEX_ENTRY_TYPE.INTENT_SECTION);
// Create resource
createResource(eNS_URI);
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerAdapterFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerAdapterFactory.java
index 5966c3c..1829b3a 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerAdapterFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerAdapterFactory.java
@@ -14,6 +14,7 @@
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.mylyn.docs.intent.core.indexer.*;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndex;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
@@ -72,21 +73,22 @@
* <!-- end-user-doc -->
* @generated
*/
- protected IntentIndexerSwitch<Adapter> modelSwitch =
- new IntentIndexerSwitch<Adapter>() {
- @Override
- public Adapter caseIntentIndex(IntentIndex object) {
- return createIntentIndexAdapter();
- }
- @Override
- public Adapter caseIntentIndexEntry(IntentIndexEntry object) {
- return createIntentIndexEntryAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ protected IntentIndexerSwitch<Adapter> modelSwitch = new IntentIndexerSwitch<Adapter>() {
+ @Override
+ public Adapter caseIntentIndex(IntentIndex object) {
+ return createIntentIndexAdapter();
+ }
+
+ @Override
+ public Adapter caseIntentIndexEntry(IntentIndexEntry object) {
+ return createIntentIndexEntryAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
@@ -101,7 +103,6 @@
return modelSwitch.doSwitch((EObject)target);
}
-
/**
* Creates a new adapter for an object of class '{@link org.eclipse.mylyn.docs.intent.core.indexer.IntentIndex <em>Intent Index</em>}'.
* <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerSwitch.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerSwitch.java
index 0d5fb6f..68070b8 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerSwitch.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/indexer/util/IntentIndexerSwitch.java
@@ -14,6 +14,9 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.mylyn.docs.intent.core.indexer.*;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndex;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexEntry;
import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
@@ -31,7 +34,7 @@
* @see org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage
* @generated
*/
-public class IntentIndexerSwitch<T> {
+public class IntentIndexerSwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
@@ -53,14 +56,16 @@
}
/**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
* @generated
*/
- public T doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
}
/**
@@ -70,41 +75,25 @@
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
- protected T doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- else {
- List<EClass> eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch(eSuperTypes.get(0), theEObject);
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
+ @Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
case IntentIndexerPackage.INTENT_INDEX: {
IntentIndex intentIndex = (IntentIndex)theEObject;
T result = caseIntentIndex(intentIndex);
- if (result == null) result = defaultCase(theEObject);
+ if (result == null)
+ result = defaultCase(theEObject);
return result;
}
case IntentIndexerPackage.INTENT_INDEX_ENTRY: {
IntentIndexEntry intentIndexEntry = (IntentIndexEntry)theEObject;
T result = caseIntentIndexEntry(intentIndexEntry);
- if (result == null) result = defaultCase(theEObject);
+ if (result == null)
+ result = defaultCase(theEObject);
return result;
}
- default: return defaultCase(theEObject);
+ default:
+ return defaultCase(theEObject);
}
}
@@ -149,6 +138,7 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
+ @Override
public T defaultCase(EObject object) {
return null;
}
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/ModelingUnitPackage.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/ModelingUnitPackage.java
index fc4e6e2..2b9e52a 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/ModelingUnitPackage.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/ModelingUnitPackage.java
@@ -124,6 +124,15 @@
int MODELING_UNIT__COMPILATION_STATUS = GenericUnitPackage.GENERIC_UNIT__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODELING_UNIT__INDEX_ENTRY = GenericUnitPackage.GENERIC_UNIT__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Instructions</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -197,6 +206,15 @@
int MODELING_UNIT_INSTRUCTION__COMPILATION_STATUS = GenericUnitPackage.UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODELING_UNIT_INSTRUCTION__INDEX_ENTRY = GenericUnitPackage.UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -363,6 +381,15 @@
int RESOURCE_DECLARATION__COMPILATION_STATUS = MODELING_UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_DECLARATION__INDEX_ENTRY = MODELING_UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -445,6 +472,15 @@
int INTENT_SECTION_REFERENCEIN_MODELING_UNIT__COMPILATION_STATUS = GenericUnitPackage.INTENT_SECTION_REFERENCE_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTENT_SECTION_REFERENCEIN_MODELING_UNIT__INDEX_ENTRY = GenericUnitPackage.INTENT_SECTION_REFERENCE_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -527,6 +563,15 @@
int LABELIN_MODELING_UNIT__COMPILATION_STATUS = GenericUnitPackage.LABEL_DECLARATION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABELIN_MODELING_UNIT__INDEX_ENTRY = GenericUnitPackage.LABEL_DECLARATION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -618,6 +663,15 @@
int ANNOTATION_DECLARATION__COMPILATION_STATUS = MODELING_UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_DECLARATION__INDEX_ENTRY = MODELING_UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -737,6 +791,15 @@
int INSTANCE_LEVEL_INSTRUCTION__COMPILATION_STATUS = MODELING_UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_LEVEL_INSTRUCTION__INDEX_ENTRY = MODELING_UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -792,6 +855,15 @@
int INSTANCIATION_INSTRUCTION__COMPILATION_STATUS = INSTANCE_LEVEL_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCIATION_INSTRUCTION__INDEX_ENTRY = INSTANCE_LEVEL_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -865,6 +937,15 @@
int STRUCTURAL_FEATURE_AFFECTATION__COMPILATION_STATUS = INSTANCE_LEVEL_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURAL_FEATURE_AFFECTATION__INDEX_ENTRY = INSTANCE_LEVEL_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -947,6 +1028,15 @@
int VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS = MODELING_UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY = MODELING_UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -993,6 +1083,15 @@
int NATIVE_VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS = VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NATIVE_VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY = VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1048,6 +1147,15 @@
int NEW_OBJECT_VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS = VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_OBJECT_VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY = VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1103,6 +1211,15 @@
int REFERENCE_VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS = VALUE_FOR_STRUCTURAL_FEATURE__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFERENCE_VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY = VALUE_FOR_STRUCTURAL_FEATURE__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1167,6 +1284,15 @@
int CONTRIBUTION_INSTRUCTION__COMPILATION_STATUS = MODELING_UNIT_INSTRUCTION__COMPILATION_STATUS;
/**
+ * The feature id for the '<em><b>Index Entry</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTION_INSTRUCTION__INDEX_ENTRY = MODELING_UNIT_INSTRUCTION__INDEX_ENTRY;
+
+ /**
* The feature id for the '<em><b>Unit</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitFactoryImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitFactoryImpl.java
index 4bb9f47..df00978 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitFactoryImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitFactoryImpl.java
@@ -18,6 +18,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.mylyn.docs.intent.core.modelingunit.*;
import org.eclipse.mylyn.docs.intent.core.modelingunit.AffectationOperator;
import org.eclipse.mylyn.docs.intent.core.modelingunit.AnnotationDeclaration;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ContributionInstruction;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitPackageImpl.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitPackageImpl.java
index 2a46281..07d2cc0 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitPackageImpl.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/impl/ModelingUnitPackageImpl.java
@@ -26,6 +26,8 @@
import org.eclipse.mylyn.docs.intent.core.document.impl.IntentDocumentPackageImpl;
import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
import org.eclipse.mylyn.docs.intent.core.genericunit.impl.GenericUnitPackageImpl;
+import org.eclipse.mylyn.docs.intent.core.indexer.IntentIndexerPackage;
+import org.eclipse.mylyn.docs.intent.core.indexer.impl.IntentIndexerPackageImpl;
import org.eclipse.mylyn.docs.intent.core.modelingunit.AffectationOperator;
import org.eclipse.mylyn.docs.intent.core.modelingunit.AnnotationDeclaration;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ContributionInstruction;
@@ -249,31 +251,36 @@
MarkupPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
- GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
+ IntentIndexerPackageImpl theIntentIndexerPackage = (IntentIndexerPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) instanceof IntentIndexerPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(IntentIndexerPackage.eNS_URI) : IntentIndexerPackage.eINSTANCE);
IntentDocumentPackageImpl theIntentDocumentPackage = (IntentDocumentPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) instanceof IntentDocumentPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(IntentDocumentPackage.eNS_URI) : IntentDocumentPackage.eINSTANCE);
CompilerPackageImpl theCompilerPackage = (CompilerPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI) instanceof CompilerPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(CompilerPackage.eNS_URI) : CompilerPackage.eINSTANCE);
+ GenericUnitPackageImpl theGenericUnitPackage = (GenericUnitPackageImpl)(EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) instanceof GenericUnitPackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(GenericUnitPackage.eNS_URI) : GenericUnitPackage.eINSTANCE);
DescriptionUnitPackageImpl theDescriptionUnitPackage = (DescriptionUnitPackageImpl)(EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) instanceof DescriptionUnitPackageImpl ? EPackage.Registry.INSTANCE
.getEPackage(DescriptionUnitPackage.eNS_URI) : DescriptionUnitPackage.eINSTANCE);
// Create package meta-data objects
theModelingUnitPackage.createPackageContents();
- theGenericUnitPackage.createPackageContents();
+ theIntentIndexerPackage.createPackageContents();
theIntentDocumentPackage.createPackageContents();
theCompilerPackage.createPackageContents();
+ theGenericUnitPackage.createPackageContents();
theDescriptionUnitPackage.createPackageContents();
// Initialize created meta-data
theModelingUnitPackage.initializePackageContents();
- theGenericUnitPackage.initializePackageContents();
+ theIntentIndexerPackage.initializePackageContents();
theIntentDocumentPackage.initializePackageContents();
theCompilerPackage.initializePackageContents();
+ theGenericUnitPackage.initializePackageContents();
theDescriptionUnitPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitAdapterFactory.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitAdapterFactory.java
index 1a9cb7e..4a8d250 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitAdapterFactory.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitAdapterFactory.java
@@ -22,6 +22,7 @@
import org.eclipse.mylyn.docs.intent.core.genericunit.IntentSectionReferenceInstruction;
import org.eclipse.mylyn.docs.intent.core.genericunit.LabelDeclaration;
import org.eclipse.mylyn.docs.intent.core.genericunit.UnitInstruction;
+import org.eclipse.mylyn.docs.intent.core.modelingunit.*;
import org.eclipse.mylyn.docs.intent.core.modelingunit.AnnotationDeclaration;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ContributionInstruction;
import org.eclipse.mylyn.docs.intent.core.modelingunit.InstanceLevelInstruction;
diff --git a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitSwitch.java b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitSwitch.java
index b605440..dd954c0 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitSwitch.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.core/src-gen/org/eclipse/mylyn/docs/intent/core/modelingunit/util/ModelingUnitSwitch.java
@@ -21,6 +21,7 @@
import org.eclipse.mylyn.docs.intent.core.genericunit.IntentSectionReferenceInstruction;
import org.eclipse.mylyn.docs.intent.core.genericunit.LabelDeclaration;
import org.eclipse.mylyn.docs.intent.core.genericunit.UnitInstruction;
+import org.eclipse.mylyn.docs.intent.core.modelingunit.*;
import org.eclipse.mylyn.docs.intent.core.modelingunit.AnnotationDeclaration;
import org.eclipse.mylyn.docs.intent.core.modelingunit.ContributionInstruction;
import org.eclipse.mylyn.docs.intent.core.modelingunit.InstanceLevelInstruction;
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/suite/UITestSuite.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/suite/UITestSuite.java
index dfe6f50..ebf43d2 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/suite/UITestSuite.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/suite/UITestSuite.java
@@ -88,8 +88,8 @@
final TestSuite scenarioSuite = new TestSuite("Simple End-User Scenarios");
scenarioSuite.addTestSuite(CompilerNotificationsTest.class);
scenarioSuite.addTestSuite(IntentAbstractResourceTest.class);
- scenarioSuite.addTestSuite(IntentProjectReopeningTest.class);
scenarioSuite.addTestSuite(IntentDocumentationUpdateDoesNotCauseResolvingIssuesTest.class);
+ scenarioSuite.addTestSuite(IntentProjectReopeningTest.class);
uiTestSuite.addTest(scenarioSuite);
// Complete use case testSuite
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/repository/IntentRepositoryStructurerTest.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/repository/IntentRepositoryStructurerTest.java
index 2823b74..0e2cfee 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/repository/IntentRepositoryStructurerTest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/repository/IntentRepositoryStructurerTest.java
@@ -60,8 +60,9 @@
// => all previous content should be stored in new resources
IntentEditorDocument document = (IntentEditorDocument)editor.getDocumentProvider().getDocument(
editor.getEditorInput());
- document.set("Document {\n\tChapter {\n\tNew Chapter\n\tNew Chapter\n\tSection {\n\t}\n\t}\n"
- + document.get().replace("Document {", ""));
+ String newDoc = "Document {\n\tChapter New Chapter{\n\tNew chapter.\n\tSection {\n\t}\n\t}\n"
+ + document.get().replace("Document {", "");
+ document.set(newDoc);
editor.doSave(new NullProgressMonitor());
waitForAllOperationsInUIThread();
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/CompilerNotificationsTest.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/CompilerNotificationsTest.java
index 83232bd..b538d25 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/CompilerNotificationsTest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/CompilerNotificationsTest.java
@@ -49,6 +49,7 @@
// Step 2 : open an editor on the root document
editor = openIntentEditor();
document = (IntentEditorDocument)editor.getDocumentProvider().getDocument(editor.getEditorInput());
+ waitForAllOperationsInUIThread();
}
public void testCompilerIsNotifiedWhenModifyingMU() {
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentAbstractResourceTest.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentAbstractResourceTest.java
index 49d86c3..5fceff4 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentAbstractResourceTest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentAbstractResourceTest.java
@@ -77,7 +77,7 @@
// save
editor.doSave(new NullProgressMonitor());
// and wait the synchronizer to be notified
- waitForSynchronizer();
+ waitForCompiler();
// Step 3 : we check that no synchronization error has been detected
assertFalse("An abstract resource should not be handled by the Intent synchronizer",
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentProjectReopeningTest.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentProjectReopeningTest.java
index f0b568c..2f40da0 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentProjectReopeningTest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/unit/scenario/IntentProjectReopeningTest.java
@@ -18,6 +18,7 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.mylyn.docs.intent.client.ui.editor.IntentEditor;
import org.eclipse.mylyn.docs.intent.client.ui.editor.IntentEditorDocument;
import org.eclipse.mylyn.docs.intent.client.ui.ide.builder.ToggleNatureAction;
@@ -78,7 +79,9 @@
waitForAllOperationsInUIThread();
document.set(newContent);
+ repositoryListener.clearPreviousEntries();
editor.doSave(new NullProgressMonitor());
+ waitForIndexer();
waitForAllOperationsInUIThread();
IntentDocument newDocument = reopenProjectAndGetDocument();
@@ -101,6 +104,7 @@
if (documentResource != null && documentResource.getContents().iterator().hasNext()
&& documentResource.getContents().iterator().next() instanceof IntentStructuredElement) {
if (documentResource.getContents().iterator().next() instanceof IntentDocument) {
+ EcoreUtil.resolveAll(documentResource.getResourceSet());
newDocument = (IntentDocument)documentResource.getContents().iterator().next();
}
}
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/AbstractIntentUITest.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/AbstractIntentUITest.java
index 5951814..e1c13b9 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/AbstractIntentUITest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/AbstractIntentUITest.java
@@ -253,6 +253,10 @@
// Step 3 : registering the repository listener
registerRepositoryListener();
+ // Step 4: waiting for synchronizer to pass
+ repositoryListener.clearPreviousEntries();
+ waitForSynchronizer();
+
} catch (CoreException e) {
AssertionFailedError error = new AssertionFailedError("Failed to create Intent project");
error.setStackTrace(e.getStackTrace());
@@ -456,6 +460,13 @@
}
/**
+ * Wait for the project explorer refresher to complete work.
+ */
+ protected void waitForProjectExplorerRefresher() {
+ waitForProjectExplorerRefresher(true);
+ }
+
+ /**
* Ensures that the synchronizer has been launched or not, according to the given boolean.
*
* @param compilerShouldBeNotified
@@ -498,6 +509,27 @@
}
/**
+ * Ensures that the project explorer refreshed has been launched or not, according to the given boolean.
+ *
+ * @param refresherShouldBeNotified
+ * indicates whether the indexer should be notified or not
+ */
+ protected void waitForProjectExplorerRefresher(boolean refresherShouldBeNotified) {
+ waitForAllOperationsInUIThread();
+ assertNotNull(
+ "Cannot wait for Project Explorer Refresher : you need to initialize a repository listener by calling the registerRepositoryListener() method",
+ repositoryListener);
+ if (refresherShouldBeNotified) {
+ assertTrue("Time out : Project Explorer Refresher should have handle changes but did not",
+ repositoryListener.waitForModificationOn("Project Explorer Refresher"));
+ } else {
+ assertFalse("Project Explorer Refresher should not have been notifed",
+ repositoryListener.waitForModificationOn("Project Explorer Refresher"));
+ }
+ waitForAllOperationsInUIThread();
+ }
+
+ /**
* Ensures that the compiler has been launched or not, according to the given boolean.
*
* @param compilerShouldBeNotified
diff --git a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/RepositoryListenerForTests.java b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/RepositoryListenerForTests.java
index dc6cda3..766ef4d 100644
--- a/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/RepositoryListenerForTests.java
+++ b/tests/org.eclipse.mylyn.docs.intent.client.ui.test/src/org/eclipse/mylyn/docs/intent/client/ui/test/util/RepositoryListenerForTests.java
@@ -64,6 +64,7 @@
clientsMessages.put("Indexer", Sets.<String> newLinkedHashSet());
clientsMessages.put("Compiler", Sets.<String> newLinkedHashSet());
clientsMessages.put("Synchronizer", Sets.<String> newLinkedHashSet());
+ clientsMessages.put("Project Explorer Refresher", Sets.<String> newLinkedHashSet());
}
/**
diff --git a/tests/org.eclipse.mylyn.docs.intent.collab.test/src/org/eclipse/mylyn/docs/intent/collab/test/structurer/TestRepositoryStructurer.java b/tests/org.eclipse.mylyn.docs.intent.collab.test/src/org/eclipse/mylyn/docs/intent/collab/test/structurer/TestRepositoryStructurer.java
index 801592c..464b44a 100644
--- a/tests/org.eclipse.mylyn.docs.intent.collab.test/src/org/eclipse/mylyn/docs/intent/collab/test/structurer/TestRepositoryStructurer.java
+++ b/tests/org.eclipse.mylyn.docs.intent.collab.test/src/org/eclipse/mylyn/docs/intent/collab/test/structurer/TestRepositoryStructurer.java
@@ -10,10 +10,6 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.collab.test.structurer;
-import com.google.common.collect.Sets;
-
-import java.util.Collection;
-
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.ReadOnlyException;
import org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter;
@@ -43,7 +39,7 @@
*
* @see org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryStructurer#structure(org.eclipse.mylyn.docs.intent.collab.handlers.adapters.RepositoryAdapter)
*/
- public Collection<String> structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException {
+ public void structure(RepositoryAdapter repositoryAdapter) throws ReadOnlyException {
// We first get the Test Index
Resource indexResource = repositoryAdapter.getResource(TestCollabSettings.TEST_INDEX);
TestIndex testIndex = (TestIndex)indexResource.getContents().get(0);
@@ -53,7 +49,6 @@
// We structure (i.e place in the correct resource) the reference element
placeCorrectly(repositoryAdapter, entry);
}
- return Sets.newLinkedHashSet();
}
/**