Commit f48cab60 authored by Carmen Carlan's avatar Carmen Carlan
Browse files

No commit message

No commit message
parent b0fe14ba
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="generated-src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="build"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.fortiss.af3.safetycases</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.fortiss.ide.dev_tools.emf.builder.EcoreBuilder</name>
<arguments>
</arguments>
</buildCommand>
<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>
<buildCommand>
<name>org.fortiss.ide.dev_tools.warnings.RemoveWarningsBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.af3.safetycases;singleton:=true
Bundle-Version: 1.0.0
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.fortiss.af3.safetycases.AF3BaseProjectActivator
Require-Bundle: org.fortiss.af3.project,
org.fortiss.af3.component;bundle-version="2.2.0",
org.fortiss.tooling.kernel.ui;bundle-version="2.2.0",
org.fortiss.tooling.base.ui;bundle-version="2.2.0"
This README describes the necessary steps to add a new org.fortiss.af3 plugin
starting from the base project you just imported. There are three steps to do
in order to transform the imported project into your specific plugin:
1. Change the Eclipse project name at several locations and files
2. Change the EMF .ecore model and .genmodel file
3. Publish your plugin to a Subversion repository
The imported project is called "org.fortiss.af3.base.project". During this
README we will use "org.fortiss.af3.example" as our plugin name and "example"
as our EMF model name. You should choose a suitable name for your plugin and
follow the instructions accordingly.
--------------------------------------------------------------------
1. Changes to the Eclipse project
--------------------------------------------------------------------
a. Choose a name for your AF3 extension.
b. Select the Eclipse project folder itself and rename it by hitting F2.
c. Goto the "src" folder and rename the Java package by hitting F2.
d. Find the Activator class in the package you just renamed and give it
a suitable name, e.g., "AF3ExampleActivator".
--------------------------------------------------------------------
2. Changes to the EMF model
--------------------------------------------------------------------
a. Open the file "model/generate-ecore.xml". Change the name of the project
in lines 2 and 5. Change the name of the model in line 4, e.g. "example".
b. Rename the files "model.ecore" and "model.genmodel" to the name just
selected, e.g., "example.ecore" and "example.genmodel".
c. Open the "example.ecore" file in the "Sample Ecore Model Editor" by
right-clicking the file and choosing "Open With". Unfold the tree in the
editor and select the "model" package. Right-click it an choose
"Show Properties View". Change the "NS prefix" and "NS Uri" using the
respective pattern, e.g., "org-fortiss-af3-example" and
"http://www.fortiss.org/af3/example".
d. Open the "example.genmodel" file in the "Text Editor" by right-clicking the
file and choosing "Open With". Search and replace "base.project" with
"example". There should be only one occurence of this pattern.
Search and replace "model.ecore" with "example.ecore". There should be three
occurrences of this pattern.
Close the Text Editor and open the file with the "EMF Generator". There
should not be any errors. DO NOT generate the EMF model now.
--------------------------------------------------------------------
3. Publish the plugin to a Subversion repository
--------------------------------------------------------------------
a. Create or let the repository admin create a folder for the plugin in the
repository named "org.fortiss.af3.example". You will need write permission
to this folder. DO NOT create the "trunk" sub-folder. It will be created
during the initial upload.
b. Right-click the Eclipse project "org.fortiss.af3.example" and choose
"Team -> Share Project...". Select "SVN" and hit "Next". Select your
repository and hit "Next". Choose the "Use specified folder name" option and
enter "org.fortiss.af3.example/trunk". Note that you might need to provide
more prefix folders if your plugin is not stored in the repository root
folder. Hit "Finish". The "trunk" folder will be created and your Eclipse
project is now connected to the repository. Note that the files of the
project have not yet been commited to the repository.
c. Select the "generated-src" folder and add it to version control (right-click
it and select "Team -> Add To Version Control"). Right-click it again and
select "Team -> Set Property...". Set the "svn:ignore" property to "*",
which makes all content of this folder to be ignore by Subversion.
d. Add the ".settings" folder to version control and set its "svn:externals"
property to
"^/fortiss-std-env/settings/org.eclipse.jdt.core.prefs org.eclipse.jdt.core.prefs
^/fortiss-std-env/settings/org.eclipse.jdt.ui.prefs org.eclipse.jdt.ui.prefs"
This references the fortiss Eclipse preferences, which are now also the
project specific settings. Choose "Team -> Update To HEAD" to fetch the
externals you just referenced.
e. On the top-level folder of your plugin set the following SVN properties, if
you want to use the bugtracker integration. We use Redmine where issues are
identified by numbers.
"bugtraq:append" "true"
"bugtraq:number" "true"
"bugtraq:warnifnoissue" "true"
"bugtraq:message" "refs %BUGID%"
f. Delete this README file and commit the whole project to the repository. Note
that do not need to add all the files manually. They will be added when you
choose "Team -> Commit..." on the Eclipse project (see the lower part of the
commit dialog).
<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
<actions>
<!-- Place your Actions here -->
<public name="generate-ecore" actor="jdt.ant" always="true">
<actorProperties>
<property key="buildFile" value="model/generate-ecore.xml" />
<property key="targets" value="generate-ecore"/>
</actorProperties>
<products>
<path path="generated-src" />
</products>
</public>
</actions>
<alterGroups>
<!-- Place your Group alterations here -->
<public name="eclipse.build.source">
<attribute name="generate-ecore"/>
</public>
</alterGroups>
</cspecExtension>
# <copyright>
# </copyright>
#
# $Id: build.properties 417 2011-03-10 15:01:32Z hoelzl $
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
source.. = src/,\
generated-src/
output.. = build/
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package org.fortiss.af3.safetycases;
import org.fortiss.af3.component.model.behavior.IComponentBehaviorDefinitionSpecification;
import org.fortiss.tooling.kernel.model.INamedCommentedElement;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Annotation String</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.fortiss.af3.safetycases.SafetyCasesAnnotationString#getSafetyCaseType <em>Safety Case Type</em>}</li>
* </ul>
* </p>
*
* @see org.fortiss.af3.safetycases.SafetyCasesPackage#getSafetyCasesAnnotationString()
* @model
* @generated
*/
public interface SafetyCasesAnnotationString extends INamedCommentedElement, IComponentBehaviorDefinitionSpecification {
/**
* Returns the value of the '<em><b>Safety Case Type</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Safety Case Type</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Safety Case Type</em>' attribute.
* @see #setSafetyCaseType(String)
* @see org.fortiss.af3.safetycases.SafetyCasesPackage#getSafetyCasesAnnotationString_SafetyCaseType()
* @model
* @generated
*/
String getSafetyCaseType();
/**
* Sets the value of the '{@link org.fortiss.af3.safetycases.SafetyCasesAnnotationString#getSafetyCaseType <em>Safety Case Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Safety Case Type</em>' attribute.
* @see #getSafetyCaseType()
* @generated
*/
void setSafetyCaseType(String value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model required="true"
* annotation="http://www.eclipse.org/emf/2002/GenModel body='return SafetyCasesAnnotationStringStaticImpl.canRemove(this);'"
* @generated
*/
boolean canRemove();
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model required="true"
* annotation="http://www.eclipse.org/emf/2002/GenModel body='return SafetyCasesAnnotationStringStaticImpl.remove(this);\r\n'"
* @generated
*/
boolean remove();
} // SafetyCasesAnnotationString
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package org.fortiss.af3.safetycases;
import org.eclipse.emf.ecore.EFactory;
/**
* <!-- begin-user-doc -->
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
* @see org.fortiss.af3.safetycases.SafetyCasesPackage
* @generated
*/
public interface SafetyCasesFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
SafetyCasesFactory eINSTANCE = org.fortiss.af3.safetycases.impl.SafetyCasesFactoryImpl.init();
/**
* Returns a new object of class '<em>Annotation String</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Annotation String</em>'.
* @generated
*/
SafetyCasesAnnotationString createSafetyCasesAnnotationString();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
SafetyCasesPackage getSafetyCasesPackage();
} //SafetyCasesFactory
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package org.fortiss.af3.safetycases;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
/**
* <!-- begin-user-doc -->
* The <b>Package</b> for the model.
* It contains accessors for the meta objects to represent
* <ul>
* <li>each class,</li>
* <li>each feature of each class,</li>
* <li>each enum,</li>
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
* @see org.fortiss.af3.safetycases.SafetyCasesFactory
* @model kind="package"
* @generated
*/
public interface SafetyCasesPackage extends EPackage {
/**
* The package name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String eNAME = "safetycases";
/**
* The package namespace URI.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String eNS_URI = "http://www.fortiss.org/af3/safetycases";
/**
* The package namespace name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String eNS_PREFIX = "org-fortiss-af3-safetycases";
/**
* The singleton instance of the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
SafetyCasesPackage eINSTANCE = org.fortiss.af3.safetycases.impl.SafetyCasesPackageImpl.init();
/**
* The meta object id for the '{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl <em>Annotation String</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl
* @see org.fortiss.af3.safetycases.impl.SafetyCasesPackageImpl#getSafetyCasesAnnotationString()
* @generated
*/
int SAFETY_CASES_ANNOTATION_STRING = 0;
/**
* The feature id for the '<em><b>Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int SAFETY_CASES_ANNOTATION_STRING__ID = FortissToolingKernelPackage.INAMED_COMMENTED_ELEMENT__ID;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int SAFETY_CASES_ANNOTATION_STRING__NAME = FortissToolingKernelPackage.INAMED_COMMENTED_ELEMENT__NAME;
/**
* The feature id for the '<em><b>Comment</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int SAFETY_CASES_ANNOTATION_STRING__COMMENT = FortissToolingKernelPackage.INAMED_COMMENTED_ELEMENT__COMMENT;
/**
* The feature id for the '<em><b>Specification Of</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int SAFETY_CASES_ANNOTATION_STRING__SPECIFICATION_OF = FortissToolingKernelPackage.INAMED_COMMENTED_ELEMENT_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Safety Case Type</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int SAFETY_CASES_ANNOTATION_STRING__SAFETY_CASE_TYPE = FortissToolingKernelPackage.INAMED_COMMENTED_ELEMENT_FEATURE_COUNT + 1;
/**
* The number of structural features of the '<em>Annotation String</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int SAFETY_CASES_ANNOTATION_STRING_FEATURE_COUNT = FortissToolingKernelPackage.INAMED_COMMENTED_ELEMENT_FEATURE_COUNT + 2;
/**
* Returns the meta object for class '{@link org.fortiss.af3.safetycases.SafetyCasesAnnotationString <em>Annotation String</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for class '<em>Annotation String</em>'.
* @see org.fortiss.af3.safetycases.SafetyCasesAnnotationString
* @generated
*/
EClass getSafetyCasesAnnotationString();
/**
* Returns the meta object for the attribute '{@link org.fortiss.af3.safetycases.SafetyCasesAnnotationString#getSafetyCaseType <em>Safety Case Type</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Safety Case Type</em>'.
* @see org.fortiss.af3.safetycases.SafetyCasesAnnotationString#getSafetyCaseType()
* @see #getSafetyCasesAnnotationString()
* @generated
*/
EAttribute getSafetyCasesAnnotationString_SafetyCaseType();
/**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the factory that creates the instances of the model.
* @generated
*/
SafetyCasesFactory getSafetyCasesFactory();
/**
* <!-- begin-user-doc -->
* Defines literals for the meta objects that represent
* <ul>
* <li>each class,</li>
* <li>each feature of each class,</li>
* <li>each enum,</li>
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
* @generated
*/
interface Literals {
/**
* The meta object literal for the '{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl <em>Annotation String</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl
* @see org.fortiss.af3.safetycases.impl.SafetyCasesPackageImpl#getSafetyCasesAnnotationString()
* @generated
*/
EClass SAFETY_CASES_ANNOTATION_STRING = eINSTANCE.getSafetyCasesAnnotationString();
/**
* The meta object literal for the '<em><b>Safety Case Type</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute SAFETY_CASES_ANNOTATION_STRING__SAFETY_CASE_TYPE = eINSTANCE.getSafetyCasesAnnotationString_SafetyCaseType();
}
} //SafetyCasesPackage
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package org.fortiss.af3.safetycases.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.fortiss.af3.component.model.behavior.IComponentBehaviorDefinitionSpecification;
import org.fortiss.af3.safetycases.SafetyCasesAnnotationString;
import org.fortiss.af3.safetycases.SafetyCasesPackage;
import org.fortiss.tooling.base.model.element.ElementPackage;
import org.fortiss.tooling.base.model.element.IModelElement;
import org.fortiss.tooling.base.model.element.IModelElementSpecification;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Annotation String</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl#getId <em>Id</em>}</li>
* <li>{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl#getName <em>Name</em>}</li>
* <li>{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl#getComment <em>Comment</em>}</li>
* <li>{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl#getSpecificationOf <em>Specification Of</em>}</li>
* <li>{@link org.fortiss.af3.safetycases.impl.SafetyCasesAnnotationStringImpl#getSafetyCaseType <em>Safety Case Type</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class SafetyCasesAnnotationStringImpl extends EObjectImpl implements SafetyCasesAnnotationString {
/**
* The default value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getId()
* @generated
* @ordered
*/
protected static final int ID_EDEFAULT = 0;
/**
* The cached value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getId()
* @generated
* @ordered
*/
protected int id = ID_EDEFAULT;
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected static final String NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered