Added a PHP Handler
Change-Id: I6fcc3236b3093ea3a6c665b90d9f6635659d7b8a
diff --git a/org.eclipse.capra.handler.php.feature/.project b/org.eclipse.capra.handler.php.feature/.project
new file mode 100644
index 0000000..c1c1d01
--- /dev/null
+++ b/org.eclipse.capra.handler.php.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.capra.handler.php.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.capra.handler.php.feature/build.properties b/org.eclipse.capra.handler.php.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/org.eclipse.capra.handler.php.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/org.eclipse.capra.handler.php.feature/feature.xml b/org.eclipse.capra.handler.php.feature/feature.xml
new file mode 100644
index 0000000..3a375e2
--- /dev/null
+++ b/org.eclipse.capra.handler.php.feature/feature.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.capra.handler.php.feature"
+ label="Capra Traceability for PHP"
+ version="0.7.0.qualifier"
+ provider-name="Capra Development Team">
+
+ <copyright>
+ Copyright (c) 2016 Chalmers | University of Gothenburg, rt-labs and others.
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin
+ id="org.eclipse.capra.handler.php"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/org.eclipse.capra.handler.php.feature/pom.xml b/org.eclipse.capra.handler.php.feature/pom.xml
new file mode 100644
index 0000000..48099e4
--- /dev/null
+++ b/org.eclipse.capra.handler.php.feature/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <relativePath>../pom.xml</relativePath>
+ <groupId>org.eclipse.capra</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.capra.handler.php.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+
+</project>
diff --git a/org.eclipse.capra.handler.php/.classpath b/org.eclipse.capra.handler.php/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.capra.handler.php/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.capra.handler.php/.project b/org.eclipse.capra.handler.php/.project
new file mode 100644
index 0000000..498afb0
--- /dev/null
+++ b/org.eclipse.capra.handler.php/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.capra.handler.php</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.capra.handler.php/META-INF/MANIFEST.MF b/org.eclipse.capra.handler.php/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..dba2495
--- /dev/null
+++ b/org.eclipse.capra.handler.php/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Capra Handler for PHP Elements
+Bundle-SymbolicName: org.eclipse.capra.handler.php;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Require-Bundle: org.eclipse.capra.core,
+ org.eclipse.capra.core,
+ org.eclipse.php.core;bundle-version="4.2.0",
+ org.eclipse.dltk.core;bundle-version="5.7.0",
+ org.eclipse.core.resources;bundle-version="3.11.1"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Vendor: Capra Development Team
diff --git a/org.eclipse.capra.handler.php/build.properties b/org.eclipse.capra.handler.php/build.properties
new file mode 100644
index 0000000..cc91072
--- /dev/null
+++ b/org.eclipse.capra.handler.php/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/org.eclipse.capra.handler.php/plugin.xml b/org.eclipse.capra.handler.php/plugin.xml
new file mode 100644
index 0000000..f01965f
--- /dev/null
+++ b/org.eclipse.capra.handler.php/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ id="id1"
+ point="org.eclipse.capra.configuration.artifactHandlers">
+ <artifactHandler
+ class="org.eclipse.capra.handler.php.PhpHandler">
+ </artifactHandler>
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.capra.handler.php/pom.xml b/org.eclipse.capra.handler.php/pom.xml
new file mode 100644
index 0000000..ec44378
--- /dev/null
+++ b/org.eclipse.capra.handler.php/pom.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2016 Chalmers | University of Gothenburg, rt-labs and others.
+ 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:
+ Chalmers | University of Gothenburg and rt-labs - initial API and implementation and/or initial documentation
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <relativePath>../pom.xml</relativePath>
+ <groupId>org.eclipse.capra</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.capra.handler.php</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/org.eclipse.capra.handler.php/src/org/eclipse/capra/handler/php/PhpHandler.java b/org.eclipse.capra.handler.php/src/org/eclipse/capra/handler/php/PhpHandler.java
new file mode 100644
index 0000000..5941e0a
--- /dev/null
+++ b/org.eclipse.capra.handler.php/src/org/eclipse/capra/handler/php/PhpHandler.java
@@ -0,0 +1,32 @@
+package org.eclipse.capra.handler.php;
+
+import org.eclipse.capra.core.adapters.ArtifactMetaModelAdapter;
+import org.eclipse.capra.core.handlers.AbstractArtifactHandler;
+import org.eclipse.capra.core.helpers.ExtensionPointHelper;
+import org.eclipse.dltk.core.DLTKCore;
+import org.eclipse.dltk.core.IModelElement;
+import org.eclipse.emf.ecore.EObject;
+
+public class PhpHandler extends AbstractArtifactHandler<IModelElement> {
+
+ @Override
+ public EObject createWrapper(IModelElement artifact, EObject artifactModel) {
+ ArtifactMetaModelAdapter adapter = ExtensionPointHelper.getArtifactWrapperMetaModelAdapter().get();
+ EObject wrapper = adapter.createArtifact(artifactModel, this.getClass().getName(),
+ artifact.getHandleIdentifier(), artifact.getElementName());
+ return wrapper;
+ }
+
+ @Override
+ public IModelElement resolveWrapper(EObject wrapper) {
+ ArtifactMetaModelAdapter adapter = ExtensionPointHelper.getArtifactWrapperMetaModelAdapter().get();
+ String handleIdentifier = adapter.getArtifactUri(wrapper);
+ return DLTKCore.create(handleIdentifier);
+ }
+
+ @Override
+ public String getDisplayName(IModelElement artifact) {
+ return artifact.getElementName();
+ }
+
+}
diff --git a/org.eclipse.capra.releng.p2/category.xml b/org.eclipse.capra.releng.p2/category.xml
index dcbfde4..4382d51 100644
--- a/org.eclipse.capra.releng.p2/category.xml
+++ b/org.eclipse.capra.releng.p2/category.xml
@@ -27,6 +27,9 @@
<feature url="features/org.eclipse.capra.ui.zest.feature_0.7.0.qualifier.jar" id="org.eclipse.capra.ui.zest.feature" version="0.7.0.qualifier">
<category name="org.eclipse.capra.ui"/>
</feature>
+ <feature url="features/org.eclipse.capra.handler.php.feature_0.7.0.qualifier.jar" id="org.eclipse.capra.handler.php.feature" version="0.7.0.qualifier">
+ <category name="org.eclipse.capra.handler"/>
+ </feature>
<category-def name="org.eclipse.capra" label="Capra Traceability">
<description>
Capra is an extensible traceability mangement tool.
diff --git a/org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target b/org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target
index b90a01b..ce71547 100644
--- a/org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target
+++ b/org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target
@@ -1,11 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="Neon" sequenceNumber="43">
+<?pde version="3.8"?><target name="Neon" sequenceNumber="49">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="net.sourceforge.plantuml.feature.feature.group" version="0.0.0"/>
<repository location="http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/updatesite"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.gef4.common.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.geometry.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.fx.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.mvc.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.mvc.examples.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.layout.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.graph.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.zest.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.zest.examples.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.dot.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef4.cloudio.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/tools/gef/gef4/updates/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<repository location="http://download.eclipse.org/releases/neon"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.rmf.reqif10.sdk.feature.feature.group" version="0.13.0.201509161042"/>
<unit id="org.eclipse.rmf.reqif10.pror.sdk.feature.feature.group" version="0.13.0.201509161042"/>
<repository location="http://download.eclipse.org/rmf/updates/releases"/>
@@ -32,6 +49,10 @@
<repository location="http://download.eclipse.org/releases/neon"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.php.feature.group" version="4.2.0.201611142355"/>
+<repository location="http://download.eclipse.org/releases/neon"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.mylyn.github.feature.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/egit/github/updates/"/>
</location>
@@ -49,19 +70,5 @@
<unit id="org.apache.poi" version="3.9.0.v201405241750"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository"/>
</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.gef4.common.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.geometry.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.fx.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.mvc.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.mvc.examples.source.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.layout.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.graph.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.zest.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.zest.examples.source.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.dot.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.gef4.cloudio.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/gef/gef4/updates/releases"/>
-</location>
</locations>
</target>
diff --git a/pom.xml b/pom.xml
index 2119daa..7741e0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,8 @@
<module>org.eclipse.capra.handler.reqIf.feature</module>
<module>org.eclipse.capra.handler.papyrus</module>
<module>org.eclipse.capra.handler.papyrus.feature</module>
+ <module>org.eclipse.capra.handler.php</module>
+ <module>org.eclipse.capra.handler.php.feature</module>
<module>org.eclipse.capra.ui</module>
<module>org.eclipse.capra.ui.notification</module>
<module>org.eclipse.capra.ui.plantuml</module>