summaryrefslogtreecommitdiff
path: root/src/traffic-incidents-service/org.genivi.basetypes-model/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/traffic-incidents-service/org.genivi.basetypes-model/src/org')
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonFactory.java74
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonPackage.java582
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Coordinate.java110
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/LocalizedString.java190
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/RectangularArea.java92
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Version.java263
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonFactoryImpl.java135
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonPackageImpl.java413
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CoordinateImpl.java272
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/LocalizedStringImpl.java380
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/RectangularAreaImpl.java247
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/VersionImpl.java468
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonAdapterFactory.java181
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonSwitch.java182
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocation.java29
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocationInfo.java24
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocation.java161
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocationInfo.java157
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/Location.java29
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationFactory.java112
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationInfo.java86
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationPackage.java796
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocation.java29
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationInfo.java59
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationType.java269
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationImpl.java46
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationInfoImpl.java46
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationImpl.java332
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationInfoImpl.java391
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationFactoryImpl.java230
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationImpl.java48
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationInfoImpl.java252
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationPackageImpl.java484
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationImpl.java46
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationInfoImpl.java170
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationAdapterFactory.java253
-rwxr-xr-xsrc/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationSwitch.java276
37 files changed, 7914 insertions, 0 deletions
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonFactory.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonFactory.java
new file mode 100755
index 0000000..ede045e
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonFactory.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.common;
+
+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.genivi.common.CommonPackage
+ * @generated
+ */
+public interface CommonFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CommonFactory eINSTANCE = org.genivi.common.impl.CommonFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Coordinate</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Coordinate</em>'.
+ * @generated
+ */
+ Coordinate createCoordinate();
+
+ /**
+ * Returns a new object of class '<em>Rectangular Area</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rectangular Area</em>'.
+ * @generated
+ */
+ RectangularArea createRectangularArea();
+
+ /**
+ * Returns a new object of class '<em>Version</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Version</em>'.
+ * @generated
+ */
+ Version createVersion();
+
+ /**
+ * Returns a new object of class '<em>Localized String</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Localized String</em>'.
+ * @generated
+ */
+ LocalizedString createLocalizedString();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ CommonPackage getCommonPackage();
+
+} //CommonFactory
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonPackage.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonPackage.java
new file mode 100755
index 0000000..c9f4e8b
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/CommonPackage.java
@@ -0,0 +1,582 @@
+/**
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.common;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- 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.genivi.common.CommonFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CommonPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "common";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://org.genivi.common";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "model";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CommonPackage eINSTANCE = org.genivi.common.impl.CommonPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.genivi.common.impl.CoordinateImpl <em>Coordinate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.CoordinateImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getCoordinate()
+ * @generated
+ */
+ int COORDINATE = 0;
+
+ /**
+ * The feature id for the '<em><b>Latitude</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COORDINATE__LATITUDE = 0;
+
+ /**
+ * The feature id for the '<em><b>Longitude</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COORDINATE__LONGITUDE = 1;
+
+ /**
+ * The feature id for the '<em><b>Altitude</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COORDINATE__ALTITUDE = 2;
+
+ /**
+ * The number of structural features of the '<em>Coordinate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COORDINATE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.genivi.common.impl.RectangularAreaImpl <em>Rectangular Area</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.RectangularAreaImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getRectangularArea()
+ * @generated
+ */
+ int RECTANGULAR_AREA = 1;
+
+ /**
+ * The feature id for the '<em><b>Bottom Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECTANGULAR_AREA__BOTTOM_LEFT = 0;
+
+ /**
+ * The feature id for the '<em><b>Top Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECTANGULAR_AREA__TOP_RIGHT = 1;
+
+ /**
+ * The number of structural features of the '<em>Rectangular Area</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECTANGULAR_AREA_FEATURE_COUNT = 2;
+
+
+ /**
+ * The meta object id for the '{@link org.genivi.common.impl.VersionImpl <em>Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.VersionImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getVersion()
+ * @generated
+ */
+ int VERSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Major</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION__MAJOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Minor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION__MINOR = 1;
+
+ /**
+ * The feature id for the '<em><b>Micro</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION__MICRO = 2;
+
+ /**
+ * The feature id for the '<em><b>Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION__DATE = 3;
+
+ /**
+ * The number of structural features of the '<em>Version</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION_FEATURE_COUNT = 4;
+
+
+ /**
+ * The meta object id for the '{@link org.genivi.common.impl.LocalizedStringImpl <em>Localized String</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.LocalizedStringImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getLocalizedString()
+ * @generated
+ */
+ int LOCALIZED_STRING = 3;
+
+ /**
+ * The feature id for the '<em><b>Language Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCALIZED_STRING__LANGUAGE_CODE = 0;
+
+ /**
+ * The feature id for the '<em><b>Country Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCALIZED_STRING__COUNTRY_CODE = 1;
+
+ /**
+ * The feature id for the '<em><b>String</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCALIZED_STRING__STRING = 2;
+
+ /**
+ * The number of structural features of the '<em>Localized String</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCALIZED_STRING_FEATURE_COUNT = 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.common.Coordinate <em>Coordinate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Coordinate</em>'.
+ * @see org.genivi.common.Coordinate
+ * @generated
+ */
+ EClass getCoordinate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Coordinate#getLatitude <em>Latitude</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Latitude</em>'.
+ * @see org.genivi.common.Coordinate#getLatitude()
+ * @see #getCoordinate()
+ * @generated
+ */
+ EAttribute getCoordinate_Latitude();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Coordinate#getLongitude <em>Longitude</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Longitude</em>'.
+ * @see org.genivi.common.Coordinate#getLongitude()
+ * @see #getCoordinate()
+ * @generated
+ */
+ EAttribute getCoordinate_Longitude();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Coordinate#getAltitude <em>Altitude</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Altitude</em>'.
+ * @see org.genivi.common.Coordinate#getAltitude()
+ * @see #getCoordinate()
+ * @generated
+ */
+ EAttribute getCoordinate_Altitude();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.common.RectangularArea <em>Rectangular Area</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rectangular Area</em>'.
+ * @see org.genivi.common.RectangularArea
+ * @generated
+ */
+ EClass getRectangularArea();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.genivi.common.RectangularArea#getBottomLeft <em>Bottom Left</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Bottom Left</em>'.
+ * @see org.genivi.common.RectangularArea#getBottomLeft()
+ * @see #getRectangularArea()
+ * @generated
+ */
+ EReference getRectangularArea_BottomLeft();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.genivi.common.RectangularArea#getTopRight <em>Top Right</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Top Right</em>'.
+ * @see org.genivi.common.RectangularArea#getTopRight()
+ * @see #getRectangularArea()
+ * @generated
+ */
+ EReference getRectangularArea_TopRight();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.common.Version <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Version</em>'.
+ * @see org.genivi.common.Version
+ * @generated
+ */
+ EClass getVersion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Version#getMajor <em>Major</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Major</em>'.
+ * @see org.genivi.common.Version#getMajor()
+ * @see #getVersion()
+ * @generated
+ */
+ EAttribute getVersion_Major();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Version#getMinor <em>Minor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Minor</em>'.
+ * @see org.genivi.common.Version#getMinor()
+ * @see #getVersion()
+ * @generated
+ */
+ EAttribute getVersion_Minor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Version#getMicro <em>Micro</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Micro</em>'.
+ * @see org.genivi.common.Version#getMicro()
+ * @see #getVersion()
+ * @generated
+ */
+ EAttribute getVersion_Micro();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.Version#getDate <em>Date</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Date</em>'.
+ * @see org.genivi.common.Version#getDate()
+ * @see #getVersion()
+ * @generated
+ */
+ EAttribute getVersion_Date();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.common.LocalizedString <em>Localized String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Localized String</em>'.
+ * @see org.genivi.common.LocalizedString
+ * @generated
+ */
+ EClass getLocalizedString();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.LocalizedString#getLanguageCode <em>Language Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Language Code</em>'.
+ * @see org.genivi.common.LocalizedString#getLanguageCode()
+ * @see #getLocalizedString()
+ * @generated
+ */
+ EAttribute getLocalizedString_LanguageCode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.LocalizedString#getCountryCode <em>Country Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Country Code</em>'.
+ * @see org.genivi.common.LocalizedString#getCountryCode()
+ * @see #getLocalizedString()
+ * @generated
+ */
+ EAttribute getLocalizedString_CountryCode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.common.LocalizedString#getString <em>String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>String</em>'.
+ * @see org.genivi.common.LocalizedString#getString()
+ * @see #getLocalizedString()
+ * @generated
+ */
+ EAttribute getLocalizedString_String();
+
+ /**
+ * 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
+ */
+ CommonFactory getCommonFactory();
+
+ /**
+ * <!-- 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.genivi.common.impl.CoordinateImpl <em>Coordinate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.CoordinateImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getCoordinate()
+ * @generated
+ */
+ EClass COORDINATE = eINSTANCE.getCoordinate();
+
+ /**
+ * The meta object literal for the '<em><b>Latitude</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COORDINATE__LATITUDE = eINSTANCE.getCoordinate_Latitude();
+
+ /**
+ * The meta object literal for the '<em><b>Longitude</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COORDINATE__LONGITUDE = eINSTANCE.getCoordinate_Longitude();
+
+ /**
+ * The meta object literal for the '<em><b>Altitude</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COORDINATE__ALTITUDE = eINSTANCE.getCoordinate_Altitude();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.common.impl.RectangularAreaImpl <em>Rectangular Area</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.RectangularAreaImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getRectangularArea()
+ * @generated
+ */
+ EClass RECTANGULAR_AREA = eINSTANCE.getRectangularArea();
+
+ /**
+ * The meta object literal for the '<em><b>Bottom Left</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RECTANGULAR_AREA__BOTTOM_LEFT = eINSTANCE.getRectangularArea_BottomLeft();
+
+ /**
+ * The meta object literal for the '<em><b>Top Right</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RECTANGULAR_AREA__TOP_RIGHT = eINSTANCE.getRectangularArea_TopRight();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.common.impl.VersionImpl <em>Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.VersionImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getVersion()
+ * @generated
+ */
+ EClass VERSION = eINSTANCE.getVersion();
+
+ /**
+ * The meta object literal for the '<em><b>Major</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VERSION__MAJOR = eINSTANCE.getVersion_Major();
+
+ /**
+ * The meta object literal for the '<em><b>Minor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VERSION__MINOR = eINSTANCE.getVersion_Minor();
+
+ /**
+ * The meta object literal for the '<em><b>Micro</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VERSION__MICRO = eINSTANCE.getVersion_Micro();
+
+ /**
+ * The meta object literal for the '<em><b>Date</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VERSION__DATE = eINSTANCE.getVersion_Date();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.common.impl.LocalizedStringImpl <em>Localized String</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.impl.LocalizedStringImpl
+ * @see org.genivi.common.impl.CommonPackageImpl#getLocalizedString()
+ * @generated
+ */
+ EClass LOCALIZED_STRING = eINSTANCE.getLocalizedString();
+
+ /**
+ * The meta object literal for the '<em><b>Language Code</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOCALIZED_STRING__LANGUAGE_CODE = eINSTANCE.getLocalizedString_LanguageCode();
+
+ /**
+ * The meta object literal for the '<em><b>Country Code</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOCALIZED_STRING__COUNTRY_CODE = eINSTANCE.getLocalizedString_CountryCode();
+
+ /**
+ * The meta object literal for the '<em><b>String</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOCALIZED_STRING__STRING = eINSTANCE.getLocalizedString_String();
+
+ }
+
+} //CommonPackage
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Coordinate.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Coordinate.java
new file mode 100755
index 0000000..7bed8d4
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Coordinate.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.common;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Coordinate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This data type represents a 3D WGS84 coordinate.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.common.Coordinate#getLatitude <em>Latitude</em>}</li>
+ * <li>{@link org.genivi.common.Coordinate#getLongitude <em>Longitude</em>}</li>
+ * <li>{@link org.genivi.common.Coordinate#getAltitude <em>Altitude</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.common.CommonPackage#getCoordinate()
+ * @model
+ * @generated
+ */
+public interface Coordinate extends EObject {
+ /**
+ * Returns the value of the '<em><b>Latitude</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * latitude >= -90 and <= 90
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Latitude</em>' attribute.
+ * @see #setLatitude(double)
+ * @see org.genivi.common.CommonPackage#getCoordinate_Latitude()
+ * @model required="true"
+ * @generated
+ */
+ double getLatitude();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Coordinate#getLatitude <em>Latitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Latitude</em>' attribute.
+ * @see #getLatitude()
+ * @generated
+ */
+ void setLatitude(double value);
+
+ /**
+ * Returns the value of the '<em><b>Longitude</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * longitude >= -180 and <= 180
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Longitude</em>' attribute.
+ * @see #setLongitude(double)
+ * @see org.genivi.common.CommonPackage#getCoordinate_Longitude()
+ * @model required="true"
+ * @generated
+ */
+ double getLongitude();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Coordinate#getLongitude <em>Longitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Longitude</em>' attribute.
+ * @see #getLongitude()
+ * @generated
+ */
+ void setLongitude(double value);
+
+ /**
+ * Returns the value of the '<em><b>Altitude</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * altitude values are in meters above sea level
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Altitude</em>' attribute.
+ * @see #setAltitude(int)
+ * @see org.genivi.common.CommonPackage#getCoordinate_Altitude()
+ * @model
+ * @generated
+ */
+ int getAltitude();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Coordinate#getAltitude <em>Altitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Altitude</em>' attribute.
+ * @see #getAltitude()
+ * @generated
+ */
+ void setAltitude(int value);
+
+} // Coordinate
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/LocalizedString.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/LocalizedString.java
new file mode 100755
index 0000000..b1cc4da
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/LocalizedString.java
@@ -0,0 +1,190 @@
+/**
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.common;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Localized String</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.common.LocalizedString#getLanguageCode <em>Language Code</em>}</li>
+ * <li>{@link org.genivi.common.LocalizedString#getCountryCode <em>Country Code</em>}</li>
+ * <li>{@link org.genivi.common.LocalizedString#getString <em>String</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.common.CommonPackage#getLocalizedString()
+ * @model
+ * @generated
+ */
+public interface LocalizedString extends EObject {
+ /**
+ * Returns the value of the '<em><b>Language Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Language Code</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Language Code</em>' attribute.
+ * @see #isSetLanguageCode()
+ * @see #unsetLanguageCode()
+ * @see #setLanguageCode(String)
+ * @see org.genivi.common.CommonPackage#getLocalizedString_LanguageCode()
+ * @model unsettable="true" required="true"
+ * @generated
+ */
+ String getLanguageCode();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.LocalizedString#getLanguageCode <em>Language Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Language Code</em>' attribute.
+ * @see #isSetLanguageCode()
+ * @see #unsetLanguageCode()
+ * @see #getLanguageCode()
+ * @generated
+ */
+ void setLanguageCode(String value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.LocalizedString#getLanguageCode <em>Language Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetLanguageCode()
+ * @see #getLanguageCode()
+ * @see #setLanguageCode(String)
+ * @generated
+ */
+ void unsetLanguageCode();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.LocalizedString#getLanguageCode <em>Language Code</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Language Code</em>' attribute is set.
+ * @see #unsetLanguageCode()
+ * @see #getLanguageCode()
+ * @see #setLanguageCode(String)
+ * @generated
+ */
+ boolean isSetLanguageCode();
+
+ /**
+ * Returns the value of the '<em><b>Country Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Country Code</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Country Code</em>' attribute.
+ * @see #isSetCountryCode()
+ * @see #unsetCountryCode()
+ * @see #setCountryCode(String)
+ * @see org.genivi.common.CommonPackage#getLocalizedString_CountryCode()
+ * @model unsettable="true"
+ * @generated
+ */
+ String getCountryCode();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.LocalizedString#getCountryCode <em>Country Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Country Code</em>' attribute.
+ * @see #isSetCountryCode()
+ * @see #unsetCountryCode()
+ * @see #getCountryCode()
+ * @generated
+ */
+ void setCountryCode(String value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.LocalizedString#getCountryCode <em>Country Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCountryCode()
+ * @see #getCountryCode()
+ * @see #setCountryCode(String)
+ * @generated
+ */
+ void unsetCountryCode();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.LocalizedString#getCountryCode <em>Country Code</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Country Code</em>' attribute is set.
+ * @see #unsetCountryCode()
+ * @see #getCountryCode()
+ * @see #setCountryCode(String)
+ * @generated
+ */
+ boolean isSetCountryCode();
+
+ /**
+ * Returns the value of the '<em><b>String</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>String</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>String</em>' attribute.
+ * @see #isSetString()
+ * @see #unsetString()
+ * @see #setString(String)
+ * @see org.genivi.common.CommonPackage#getLocalizedString_String()
+ * @model unsettable="true" required="true"
+ * @generated
+ */
+ String getString();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.LocalizedString#getString <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>String</em>' attribute.
+ * @see #isSetString()
+ * @see #unsetString()
+ * @see #getString()
+ * @generated
+ */
+ void setString(String value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.LocalizedString#getString <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetString()
+ * @see #getString()
+ * @see #setString(String)
+ * @generated
+ */
+ void unsetString();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.LocalizedString#getString <em>String</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>String</em>' attribute is set.
+ * @see #unsetString()
+ * @see #getString()
+ * @see #setString(String)
+ * @generated
+ */
+ boolean isSetString();
+
+} // LocalizedString
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/RectangularArea.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/RectangularArea.java
new file mode 100755
index 0000000..1a09d6b
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/RectangularArea.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.common;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rectangular Area</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This datatype represents a rectangular area. The area is defined by the WGS84 coordinates of its bottomLeft and topRight corners.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.common.RectangularArea#getBottomLeft <em>Bottom Left</em>}</li>
+ * <li>{@link org.genivi.common.RectangularArea#getTopRight <em>Top Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.common.CommonPackage#getRectangularArea()
+ * @model
+ * @generated
+ */
+public interface RectangularArea extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Bottom Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bottom Left</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The bottom-left corner of the area.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Bottom Left</em>' containment reference.
+ * @see #setBottomLeft(Coordinate)
+ * @see org.genivi.common.CommonPackage#getRectangularArea_BottomLeft()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Coordinate getBottomLeft();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.RectangularArea#getBottomLeft <em>Bottom Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bottom Left</em>' containment reference.
+ * @see #getBottomLeft()
+ * @generated
+ */
+ void setBottomLeft(Coordinate value);
+
+ /**
+ * Returns the value of the '<em><b>Top Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Top Right</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The top-right corner of the area.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Top Right</em>' containment reference.
+ * @see #setTopRight(Coordinate)
+ * @see org.genivi.common.CommonPackage#getRectangularArea_TopRight()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Coordinate getTopRight();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.RectangularArea#getTopRight <em>Top Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Top Right</em>' containment reference.
+ * @see #getTopRight()
+ * @generated
+ */
+ void setTopRight(Coordinate value);
+} // RectangularArea
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Version.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Version.java
new file mode 100755
index 0000000..32adcc5
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/Version.java
@@ -0,0 +1,263 @@
+/**
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+package org.genivi.common;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Version</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This datatype is used to provide version information.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.common.Version#getMajor <em>Major</em>}</li>
+ * <li>{@link org.genivi.common.Version#getMinor <em>Minor</em>}</li>
+ * <li>{@link org.genivi.common.Version#getMicro <em>Micro</em>}</li>
+ * <li>{@link org.genivi.common.Version#getDate <em>Date</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.common.CommonPackage#getVersion()
+ * @model
+ * @generated
+ */
+public interface Version extends EObject {
+ /**
+ * Returns the value of the '<em><b>Major</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Major</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The major version number.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Major</em>' attribute.
+ * @see #isSetMajor()
+ * @see #unsetMajor()
+ * @see #setMajor(int)
+ * @see org.genivi.common.CommonPackage#getVersion_Major()
+ * @model unsettable="true" required="true"
+ * annotation="http://www.tomtom.com/emfidl/2012/GenModel valueMin='0' valueMax='32767'"
+ * @generated
+ */
+ int getMajor();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Version#getMajor <em>Major</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Major</em>' attribute.
+ * @see #isSetMajor()
+ * @see #unsetMajor()
+ * @see #getMajor()
+ * @generated
+ */
+ void setMajor(int value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.Version#getMajor <em>Major</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetMajor()
+ * @see #getMajor()
+ * @see #setMajor(int)
+ * @generated
+ */
+ void unsetMajor();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.Version#getMajor <em>Major</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Major</em>' attribute is set.
+ * @see #unsetMajor()
+ * @see #getMajor()
+ * @see #setMajor(int)
+ * @generated
+ */
+ boolean isSetMajor();
+
+ /**
+ * Returns the value of the '<em><b>Minor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Minor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The minor version number.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Minor</em>' attribute.
+ * @see #isSetMinor()
+ * @see #unsetMinor()
+ * @see #setMinor(int)
+ * @see org.genivi.common.CommonPackage#getVersion_Minor()
+ * @model unsettable="true" required="true"
+ * annotation="http://www.tomtom.com/emfidl/2012/GenModel valueMin='0' valueMax='32767'"
+ * @generated
+ */
+ int getMinor();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Version#getMinor <em>Minor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minor</em>' attribute.
+ * @see #isSetMinor()
+ * @see #unsetMinor()
+ * @see #getMinor()
+ * @generated
+ */
+ void setMinor(int value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.Version#getMinor <em>Minor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetMinor()
+ * @see #getMinor()
+ * @see #setMinor(int)
+ * @generated
+ */
+ void unsetMinor();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.Version#getMinor <em>Minor</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Minor</em>' attribute is set.
+ * @see #unsetMinor()
+ * @see #getMinor()
+ * @see #setMinor(int)
+ * @generated
+ */
+ boolean isSetMinor();
+
+ /**
+ * Returns the value of the '<em><b>Micro</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Micro</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The micro version number.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Micro</em>' attribute.
+ * @see #isSetMicro()
+ * @see #unsetMicro()
+ * @see #setMicro(int)
+ * @see org.genivi.common.CommonPackage#getVersion_Micro()
+ * @model unsettable="true" required="true"
+ * annotation="http://www.tomtom.com/emfidl/2012/GenModel valueMin='0' valueMax='32767'"
+ * @generated
+ */
+ int getMicro();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Version#getMicro <em>Micro</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Micro</em>' attribute.
+ * @see #isSetMicro()
+ * @see #unsetMicro()
+ * @see #getMicro()
+ * @generated
+ */
+ void setMicro(int value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.Version#getMicro <em>Micro</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetMicro()
+ * @see #getMicro()
+ * @see #setMicro(int)
+ * @generated
+ */
+ void unsetMicro();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.Version#getMicro <em>Micro</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Micro</em>' attribute is set.
+ * @see #unsetMicro()
+ * @see #getMicro()
+ * @see #setMicro(int)
+ * @generated
+ */
+ boolean isSetMicro();
+
+ /**
+ * Returns the value of the '<em><b>Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Date</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The date of this version.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Date</em>' attribute.
+ * @see #isSetDate()
+ * @see #unsetDate()
+ * @see #setDate(String)
+ * @see org.genivi.common.CommonPackage#getVersion_Date()
+ * @model unsettable="true" required="true"
+ * @generated
+ */
+ String getDate();
+
+ /**
+ * Sets the value of the '{@link org.genivi.common.Version#getDate <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Date</em>' attribute.
+ * @see #isSetDate()
+ * @see #unsetDate()
+ * @see #getDate()
+ * @generated
+ */
+ void setDate(String value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.common.Version#getDate <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetDate()
+ * @see #getDate()
+ * @see #setDate(String)
+ * @generated
+ */
+ void unsetDate();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.common.Version#getDate <em>Date</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Date</em>' attribute is set.
+ * @see #unsetDate()
+ * @see #getDate()
+ * @see #setDate(String)
+ * @generated
+ */
+ boolean isSetDate();
+
+} // Version
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonFactoryImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonFactoryImpl.java
new file mode 100755
index 0000000..a1760d9
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonFactoryImpl.java
@@ -0,0 +1,135 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.genivi.common.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CommonFactoryImpl extends EFactoryImpl implements CommonFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CommonFactory init() {
+ try {
+ CommonFactory theCommonFactory = (CommonFactory)EPackage.Registry.INSTANCE.getEFactory(CommonPackage.eNS_URI);
+ if (theCommonFactory != null) {
+ return theCommonFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new CommonFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommonFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case CommonPackage.COORDINATE: return createCoordinate();
+ case CommonPackage.RECTANGULAR_AREA: return createRectangularArea();
+ case CommonPackage.VERSION: return createVersion();
+ case CommonPackage.LOCALIZED_STRING: return createLocalizedString();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Coordinate createCoordinate() {
+ CoordinateImpl coordinate = new CoordinateImpl();
+ return coordinate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RectangularArea createRectangularArea() {
+ RectangularAreaImpl rectangularArea = new RectangularAreaImpl();
+ return rectangularArea;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Version createVersion() {
+ VersionImpl version = new VersionImpl();
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocalizedString createLocalizedString() {
+ LocalizedStringImpl localizedString = new LocalizedStringImpl();
+ return localizedString;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommonPackage getCommonPackage() {
+ return (CommonPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static CommonPackage getPackage() {
+ return CommonPackage.eINSTANCE;
+ }
+
+} //CommonFactoryImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonPackageImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonPackageImpl.java
new file mode 100755
index 0000000..f8f8ecc
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CommonPackageImpl.java
@@ -0,0 +1,413 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.genivi.common.CommonFactory;
+import org.genivi.common.CommonPackage;
+import org.genivi.common.Coordinate;
+import org.genivi.common.LocalizedString;
+import org.genivi.common.RectangularArea;
+
+import org.genivi.common.Version;
+import org.genivi.location.LocationPackage;
+
+import org.genivi.location.impl.LocationPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CommonPackageImpl extends EPackageImpl implements CommonPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass coordinateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rectangularAreaEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass versionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass localizedStringEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.genivi.common.CommonPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private CommonPackageImpl() {
+ super(eNS_URI, CommonFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link CommonPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static CommonPackage init() {
+ if (isInited) return (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
+
+ // Obtain or create and register package
+ CommonPackageImpl theCommonPackage = (CommonPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CommonPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CommonPackageImpl());
+
+ isInited = true;
+
+ // Obtain or create and register interdependencies
+ LocationPackageImpl theLocationPackage = (LocationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LocationPackage.eNS_URI) instanceof LocationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LocationPackage.eNS_URI) : LocationPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theCommonPackage.createPackageContents();
+ theLocationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theCommonPackage.initializePackageContents();
+ theLocationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theCommonPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(CommonPackage.eNS_URI, theCommonPackage);
+ return theCommonPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCoordinate() {
+ return coordinateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCoordinate_Latitude() {
+ return (EAttribute)coordinateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCoordinate_Longitude() {
+ return (EAttribute)coordinateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCoordinate_Altitude() {
+ return (EAttribute)coordinateEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRectangularArea() {
+ return rectangularAreaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRectangularArea_BottomLeft() {
+ return (EReference)rectangularAreaEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRectangularArea_TopRight() {
+ return (EReference)rectangularAreaEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVersion() {
+ return versionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVersion_Major() {
+ return (EAttribute)versionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVersion_Minor() {
+ return (EAttribute)versionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVersion_Micro() {
+ return (EAttribute)versionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVersion_Date() {
+ return (EAttribute)versionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLocalizedString() {
+ return localizedStringEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLocalizedString_LanguageCode() {
+ return (EAttribute)localizedStringEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLocalizedString_CountryCode() {
+ return (EAttribute)localizedStringEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLocalizedString_String() {
+ return (EAttribute)localizedStringEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommonFactory getCommonFactory() {
+ return (CommonFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ coordinateEClass = createEClass(COORDINATE);
+ createEAttribute(coordinateEClass, COORDINATE__LATITUDE);
+ createEAttribute(coordinateEClass, COORDINATE__LONGITUDE);
+ createEAttribute(coordinateEClass, COORDINATE__ALTITUDE);
+
+ rectangularAreaEClass = createEClass(RECTANGULAR_AREA);
+ createEReference(rectangularAreaEClass, RECTANGULAR_AREA__BOTTOM_LEFT);
+ createEReference(rectangularAreaEClass, RECTANGULAR_AREA__TOP_RIGHT);
+
+ versionEClass = createEClass(VERSION);
+ createEAttribute(versionEClass, VERSION__MAJOR);
+ createEAttribute(versionEClass, VERSION__MINOR);
+ createEAttribute(versionEClass, VERSION__MICRO);
+ createEAttribute(versionEClass, VERSION__DATE);
+
+ localizedStringEClass = createEClass(LOCALIZED_STRING);
+ createEAttribute(localizedStringEClass, LOCALIZED_STRING__LANGUAGE_CODE);
+ createEAttribute(localizedStringEClass, LOCALIZED_STRING__COUNTRY_CODE);
+ createEAttribute(localizedStringEClass, LOCALIZED_STRING__STRING);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(coordinateEClass, Coordinate.class, "Coordinate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCoordinate_Latitude(), ecorePackage.getEDouble(), "latitude", null, 1, 1, Coordinate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCoordinate_Longitude(), ecorePackage.getEDouble(), "longitude", null, 1, 1, Coordinate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCoordinate_Altitude(), ecorePackage.getEInt(), "altitude", null, 0, 1, Coordinate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rectangularAreaEClass, RectangularArea.class, "RectangularArea", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRectangularArea_BottomLeft(), this.getCoordinate(), null, "bottomLeft", null, 1, 1, RectangularArea.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRectangularArea_TopRight(), this.getCoordinate(), null, "topRight", null, 1, 1, RectangularArea.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(versionEClass, Version.class, "Version", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVersion_Major(), ecorePackage.getEInt(), "major", null, 1, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVersion_Minor(), ecorePackage.getEInt(), "minor", null, 1, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVersion_Micro(), ecorePackage.getEInt(), "micro", null, 1, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVersion_Date(), ecorePackage.getEString(), "date", null, 1, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(localizedStringEClass, LocalizedString.class, "LocalizedString", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLocalizedString_LanguageCode(), ecorePackage.getEString(), "languageCode", null, 1, 1, LocalizedString.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLocalizedString_CountryCode(), ecorePackage.getEString(), "countryCode", null, 0, 1, LocalizedString.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLocalizedString_String(), ecorePackage.getEString(), "string", null, 1, 1, LocalizedString.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.tomtom.com/emfidl/2012/GenModel
+ createGenModel_1Annotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.tomtom.com/emfidl/2012/GenModel</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createGenModel_1Annotations() {
+ String source = "http://www.tomtom.com/emfidl/2012/GenModel";
+ addAnnotation
+ (getVersion_Major(),
+ source,
+ new String[] {
+ "valueMin", "0",
+ "valueMax", "32767"
+ });
+ addAnnotation
+ (getVersion_Minor(),
+ source,
+ new String[] {
+ "valueMin", "0",
+ "valueMax", "32767"
+ });
+ addAnnotation
+ (getVersion_Micro(),
+ source,
+ new String[] {
+ "valueMin", "0",
+ "valueMax", "32767"
+ });
+ }
+
+} //CommonPackageImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CoordinateImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CoordinateImpl.java
new file mode 100755
index 0000000..38caa05
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/CoordinateImpl.java
@@ -0,0 +1,272 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.genivi.common.CommonPackage;
+import org.genivi.common.Coordinate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Coordinate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.common.impl.CoordinateImpl#getLatitude <em>Latitude</em>}</li>
+ * <li>{@link org.genivi.common.impl.CoordinateImpl#getLongitude <em>Longitude</em>}</li>
+ * <li>{@link org.genivi.common.impl.CoordinateImpl#getAltitude <em>Altitude</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CoordinateImpl extends EObjectImpl implements Coordinate {
+ /**
+ * The default value of the '{@link #getLatitude() <em>Latitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLatitude()
+ * @generated
+ * @ordered
+ */
+ protected static final double LATITUDE_EDEFAULT = 0.0;
+ /**
+ * The cached value of the '{@link #getLatitude() <em>Latitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLatitude()
+ * @generated
+ * @ordered
+ */
+ protected double latitude = LATITUDE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getLongitude() <em>Longitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLongitude()
+ * @generated
+ * @ordered
+ */
+ protected static final double LONGITUDE_EDEFAULT = 0.0;
+ /**
+ * The cached value of the '{@link #getLongitude() <em>Longitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLongitude()
+ * @generated
+ * @ordered
+ */
+ protected double longitude = LONGITUDE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getAltitude() <em>Altitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAltitude()
+ * @generated
+ * @ordered
+ */
+ protected static final int ALTITUDE_EDEFAULT = 0;
+ /**
+ * The cached value of the '{@link #getAltitude() <em>Altitude</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAltitude()
+ * @generated
+ * @ordered
+ */
+ protected int altitude = ALTITUDE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CoordinateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CommonPackage.Literals.COORDINATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getLatitude() {
+ return latitude;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLatitude(double newLatitude) {
+ double oldLatitude = latitude;
+ latitude = newLatitude;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.COORDINATE__LATITUDE, oldLatitude, latitude));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getLongitude() {
+ return longitude;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLongitude(double newLongitude) {
+ double oldLongitude = longitude;
+ longitude = newLongitude;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.COORDINATE__LONGITUDE, oldLongitude, longitude));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getAltitude() {
+ return altitude;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAltitude(int newAltitude) {
+ int oldAltitude = altitude;
+ altitude = newAltitude;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.COORDINATE__ALTITUDE, oldAltitude, altitude));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CommonPackage.COORDINATE__LATITUDE:
+ return getLatitude();
+ case CommonPackage.COORDINATE__LONGITUDE:
+ return getLongitude();
+ case CommonPackage.COORDINATE__ALTITUDE:
+ return getAltitude();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CommonPackage.COORDINATE__LATITUDE:
+ setLatitude((Double)newValue);
+ return;
+ case CommonPackage.COORDINATE__LONGITUDE:
+ setLongitude((Double)newValue);
+ return;
+ case CommonPackage.COORDINATE__ALTITUDE:
+ setAltitude((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CommonPackage.COORDINATE__LATITUDE:
+ setLatitude(LATITUDE_EDEFAULT);
+ return;
+ case CommonPackage.COORDINATE__LONGITUDE:
+ setLongitude(LONGITUDE_EDEFAULT);
+ return;
+ case CommonPackage.COORDINATE__ALTITUDE:
+ setAltitude(ALTITUDE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CommonPackage.COORDINATE__LATITUDE:
+ return latitude != LATITUDE_EDEFAULT;
+ case CommonPackage.COORDINATE__LONGITUDE:
+ return longitude != LONGITUDE_EDEFAULT;
+ case CommonPackage.COORDINATE__ALTITUDE:
+ return altitude != ALTITUDE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (latitude: ");
+ result.append(latitude);
+ result.append(", longitude: ");
+ result.append(longitude);
+ result.append(", altitude: ");
+ result.append(altitude);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CoordinateImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/LocalizedStringImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/LocalizedStringImpl.java
new file mode 100755
index 0000000..8f6743a
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/LocalizedStringImpl.java
@@ -0,0 +1,380 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.genivi.common.CommonPackage;
+import org.genivi.common.LocalizedString;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Localized String</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.common.impl.LocalizedStringImpl#getLanguageCode <em>Language Code</em>}</li>
+ * <li>{@link org.genivi.common.impl.LocalizedStringImpl#getCountryCode <em>Country Code</em>}</li>
+ * <li>{@link org.genivi.common.impl.LocalizedStringImpl#getString <em>String</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LocalizedStringImpl extends EObjectImpl implements LocalizedString {
+ /**
+ * The default value of the '{@link #getLanguageCode() <em>Language Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLanguageCode()
+ * @generated
+ * @ordered
+ */
+ protected static final String LANGUAGE_CODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLanguageCode() <em>Language Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLanguageCode()
+ * @generated
+ * @ordered
+ */
+ protected String languageCode = LANGUAGE_CODE_EDEFAULT;
+
+ /**
+ * This is true if the Language Code attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean languageCodeESet;
+
+ /**
+ * The default value of the '{@link #getCountryCode() <em>Country Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCountryCode()
+ * @generated
+ * @ordered
+ */
+ protected static final String COUNTRY_CODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCountryCode() <em>Country Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCountryCode()
+ * @generated
+ * @ordered
+ */
+ protected String countryCode = COUNTRY_CODE_EDEFAULT;
+
+ /**
+ * This is true if the Country Code attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean countryCodeESet;
+
+ /**
+ * The default value of the '{@link #getString() <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getString() <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString()
+ * @generated
+ * @ordered
+ */
+ protected String string = STRING_EDEFAULT;
+
+ /**
+ * This is true if the String attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean stringESet;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocalizedStringImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CommonPackage.Literals.LOCALIZED_STRING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLanguageCode() {
+ return languageCode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLanguageCode(String newLanguageCode) {
+ String oldLanguageCode = languageCode;
+ languageCode = newLanguageCode;
+ boolean oldLanguageCodeESet = languageCodeESet;
+ languageCodeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.LOCALIZED_STRING__LANGUAGE_CODE, oldLanguageCode, languageCode, !oldLanguageCodeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLanguageCode() {
+ String oldLanguageCode = languageCode;
+ boolean oldLanguageCodeESet = languageCodeESet;
+ languageCode = LANGUAGE_CODE_EDEFAULT;
+ languageCodeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.LOCALIZED_STRING__LANGUAGE_CODE, oldLanguageCode, LANGUAGE_CODE_EDEFAULT, oldLanguageCodeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLanguageCode() {
+ return languageCodeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCountryCode() {
+ return countryCode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCountryCode(String newCountryCode) {
+ String oldCountryCode = countryCode;
+ countryCode = newCountryCode;
+ boolean oldCountryCodeESet = countryCodeESet;
+ countryCodeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.LOCALIZED_STRING__COUNTRY_CODE, oldCountryCode, countryCode, !oldCountryCodeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCountryCode() {
+ String oldCountryCode = countryCode;
+ boolean oldCountryCodeESet = countryCodeESet;
+ countryCode = COUNTRY_CODE_EDEFAULT;
+ countryCodeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.LOCALIZED_STRING__COUNTRY_CODE, oldCountryCode, COUNTRY_CODE_EDEFAULT, oldCountryCodeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCountryCode() {
+ return countryCodeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getString() {
+ return string;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setString(String newString) {
+ String oldString = string;
+ string = newString;
+ boolean oldStringESet = stringESet;
+ stringESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.LOCALIZED_STRING__STRING, oldString, string, !oldStringESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetString() {
+ String oldString = string;
+ boolean oldStringESet = stringESet;
+ string = STRING_EDEFAULT;
+ stringESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.LOCALIZED_STRING__STRING, oldString, STRING_EDEFAULT, oldStringESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetString() {
+ return stringESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CommonPackage.LOCALIZED_STRING__LANGUAGE_CODE:
+ return getLanguageCode();
+ case CommonPackage.LOCALIZED_STRING__COUNTRY_CODE:
+ return getCountryCode();
+ case CommonPackage.LOCALIZED_STRING__STRING:
+ return getString();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CommonPackage.LOCALIZED_STRING__LANGUAGE_CODE:
+ setLanguageCode((String)newValue);
+ return;
+ case CommonPackage.LOCALIZED_STRING__COUNTRY_CODE:
+ setCountryCode((String)newValue);
+ return;
+ case CommonPackage.LOCALIZED_STRING__STRING:
+ setString((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CommonPackage.LOCALIZED_STRING__LANGUAGE_CODE:
+ unsetLanguageCode();
+ return;
+ case CommonPackage.LOCALIZED_STRING__COUNTRY_CODE:
+ unsetCountryCode();
+ return;
+ case CommonPackage.LOCALIZED_STRING__STRING:
+ unsetString();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CommonPackage.LOCALIZED_STRING__LANGUAGE_CODE:
+ return isSetLanguageCode();
+ case CommonPackage.LOCALIZED_STRING__COUNTRY_CODE:
+ return isSetCountryCode();
+ case CommonPackage.LOCALIZED_STRING__STRING:
+ return isSetString();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (languageCode: ");
+ if (languageCodeESet) result.append(languageCode); else result.append("<unset>");
+ result.append(", countryCode: ");
+ if (countryCodeESet) result.append(countryCode); else result.append("<unset>");
+ result.append(", string: ");
+ if (stringESet) result.append(string); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //LocalizedStringImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/RectangularAreaImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/RectangularAreaImpl.java
new file mode 100755
index 0000000..8eb3254
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/RectangularAreaImpl.java
@@ -0,0 +1,247 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.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.genivi.common.CommonPackage;
+import org.genivi.common.Coordinate;
+import org.genivi.common.RectangularArea;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rectangular Area</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.common.impl.RectangularAreaImpl#getBottomLeft <em>Bottom Left</em>}</li>
+ * <li>{@link org.genivi.common.impl.RectangularAreaImpl#getTopRight <em>Top Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RectangularAreaImpl extends EObjectImpl implements RectangularArea {
+ /**
+ * The cached value of the '{@link #getBottomLeft() <em>Bottom Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBottomLeft()
+ * @generated
+ * @ordered
+ */
+ protected Coordinate bottomLeft;
+ /**
+ * The cached value of the '{@link #getTopRight() <em>Top Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTopRight()
+ * @generated
+ * @ordered
+ */
+ protected Coordinate topRight;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RectangularAreaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CommonPackage.Literals.RECTANGULAR_AREA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Coordinate getBottomLeft() {
+ return bottomLeft;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBottomLeft(Coordinate newBottomLeft, NotificationChain msgs) {
+ Coordinate oldBottomLeft = bottomLeft;
+ bottomLeft = newBottomLeft;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT, oldBottomLeft, newBottomLeft);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBottomLeft(Coordinate newBottomLeft) {
+ if (newBottomLeft != bottomLeft) {
+ NotificationChain msgs = null;
+ if (bottomLeft != null)
+ msgs = ((InternalEObject)bottomLeft).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT, null, msgs);
+ if (newBottomLeft != null)
+ msgs = ((InternalEObject)newBottomLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT, null, msgs);
+ msgs = basicSetBottomLeft(newBottomLeft, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT, newBottomLeft, newBottomLeft));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Coordinate getTopRight() {
+ return topRight;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTopRight(Coordinate newTopRight, NotificationChain msgs) {
+ Coordinate oldTopRight = topRight;
+ topRight = newTopRight;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CommonPackage.RECTANGULAR_AREA__TOP_RIGHT, oldTopRight, newTopRight);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTopRight(Coordinate newTopRight) {
+ if (newTopRight != topRight) {
+ NotificationChain msgs = null;
+ if (topRight != null)
+ msgs = ((InternalEObject)topRight).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CommonPackage.RECTANGULAR_AREA__TOP_RIGHT, null, msgs);
+ if (newTopRight != null)
+ msgs = ((InternalEObject)newTopRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CommonPackage.RECTANGULAR_AREA__TOP_RIGHT, null, msgs);
+ msgs = basicSetTopRight(newTopRight, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.RECTANGULAR_AREA__TOP_RIGHT, newTopRight, newTopRight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT:
+ return basicSetBottomLeft(null, msgs);
+ case CommonPackage.RECTANGULAR_AREA__TOP_RIGHT:
+ return basicSetTopRight(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT:
+ return getBottomLeft();
+ case CommonPackage.RECTANGULAR_AREA__TOP_RIGHT:
+ return getTopRight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT:
+ setBottomLeft((Coordinate)newValue);
+ return;
+ case CommonPackage.RECTANGULAR_AREA__TOP_RIGHT:
+ setTopRight((Coordinate)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT:
+ setBottomLeft((Coordinate)null);
+ return;
+ case CommonPackage.RECTANGULAR_AREA__TOP_RIGHT:
+ setTopRight((Coordinate)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CommonPackage.RECTANGULAR_AREA__BOTTOM_LEFT:
+ return bottomLeft != null;
+ case CommonPackage.RECTANGULAR_AREA__TOP_RIGHT:
+ return topRight != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RectangularAreaImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/VersionImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/VersionImpl.java
new file mode 100755
index 0000000..a70edc8
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/impl/VersionImpl.java
@@ -0,0 +1,468 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.genivi.common.CommonPackage;
+import org.genivi.common.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Version</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.common.impl.VersionImpl#getMajor <em>Major</em>}</li>
+ * <li>{@link org.genivi.common.impl.VersionImpl#getMinor <em>Minor</em>}</li>
+ * <li>{@link org.genivi.common.impl.VersionImpl#getMicro <em>Micro</em>}</li>
+ * <li>{@link org.genivi.common.impl.VersionImpl#getDate <em>Date</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VersionImpl extends EObjectImpl implements Version {
+ /**
+ * The default value of the '{@link #getMajor() <em>Major</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMajor()
+ * @generated
+ * @ordered
+ */
+ protected static final int MAJOR_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMajor() <em>Major</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMajor()
+ * @generated
+ * @ordered
+ */
+ protected int major = MAJOR_EDEFAULT;
+
+ /**
+ * This is true if the Major attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean majorESet;
+
+ /**
+ * The default value of the '{@link #getMinor() <em>Minor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinor()
+ * @generated
+ * @ordered
+ */
+ protected static final int MINOR_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMinor() <em>Minor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinor()
+ * @generated
+ * @ordered
+ */
+ protected int minor = MINOR_EDEFAULT;
+
+ /**
+ * This is true if the Minor attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean minorESet;
+
+ /**
+ * The default value of the '{@link #getMicro() <em>Micro</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMicro()
+ * @generated
+ * @ordered
+ */
+ protected static final int MICRO_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMicro() <em>Micro</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMicro()
+ * @generated
+ * @ordered
+ */
+ protected int micro = MICRO_EDEFAULT;
+
+ /**
+ * This is true if the Micro attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean microESet;
+
+ /**
+ * The default value of the '{@link #getDate() <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDate()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDate() <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDate()
+ * @generated
+ * @ordered
+ */
+ protected String date = DATE_EDEFAULT;
+
+ /**
+ * This is true if the Date attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean dateESet;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VersionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CommonPackage.Literals.VERSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMajor() {
+ return major;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMajor(int newMajor) {
+ int oldMajor = major;
+ major = newMajor;
+ boolean oldMajorESet = majorESet;
+ majorESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.VERSION__MAJOR, oldMajor, major, !oldMajorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetMajor() {
+ int oldMajor = major;
+ boolean oldMajorESet = majorESet;
+ major = MAJOR_EDEFAULT;
+ majorESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.VERSION__MAJOR, oldMajor, MAJOR_EDEFAULT, oldMajorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMajor() {
+ return majorESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMinor() {
+ return minor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinor(int newMinor) {
+ int oldMinor = minor;
+ minor = newMinor;
+ boolean oldMinorESet = minorESet;
+ minorESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.VERSION__MINOR, oldMinor, minor, !oldMinorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetMinor() {
+ int oldMinor = minor;
+ boolean oldMinorESet = minorESet;
+ minor = MINOR_EDEFAULT;
+ minorESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.VERSION__MINOR, oldMinor, MINOR_EDEFAULT, oldMinorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMinor() {
+ return minorESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMicro() {
+ return micro;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMicro(int newMicro) {
+ int oldMicro = micro;
+ micro = newMicro;
+ boolean oldMicroESet = microESet;
+ microESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.VERSION__MICRO, oldMicro, micro, !oldMicroESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetMicro() {
+ int oldMicro = micro;
+ boolean oldMicroESet = microESet;
+ micro = MICRO_EDEFAULT;
+ microESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.VERSION__MICRO, oldMicro, MICRO_EDEFAULT, oldMicroESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetMicro() {
+ return microESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDate() {
+ return date;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDate(String newDate) {
+ String oldDate = date;
+ date = newDate;
+ boolean oldDateESet = dateESet;
+ dateESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.VERSION__DATE, oldDate, date, !oldDateESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetDate() {
+ String oldDate = date;
+ boolean oldDateESet = dateESet;
+ date = DATE_EDEFAULT;
+ dateESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, CommonPackage.VERSION__DATE, oldDate, DATE_EDEFAULT, oldDateESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetDate() {
+ return dateESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CommonPackage.VERSION__MAJOR:
+ return getMajor();
+ case CommonPackage.VERSION__MINOR:
+ return getMinor();
+ case CommonPackage.VERSION__MICRO:
+ return getMicro();
+ case CommonPackage.VERSION__DATE:
+ return getDate();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CommonPackage.VERSION__MAJOR:
+ setMajor((Integer)newValue);
+ return;
+ case CommonPackage.VERSION__MINOR:
+ setMinor((Integer)newValue);
+ return;
+ case CommonPackage.VERSION__MICRO:
+ setMicro((Integer)newValue);
+ return;
+ case CommonPackage.VERSION__DATE:
+ setDate((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CommonPackage.VERSION__MAJOR:
+ unsetMajor();
+ return;
+ case CommonPackage.VERSION__MINOR:
+ unsetMinor();
+ return;
+ case CommonPackage.VERSION__MICRO:
+ unsetMicro();
+ return;
+ case CommonPackage.VERSION__DATE:
+ unsetDate();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CommonPackage.VERSION__MAJOR:
+ return isSetMajor();
+ case CommonPackage.VERSION__MINOR:
+ return isSetMinor();
+ case CommonPackage.VERSION__MICRO:
+ return isSetMicro();
+ case CommonPackage.VERSION__DATE:
+ return isSetDate();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (major: ");
+ if (majorESet) result.append(major); else result.append("<unset>");
+ result.append(", minor: ");
+ if (minorESet) result.append(minor); else result.append("<unset>");
+ result.append(", micro: ");
+ if (microESet) result.append(micro); else result.append("<unset>");
+ result.append(", date: ");
+ if (dateESet) result.append(date); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //VersionImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonAdapterFactory.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonAdapterFactory.java
new file mode 100755
index 0000000..9876412
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonAdapterFactory.java
@@ -0,0 +1,181 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.genivi.common.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.CommonPackage
+ * @generated
+ */
+public class CommonAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CommonPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommonAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = CommonPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommonSwitch<Adapter> modelSwitch =
+ new CommonSwitch<Adapter>() {
+ @Override
+ public Adapter caseCoordinate(Coordinate object) {
+ return createCoordinateAdapter();
+ }
+ @Override
+ public Adapter caseRectangularArea(RectangularArea object) {
+ return createRectangularAreaAdapter();
+ }
+ @Override
+ public Adapter caseVersion(Version object) {
+ return createVersionAdapter();
+ }
+ @Override
+ public Adapter caseLocalizedString(LocalizedString object) {
+ return createLocalizedStringAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.common.Coordinate <em>Coordinate</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.common.Coordinate
+ * @generated
+ */
+ public Adapter createCoordinateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.common.RectangularArea <em>Rectangular Area</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.common.RectangularArea
+ * @generated
+ */
+ public Adapter createRectangularAreaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.common.Version <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.common.Version
+ * @generated
+ */
+ public Adapter createVersionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.common.LocalizedString <em>Localized String</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.common.LocalizedString
+ * @generated
+ */
+ public Adapter createLocalizedStringAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //CommonAdapterFactory
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonSwitch.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonSwitch.java
new file mode 100755
index 0000000..2d06273
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/common/util/CommonSwitch.java
@@ -0,0 +1,182 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.common.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.genivi.common.CommonPackage;
+import org.genivi.common.Coordinate;
+import org.genivi.common.LocalizedString;
+import org.genivi.common.RectangularArea;
+import org.genivi.common.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.genivi.common.CommonPackage
+ * @generated
+ */
+public class CommonSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CommonPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommonSwitch() {
+ if (modelPackage == null) {
+ modelPackage = CommonPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * 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 CommonPackage.COORDINATE: {
+ Coordinate coordinate = (Coordinate)theEObject;
+ T result = caseCoordinate(coordinate);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CommonPackage.RECTANGULAR_AREA: {
+ RectangularArea rectangularArea = (RectangularArea)theEObject;
+ T result = caseRectangularArea(rectangularArea);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CommonPackage.VERSION: {
+ Version version = (Version)theEObject;
+ T result = caseVersion(version);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CommonPackage.LOCALIZED_STRING: {
+ LocalizedString localizedString = (LocalizedString)theEObject;
+ T result = caseLocalizedString(localizedString);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Coordinate</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Coordinate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCoordinate(Coordinate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rectangular Area</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rectangular Area</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRectangularArea(RectangularArea object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Version</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Version</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVersion(Version object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Localized String</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Localized String</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLocalizedString(LocalizedString object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //CommonSwitch
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocation.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocation.java
new file mode 100755
index 0000000..88db67d
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocation.java
@@ -0,0 +1,29 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Area Location</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The location is an area, e.g. an area with fog.
+ * TODO Work out the AreaLocation class
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.genivi.location.LocationPackage#getAreaLocation()
+ * @model
+ * @generated
+ */
+public interface AreaLocation extends Location {
+} // AreaLocation
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocationInfo.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocationInfo.java
new file mode 100755
index 0000000..4bead9d
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/AreaLocationInfo.java
@@ -0,0 +1,24 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Area Location Info</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.genivi.location.LocationPackage#getAreaLocationInfo()
+ * @model
+ * @generated
+ */
+public interface AreaLocationInfo extends LocationInfo {
+} // AreaLocationInfo
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocation.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocation.java
new file mode 100755
index 0000000..ea5bcd6
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocation.java
@@ -0,0 +1,161 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+import org.eclipse.emf.common.util.EList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Linear Location</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The location is a road stretch, e.g. the road stretch where there is a traffic jam.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.location.LinearLocation#getSegments <em>Segments</em>}</li>
+ * <li>{@link org.genivi.location.LinearLocation#getPositiveOffset <em>Positive Offset</em>}</li>
+ * <li>{@link org.genivi.location.LinearLocation#getNegativeOffset <em>Negative Offset</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.location.LocationPackage#getLinearLocation()
+ * @model
+ * @generated
+ */
+public interface LinearLocation extends Location {
+
+ /**
+ * Returns the value of the '<em><b>Segments</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.Long}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Segments</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The database segments of the location.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Segments</em>' attribute list.
+ * @see org.genivi.location.LocationPackage#getLinearLocation_Segments()
+ * @model required="true"
+ * @generated
+ */
+ EList<Long> getSegments();
+
+ /**
+ * Returns the value of the '<em><b>Positive Offset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The positive offset is the distance (in meters) between the begin node of the first segment and the start point of the actual location.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Positive Offset</em>' attribute.
+ * @see #isSetPositiveOffset()
+ * @see #unsetPositiveOffset()
+ * @see #setPositiveOffset(long)
+ * @see org.genivi.location.LocationPackage#getLinearLocation_PositiveOffset()
+ * @model unsettable="true"
+ * @generated
+ */
+ long getPositiveOffset();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LinearLocation#getPositiveOffset <em>Positive Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Positive Offset</em>' attribute.
+ * @see #isSetPositiveOffset()
+ * @see #unsetPositiveOffset()
+ * @see #getPositiveOffset()
+ * @generated
+ */
+ void setPositiveOffset(long value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.location.LinearLocation#getPositiveOffset <em>Positive Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetPositiveOffset()
+ * @see #getPositiveOffset()
+ * @see #setPositiveOffset(long)
+ * @generated
+ */
+ void unsetPositiveOffset();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.location.LinearLocation#getPositiveOffset <em>Positive Offset</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Positive Offset</em>' attribute is set.
+ * @see #unsetPositiveOffset()
+ * @see #getPositiveOffset()
+ * @see #setPositiveOffset(long)
+ * @generated
+ */
+ boolean isSetPositiveOffset();
+
+ /**
+ * Returns the value of the '<em><b>Negative Offset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The negative offset is the distance (in meters) between the end point of the actual location and the end node of the last segment.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Negative Offset</em>' attribute.
+ * @see #isSetNegativeOffset()
+ * @see #unsetNegativeOffset()
+ * @see #setNegativeOffset(long)
+ * @see org.genivi.location.LocationPackage#getLinearLocation_NegativeOffset()
+ * @model unsettable="true"
+ * @generated
+ */
+ long getNegativeOffset();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LinearLocation#getNegativeOffset <em>Negative Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Negative Offset</em>' attribute.
+ * @see #isSetNegativeOffset()
+ * @see #unsetNegativeOffset()
+ * @see #getNegativeOffset()
+ * @generated
+ */
+ void setNegativeOffset(long value);
+
+ /**
+ * Unsets the value of the '{@link org.genivi.location.LinearLocation#getNegativeOffset <em>Negative Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetNegativeOffset()
+ * @see #getNegativeOffset()
+ * @see #setNegativeOffset(long)
+ * @generated
+ */
+ void unsetNegativeOffset();
+
+ /**
+ * Returns whether the value of the '{@link org.genivi.location.LinearLocation#getNegativeOffset <em>Negative Offset</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Negative Offset</em>' attribute is set.
+ * @see #unsetNegativeOffset()
+ * @see #getNegativeOffset()
+ * @see #setNegativeOffset(long)
+ * @generated
+ */
+ boolean isSetNegativeOffset();
+} // LinearLocation
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocationInfo.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocationInfo.java
new file mode 100755
index 0000000..d933d3c
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LinearLocationInfo.java
@@ -0,0 +1,157 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.genivi.common.Coordinate;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Linear Location Info</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.location.LinearLocationInfo#getFromLocationName <em>From Location Name</em>}</li>
+ * <li>{@link org.genivi.location.LinearLocationInfo#getFromLocationParentName <em>From Location Parent Name</em>}</li>
+ * <li>{@link org.genivi.location.LinearLocationInfo#getToLocationName <em>To Location Name</em>}</li>
+ * <li>{@link org.genivi.location.LinearLocationInfo#getToLocationParentName <em>To Location Parent Name</em>}</li>
+ * <li>{@link org.genivi.location.LinearLocationInfo#getCoordinates <em>Coordinates</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.location.LocationPackage#getLinearLocationInfo()
+ * @model
+ * @generated
+ */
+public interface LinearLocationInfo extends LocationInfo {
+ /**
+ * Returns the value of the '<em><b>From Location Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From Location Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From Location Name</em>' attribute.
+ * @see #setFromLocationName(String)
+ * @see org.genivi.location.LocationPackage#getLinearLocationInfo_FromLocationName()
+ * @model
+ * @generated
+ */
+ String getFromLocationName();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LinearLocationInfo#getFromLocationName <em>From Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From Location Name</em>' attribute.
+ * @see #getFromLocationName()
+ * @generated
+ */
+ void setFromLocationName(String value);
+
+ /**
+ * Returns the value of the '<em><b>From Location Parent Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From Location Parent Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From Location Parent Name</em>' attribute.
+ * @see #setFromLocationParentName(String)
+ * @see org.genivi.location.LocationPackage#getLinearLocationInfo_FromLocationParentName()
+ * @model
+ * @generated
+ */
+ String getFromLocationParentName();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LinearLocationInfo#getFromLocationParentName <em>From Location Parent Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From Location Parent Name</em>' attribute.
+ * @see #getFromLocationParentName()
+ * @generated
+ */
+ void setFromLocationParentName(String value);
+
+ /**
+ * Returns the value of the '<em><b>To Location Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To Location Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To Location Name</em>' attribute.
+ * @see #setToLocationName(String)
+ * @see org.genivi.location.LocationPackage#getLinearLocationInfo_ToLocationName()
+ * @model
+ * @generated
+ */
+ String getToLocationName();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LinearLocationInfo#getToLocationName <em>To Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To Location Name</em>' attribute.
+ * @see #getToLocationName()
+ * @generated
+ */
+ void setToLocationName(String value);
+
+ /**
+ * Returns the value of the '<em><b>To Location Parent Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To Location Parent Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To Location Parent Name</em>' attribute.
+ * @see #setToLocationParentName(String)
+ * @see org.genivi.location.LocationPackage#getLinearLocationInfo_ToLocationParentName()
+ * @model
+ * @generated
+ */
+ String getToLocationParentName();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LinearLocationInfo#getToLocationParentName <em>To Location Parent Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To Location Parent Name</em>' attribute.
+ * @see #getToLocationParentName()
+ * @generated
+ */
+ void setToLocationParentName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Coordinates</b></em>' containment reference list.
+ * The list contents are of type {@link org.genivi.common.Coordinate}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Coordinates</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Coordinates</em>' containment reference list.
+ * @see org.genivi.location.LocationPackage#getLinearLocationInfo_Coordinates()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Coordinate> getCoordinates();
+
+} // LinearLocationInfo
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/Location.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/Location.java
new file mode 100755
index 0000000..2ff6ed7
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/Location.java
@@ -0,0 +1,29 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Location</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Common parent for all location types.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.genivi.location.LocationPackage#getLocation()
+ * @model
+ * @generated
+ */
+public interface Location extends EObject {
+} // Location
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationFactory.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationFactory.java
new file mode 100755
index 0000000..3fdbc0c
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationFactory.java
@@ -0,0 +1,112 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+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.genivi.location.LocationPackage
+ * @generated
+ */
+public interface LocationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LocationFactory eINSTANCE = org.genivi.location.impl.LocationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Location</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Location</em>'.
+ * @generated
+ */
+ Location createLocation();
+
+ /**
+ * Returns a new object of class '<em>Point Location</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Point Location</em>'.
+ * @generated
+ */
+ PointLocation createPointLocation();
+
+ /**
+ * Returns a new object of class '<em>Area Location</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Area Location</em>'.
+ * @generated
+ */
+ AreaLocation createAreaLocation();
+
+ /**
+ * Returns a new object of class '<em>Linear Location</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Linear Location</em>'.
+ * @generated
+ */
+ LinearLocation createLinearLocation();
+
+ /**
+ * Returns a new object of class '<em>Info</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Info</em>'.
+ * @generated
+ */
+ LocationInfo createLocationInfo();
+
+ /**
+ * Returns a new object of class '<em>Point Location Info</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Point Location Info</em>'.
+ * @generated
+ */
+ PointLocationInfo createPointLocationInfo();
+
+ /**
+ * Returns a new object of class '<em>Linear Location Info</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Linear Location Info</em>'.
+ * @generated
+ */
+ LinearLocationInfo createLinearLocationInfo();
+
+ /**
+ * Returns a new object of class '<em>Area Location Info</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Area Location Info</em>'.
+ * @generated
+ */
+ AreaLocationInfo createAreaLocationInfo();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ LocationPackage getLocationPackage();
+
+} //LocationFactory
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationInfo.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationInfo.java
new file mode 100755
index 0000000..002f811
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationInfo.java
@@ -0,0 +1,86 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.genivi.common.Coordinate;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Info</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.location.LocationInfo#getName <em>Name</em>}</li>
+ * <li>{@link org.genivi.location.LocationInfo#getMainLocation <em>Main Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.location.LocationPackage#getLocationInfo()
+ * @model
+ * @generated
+ */
+public interface LocationInfo extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.genivi.location.LocationPackage#getLocationInfo_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LocationInfo#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Main Location</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Main Location</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Main Location</em>' containment reference.
+ * @see #setMainLocation(Coordinate)
+ * @see org.genivi.location.LocationPackage#getLocationInfo_MainLocation()
+ * @model containment="true"
+ * @generated
+ */
+ Coordinate getMainLocation();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.LocationInfo#getMainLocation <em>Main Location</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Main Location</em>' containment reference.
+ * @see #getMainLocation()
+ * @generated
+ */
+ void setMainLocation(Coordinate value);
+
+} // LocationInfo
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationPackage.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationPackage.java
new file mode 100755
index 0000000..fe6e3df
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/LocationPackage.java
@@ -0,0 +1,796 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- 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.genivi.location.LocationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface LocationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "location";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://org.genivi.location";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "common";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LocationPackage eINSTANCE = org.genivi.location.impl.LocationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.LocationImpl <em>Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLocation()
+ * @generated
+ */
+ int LOCATION = 0;
+
+ /**
+ * The number of structural features of the '<em>Location</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCATION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.PointLocationImpl <em>Point Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.PointLocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getPointLocation()
+ * @generated
+ */
+ int POINT_LOCATION = 1;
+
+ /**
+ * The number of structural features of the '<em>Point Location</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POINT_LOCATION_FEATURE_COUNT = LOCATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.AreaLocationImpl <em>Area Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.AreaLocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getAreaLocation()
+ * @generated
+ */
+ int AREA_LOCATION = 2;
+
+ /**
+ * The number of structural features of the '<em>Area Location</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AREA_LOCATION_FEATURE_COUNT = LOCATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.LinearLocationImpl <em>Linear Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LinearLocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLinearLocation()
+ * @generated
+ */
+ int LINEAR_LOCATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Segments</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION__SEGMENTS = LOCATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Positive Offset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION__POSITIVE_OFFSET = LOCATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Negative Offset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION__NEGATIVE_OFFSET = LOCATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Linear Location</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_FEATURE_COUNT = LOCATION_FEATURE_COUNT + 3;
+
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.LocationInfoImpl <em>Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLocationInfo()
+ * @generated
+ */
+ int LOCATION_INFO = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCATION_INFO__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Main Location</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCATION_INFO__MAIN_LOCATION = 1;
+
+ /**
+ * The number of structural features of the '<em>Info</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCATION_INFO_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.PointLocationInfoImpl <em>Point Location Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.PointLocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getPointLocationInfo()
+ * @generated
+ */
+ int POINT_LOCATION_INFO = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POINT_LOCATION_INFO__NAME = LOCATION_INFO__NAME;
+
+ /**
+ * The feature id for the '<em><b>Main Location</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POINT_LOCATION_INFO__MAIN_LOCATION = LOCATION_INFO__MAIN_LOCATION;
+
+ /**
+ * The feature id for the '<em><b>Location Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POINT_LOCATION_INFO__LOCATION_TYPE = LOCATION_INFO_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Point Location Info</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POINT_LOCATION_INFO_FEATURE_COUNT = LOCATION_INFO_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.LinearLocationInfoImpl <em>Linear Location Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LinearLocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLinearLocationInfo()
+ * @generated
+ */
+ int LINEAR_LOCATION_INFO = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__NAME = LOCATION_INFO__NAME;
+
+ /**
+ * The feature id for the '<em><b>Main Location</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__MAIN_LOCATION = LOCATION_INFO__MAIN_LOCATION;
+
+ /**
+ * The feature id for the '<em><b>From Location Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__FROM_LOCATION_NAME = LOCATION_INFO_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>From Location Parent Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME = LOCATION_INFO_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>To Location Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__TO_LOCATION_NAME = LOCATION_INFO_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>To Location Parent Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME = LOCATION_INFO_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Coordinates</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO__COORDINATES = LOCATION_INFO_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Linear Location Info</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINEAR_LOCATION_INFO_FEATURE_COUNT = LOCATION_INFO_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.impl.AreaLocationInfoImpl <em>Area Location Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.AreaLocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getAreaLocationInfo()
+ * @generated
+ */
+ int AREA_LOCATION_INFO = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AREA_LOCATION_INFO__NAME = LOCATION_INFO__NAME;
+
+ /**
+ * The feature id for the '<em><b>Main Location</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AREA_LOCATION_INFO__MAIN_LOCATION = LOCATION_INFO__MAIN_LOCATION;
+
+ /**
+ * The number of structural features of the '<em>Area Location Info</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AREA_LOCATION_INFO_FEATURE_COUNT = LOCATION_INFO_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.genivi.location.PointLocationType <em>Point Location Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.PointLocationType
+ * @see org.genivi.location.impl.LocationPackageImpl#getPointLocationType()
+ * @generated
+ */
+ int POINT_LOCATION_TYPE = 8;
+
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.Location <em>Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Location</em>'.
+ * @see org.genivi.location.Location
+ * @generated
+ */
+ EClass getLocation();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.PointLocation <em>Point Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Point Location</em>'.
+ * @see org.genivi.location.PointLocation
+ * @generated
+ */
+ EClass getPointLocation();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.AreaLocation <em>Area Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Area Location</em>'.
+ * @see org.genivi.location.AreaLocation
+ * @generated
+ */
+ EClass getAreaLocation();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.LinearLocation <em>Linear Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Linear Location</em>'.
+ * @see org.genivi.location.LinearLocation
+ * @generated
+ */
+ EClass getLinearLocation();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.genivi.location.LinearLocation#getSegments <em>Segments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Segments</em>'.
+ * @see org.genivi.location.LinearLocation#getSegments()
+ * @see #getLinearLocation()
+ * @generated
+ */
+ EAttribute getLinearLocation_Segments();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LinearLocation#getPositiveOffset <em>Positive Offset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Positive Offset</em>'.
+ * @see org.genivi.location.LinearLocation#getPositiveOffset()
+ * @see #getLinearLocation()
+ * @generated
+ */
+ EAttribute getLinearLocation_PositiveOffset();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LinearLocation#getNegativeOffset <em>Negative Offset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Negative Offset</em>'.
+ * @see org.genivi.location.LinearLocation#getNegativeOffset()
+ * @see #getLinearLocation()
+ * @generated
+ */
+ EAttribute getLinearLocation_NegativeOffset();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.LocationInfo <em>Info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Info</em>'.
+ * @see org.genivi.location.LocationInfo
+ * @generated
+ */
+ EClass getLocationInfo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LocationInfo#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.genivi.location.LocationInfo#getName()
+ * @see #getLocationInfo()
+ * @generated
+ */
+ EAttribute getLocationInfo_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.genivi.location.LocationInfo#getMainLocation <em>Main Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Main Location</em>'.
+ * @see org.genivi.location.LocationInfo#getMainLocation()
+ * @see #getLocationInfo()
+ * @generated
+ */
+ EReference getLocationInfo_MainLocation();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.PointLocationInfo <em>Point Location Info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Point Location Info</em>'.
+ * @see org.genivi.location.PointLocationInfo
+ * @generated
+ */
+ EClass getPointLocationInfo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.PointLocationInfo#getLocationType <em>Location Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Location Type</em>'.
+ * @see org.genivi.location.PointLocationInfo#getLocationType()
+ * @see #getPointLocationInfo()
+ * @generated
+ */
+ EAttribute getPointLocationInfo_LocationType();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.LinearLocationInfo <em>Linear Location Info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Linear Location Info</em>'.
+ * @see org.genivi.location.LinearLocationInfo
+ * @generated
+ */
+ EClass getLinearLocationInfo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LinearLocationInfo#getFromLocationName <em>From Location Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>From Location Name</em>'.
+ * @see org.genivi.location.LinearLocationInfo#getFromLocationName()
+ * @see #getLinearLocationInfo()
+ * @generated
+ */
+ EAttribute getLinearLocationInfo_FromLocationName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LinearLocationInfo#getFromLocationParentName <em>From Location Parent Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>From Location Parent Name</em>'.
+ * @see org.genivi.location.LinearLocationInfo#getFromLocationParentName()
+ * @see #getLinearLocationInfo()
+ * @generated
+ */
+ EAttribute getLinearLocationInfo_FromLocationParentName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LinearLocationInfo#getToLocationName <em>To Location Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>To Location Name</em>'.
+ * @see org.genivi.location.LinearLocationInfo#getToLocationName()
+ * @see #getLinearLocationInfo()
+ * @generated
+ */
+ EAttribute getLinearLocationInfo_ToLocationName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.genivi.location.LinearLocationInfo#getToLocationParentName <em>To Location Parent Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>To Location Parent Name</em>'.
+ * @see org.genivi.location.LinearLocationInfo#getToLocationParentName()
+ * @see #getLinearLocationInfo()
+ * @generated
+ */
+ EAttribute getLinearLocationInfo_ToLocationParentName();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.genivi.location.LinearLocationInfo#getCoordinates <em>Coordinates</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Coordinates</em>'.
+ * @see org.genivi.location.LinearLocationInfo#getCoordinates()
+ * @see #getLinearLocationInfo()
+ * @generated
+ */
+ EReference getLinearLocationInfo_Coordinates();
+
+ /**
+ * Returns the meta object for class '{@link org.genivi.location.AreaLocationInfo <em>Area Location Info</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Area Location Info</em>'.
+ * @see org.genivi.location.AreaLocationInfo
+ * @generated
+ */
+ EClass getAreaLocationInfo();
+
+ /**
+ * Returns the meta object for enum '{@link org.genivi.location.PointLocationType <em>Point Location Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Point Location Type</em>'.
+ * @see org.genivi.location.PointLocationType
+ * @generated
+ */
+ EEnum getPointLocationType();
+
+ /**
+ * 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
+ */
+ LocationFactory getLocationFactory();
+
+ /**
+ * <!-- 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.genivi.location.impl.LocationImpl <em>Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLocation()
+ * @generated
+ */
+ EClass LOCATION = eINSTANCE.getLocation();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.PointLocationImpl <em>Point Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.PointLocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getPointLocation()
+ * @generated
+ */
+ EClass POINT_LOCATION = eINSTANCE.getPointLocation();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.AreaLocationImpl <em>Area Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.AreaLocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getAreaLocation()
+ * @generated
+ */
+ EClass AREA_LOCATION = eINSTANCE.getAreaLocation();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.LinearLocationImpl <em>Linear Location</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LinearLocationImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLinearLocation()
+ * @generated
+ */
+ EClass LINEAR_LOCATION = eINSTANCE.getLinearLocation();
+
+ /**
+ * The meta object literal for the '<em><b>Segments</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION__SEGMENTS = eINSTANCE.getLinearLocation_Segments();
+
+ /**
+ * The meta object literal for the '<em><b>Positive Offset</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION__POSITIVE_OFFSET = eINSTANCE.getLinearLocation_PositiveOffset();
+
+ /**
+ * The meta object literal for the '<em><b>Negative Offset</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION__NEGATIVE_OFFSET = eINSTANCE.getLinearLocation_NegativeOffset();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.LocationInfoImpl <em>Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLocationInfo()
+ * @generated
+ */
+ EClass LOCATION_INFO = eINSTANCE.getLocationInfo();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOCATION_INFO__NAME = eINSTANCE.getLocationInfo_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Main Location</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOCATION_INFO__MAIN_LOCATION = eINSTANCE.getLocationInfo_MainLocation();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.PointLocationInfoImpl <em>Point Location Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.PointLocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getPointLocationInfo()
+ * @generated
+ */
+ EClass POINT_LOCATION_INFO = eINSTANCE.getPointLocationInfo();
+
+ /**
+ * The meta object literal for the '<em><b>Location Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute POINT_LOCATION_INFO__LOCATION_TYPE = eINSTANCE.getPointLocationInfo_LocationType();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.LinearLocationInfoImpl <em>Linear Location Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.LinearLocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getLinearLocationInfo()
+ * @generated
+ */
+ EClass LINEAR_LOCATION_INFO = eINSTANCE.getLinearLocationInfo();
+
+ /**
+ * The meta object literal for the '<em><b>From Location Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION_INFO__FROM_LOCATION_NAME = eINSTANCE.getLinearLocationInfo_FromLocationName();
+
+ /**
+ * The meta object literal for the '<em><b>From Location Parent Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME = eINSTANCE.getLinearLocationInfo_FromLocationParentName();
+
+ /**
+ * The meta object literal for the '<em><b>To Location Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION_INFO__TO_LOCATION_NAME = eINSTANCE.getLinearLocationInfo_ToLocationName();
+
+ /**
+ * The meta object literal for the '<em><b>To Location Parent Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME = eINSTANCE.getLinearLocationInfo_ToLocationParentName();
+
+ /**
+ * The meta object literal for the '<em><b>Coordinates</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINEAR_LOCATION_INFO__COORDINATES = eINSTANCE.getLinearLocationInfo_Coordinates();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.impl.AreaLocationInfoImpl <em>Area Location Info</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.impl.AreaLocationInfoImpl
+ * @see org.genivi.location.impl.LocationPackageImpl#getAreaLocationInfo()
+ * @generated
+ */
+ EClass AREA_LOCATION_INFO = eINSTANCE.getAreaLocationInfo();
+
+ /**
+ * The meta object literal for the '{@link org.genivi.location.PointLocationType <em>Point Location Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.PointLocationType
+ * @see org.genivi.location.impl.LocationPackageImpl#getPointLocationType()
+ * @generated
+ */
+ EEnum POINT_LOCATION_TYPE = eINSTANCE.getPointLocationType();
+
+ }
+
+} //LocationPackage
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocation.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocation.java
new file mode 100755
index 0000000..3ab3484
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocation.java
@@ -0,0 +1,29 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Point Location</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The location is a single point (along the road), e.g. the location of a broken down vehicle.
+ * TODO Work out the PointLocation class
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.genivi.location.LocationPackage#getPointLocation()
+ * @model
+ * @generated
+ */
+public interface PointLocation extends Location {
+} // PointLocation
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationInfo.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationInfo.java
new file mode 100755
index 0000000..f4c1bc3
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationInfo.java
@@ -0,0 +1,59 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Point Location Info</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.genivi.location.PointLocationInfo#getLocationType <em>Location Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.genivi.location.LocationPackage#getPointLocationInfo()
+ * @model
+ * @generated
+ */
+public interface PointLocationInfo extends LocationInfo {
+ /**
+ * Returns the value of the '<em><b>Location Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.genivi.location.PointLocationType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Location 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>Location Type</em>' attribute.
+ * @see org.genivi.location.PointLocationType
+ * @see #setLocationType(PointLocationType)
+ * @see org.genivi.location.LocationPackage#getPointLocationInfo_LocationType()
+ * @model
+ * @generated
+ */
+ PointLocationType getLocationType();
+
+ /**
+ * Sets the value of the '{@link org.genivi.location.PointLocationInfo#getLocationType <em>Location Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Location Type</em>' attribute.
+ * @see org.genivi.location.PointLocationType
+ * @see #getLocationType()
+ * @generated
+ */
+ void setLocationType(PointLocationType value);
+
+} // PointLocationInfo
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationType.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationType.java
new file mode 100755
index 0000000..cadb417
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/PointLocationType.java
@@ -0,0 +1,269 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Point Location Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.LocationPackage#getPointLocationType()
+ * @model
+ * @generated
+ */
+public enum PointLocationType implements Enumerator {
+ /**
+ * The '<em><b>MOTORWAY EXIT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_EXIT_VALUE
+ * @generated
+ * @ordered
+ */
+ MOTORWAY_EXIT(0, "MOTORWAY_EXIT", "MOTORWAY_EXIT"),
+
+ /**
+ * The '<em><b>MOTORWAY TRIANGLE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_TRIANGLE_VALUE
+ * @generated
+ * @ordered
+ */
+ MOTORWAY_TRIANGLE(1, "MOTORWAY_TRIANGLE", "MOTORWAY_TRIANGLE"),
+
+ /**
+ * The '<em><b>MOTORWAY CROSSING</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_CROSSING_VALUE
+ * @generated
+ * @ordered
+ */
+ MOTORWAY_CROSSING(2, "MOTORWAY_CROSSING", "MOTORWAY_CROSSING"),
+
+ /**
+ * The '<em><b>MOTORWAY ENTRY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_ENTRY_VALUE
+ * @generated
+ * @ordered
+ */
+ MOTORWAY_ENTRY(3, "MOTORWAY_ENTRY", "MOTORWAY_ENTRY");
+
+ /**
+ * The '<em><b>MOTORWAY EXIT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MOTORWAY EXIT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_EXIT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MOTORWAY_EXIT_VALUE = 0;
+
+ /**
+ * The '<em><b>MOTORWAY TRIANGLE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MOTORWAY TRIANGLE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_TRIANGLE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MOTORWAY_TRIANGLE_VALUE = 1;
+
+ /**
+ * The '<em><b>MOTORWAY CROSSING</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MOTORWAY CROSSING</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_CROSSING
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MOTORWAY_CROSSING_VALUE = 2;
+
+ /**
+ * The '<em><b>MOTORWAY ENTRY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MOTORWAY ENTRY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MOTORWAY_ENTRY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MOTORWAY_ENTRY_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Point Location Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PointLocationType[] VALUES_ARRAY =
+ new PointLocationType[] {
+ MOTORWAY_EXIT,
+ MOTORWAY_TRIANGLE,
+ MOTORWAY_CROSSING,
+ MOTORWAY_ENTRY,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Point Location Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PointLocationType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Point Location Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PointLocationType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PointLocationType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Point Location Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PointLocationType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PointLocationType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Point Location Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PointLocationType get(int value) {
+ switch (value) {
+ case MOTORWAY_EXIT_VALUE: return MOTORWAY_EXIT;
+ case MOTORWAY_TRIANGLE_VALUE: return MOTORWAY_TRIANGLE;
+ case MOTORWAY_CROSSING_VALUE: return MOTORWAY_CROSSING;
+ case MOTORWAY_ENTRY_VALUE: return MOTORWAY_ENTRY;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private PointLocationType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //PointLocationType
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationImpl.java
new file mode 100755
index 0000000..7c5fcff
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationImpl.java
@@ -0,0 +1,46 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.genivi.location.AreaLocation;
+import org.genivi.location.LocationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Area Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AreaLocationImpl extends LocationImpl implements AreaLocation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AreaLocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.AREA_LOCATION;
+ }
+
+} //AreaLocationImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationInfoImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationInfoImpl.java
new file mode 100755
index 0000000..5d2ae54
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/AreaLocationInfoImpl.java
@@ -0,0 +1,46 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.genivi.location.AreaLocationInfo;
+import org.genivi.location.LocationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Area Location Info</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AreaLocationInfoImpl extends LocationInfoImpl implements AreaLocationInfo {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AreaLocationInfoImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.AREA_LOCATION_INFO;
+ }
+
+} //AreaLocationInfoImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationImpl.java
new file mode 100755
index 0000000..bc9a435
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationImpl.java
@@ -0,0 +1,332 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.genivi.location.LinearLocation;
+import org.genivi.location.LocationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Linear Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.location.impl.LinearLocationImpl#getSegments <em>Segments</em>}</li>
+ * <li>{@link org.genivi.location.impl.LinearLocationImpl#getPositiveOffset <em>Positive Offset</em>}</li>
+ * <li>{@link org.genivi.location.impl.LinearLocationImpl#getNegativeOffset <em>Negative Offset</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinearLocationImpl extends LocationImpl implements LinearLocation {
+ /**
+ * The cached value of the '{@link #getSegments() <em>Segments</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSegments()
+ * @generated
+ * @ordered
+ */
+ protected EList<Long> segments;
+
+ /**
+ * The default value of the '{@link #getPositiveOffset() <em>Positive Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPositiveOffset()
+ * @generated
+ * @ordered
+ */
+ protected static final long POSITIVE_OFFSET_EDEFAULT = 0L;
+ /**
+ * The cached value of the '{@link #getPositiveOffset() <em>Positive Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPositiveOffset()
+ * @generated
+ * @ordered
+ */
+ protected long positiveOffset = POSITIVE_OFFSET_EDEFAULT;
+ /**
+ * This is true if the Positive Offset attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean positiveOffsetESet;
+ /**
+ * The default value of the '{@link #getNegativeOffset() <em>Negative Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNegativeOffset()
+ * @generated
+ * @ordered
+ */
+ protected static final long NEGATIVE_OFFSET_EDEFAULT = 0L;
+ /**
+ * The cached value of the '{@link #getNegativeOffset() <em>Negative Offset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNegativeOffset()
+ * @generated
+ * @ordered
+ */
+ protected long negativeOffset = NEGATIVE_OFFSET_EDEFAULT;
+ /**
+ * This is true if the Negative Offset attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean negativeOffsetESet;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinearLocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.LINEAR_LOCATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Long> getSegments() {
+ if (segments == null) {
+ segments = new EDataTypeUniqueEList<Long>(Long.class, this, LocationPackage.LINEAR_LOCATION__SEGMENTS);
+ }
+ return segments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public long getPositiveOffset() {
+ return positiveOffset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPositiveOffset(long newPositiveOffset) {
+ long oldPositiveOffset = positiveOffset;
+ positiveOffset = newPositiveOffset;
+ boolean oldPositiveOffsetESet = positiveOffsetESet;
+ positiveOffsetESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LINEAR_LOCATION__POSITIVE_OFFSET, oldPositiveOffset, positiveOffset, !oldPositiveOffsetESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetPositiveOffset() {
+ long oldPositiveOffset = positiveOffset;
+ boolean oldPositiveOffsetESet = positiveOffsetESet;
+ positiveOffset = POSITIVE_OFFSET_EDEFAULT;
+ positiveOffsetESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, LocationPackage.LINEAR_LOCATION__POSITIVE_OFFSET, oldPositiveOffset, POSITIVE_OFFSET_EDEFAULT, oldPositiveOffsetESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetPositiveOffset() {
+ return positiveOffsetESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public long getNegativeOffset() {
+ return negativeOffset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNegativeOffset(long newNegativeOffset) {
+ long oldNegativeOffset = negativeOffset;
+ negativeOffset = newNegativeOffset;
+ boolean oldNegativeOffsetESet = negativeOffsetESet;
+ negativeOffsetESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LINEAR_LOCATION__NEGATIVE_OFFSET, oldNegativeOffset, negativeOffset, !oldNegativeOffsetESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetNegativeOffset() {
+ long oldNegativeOffset = negativeOffset;
+ boolean oldNegativeOffsetESet = negativeOffsetESet;
+ negativeOffset = NEGATIVE_OFFSET_EDEFAULT;
+ negativeOffsetESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, LocationPackage.LINEAR_LOCATION__NEGATIVE_OFFSET, oldNegativeOffset, NEGATIVE_OFFSET_EDEFAULT, oldNegativeOffsetESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetNegativeOffset() {
+ return negativeOffsetESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION__SEGMENTS:
+ return getSegments();
+ case LocationPackage.LINEAR_LOCATION__POSITIVE_OFFSET:
+ return getPositiveOffset();
+ case LocationPackage.LINEAR_LOCATION__NEGATIVE_OFFSET:
+ return getNegativeOffset();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION__SEGMENTS:
+ getSegments().clear();
+ getSegments().addAll((Collection<? extends Long>)newValue);
+ return;
+ case LocationPackage.LINEAR_LOCATION__POSITIVE_OFFSET:
+ setPositiveOffset((Long)newValue);
+ return;
+ case LocationPackage.LINEAR_LOCATION__NEGATIVE_OFFSET:
+ setNegativeOffset((Long)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION__SEGMENTS:
+ getSegments().clear();
+ return;
+ case LocationPackage.LINEAR_LOCATION__POSITIVE_OFFSET:
+ unsetPositiveOffset();
+ return;
+ case LocationPackage.LINEAR_LOCATION__NEGATIVE_OFFSET:
+ unsetNegativeOffset();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION__SEGMENTS:
+ return segments != null && !segments.isEmpty();
+ case LocationPackage.LINEAR_LOCATION__POSITIVE_OFFSET:
+ return isSetPositiveOffset();
+ case LocationPackage.LINEAR_LOCATION__NEGATIVE_OFFSET:
+ return isSetNegativeOffset();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ @Override
+ public String toString() {
+// if (eIsProxy()) return super.toString();
+//
+// StringBuffer result = new StringBuffer(super.toString());
+// result.append(" (segments: ");
+// result.append(segments);
+// result.append(')');
+// return result.toString();
+ StringBuffer result = new StringBuffer();
+
+ boolean first = true;
+ for (long segment: segments) {
+ if (first) {
+ first = false;
+ } else {
+ result.append(",");
+ }
+ result.append(segment);
+ }
+
+ return result.toString();
+ }
+
+} //LinearLocationImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationInfoImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationInfoImpl.java
new file mode 100755
index 0000000..27a8837
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LinearLocationInfoImpl.java
@@ -0,0 +1,391 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.genivi.common.Coordinate;
+
+import org.genivi.location.LinearLocationInfo;
+import org.genivi.location.LocationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Linear Location Info</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.location.impl.LinearLocationInfoImpl#getFromLocationName <em>From Location Name</em>}</li>
+ * <li>{@link org.genivi.location.impl.LinearLocationInfoImpl#getFromLocationParentName <em>From Location Parent Name</em>}</li>
+ * <li>{@link org.genivi.location.impl.LinearLocationInfoImpl#getToLocationName <em>To Location Name</em>}</li>
+ * <li>{@link org.genivi.location.impl.LinearLocationInfoImpl#getToLocationParentName <em>To Location Parent Name</em>}</li>
+ * <li>{@link org.genivi.location.impl.LinearLocationInfoImpl#getCoordinates <em>Coordinates</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinearLocationInfoImpl extends LocationInfoImpl implements LinearLocationInfo {
+ /**
+ * The default value of the '{@link #getFromLocationName() <em>From Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFromLocationName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FROM_LOCATION_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFromLocationName() <em>From Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFromLocationName()
+ * @generated
+ * @ordered
+ */
+ protected String fromLocationName = FROM_LOCATION_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFromLocationParentName() <em>From Location Parent Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFromLocationParentName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FROM_LOCATION_PARENT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFromLocationParentName() <em>From Location Parent Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFromLocationParentName()
+ * @generated
+ * @ordered
+ */
+ protected String fromLocationParentName = FROM_LOCATION_PARENT_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getToLocationName() <em>To Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToLocationName()
+ * @generated
+ * @ordered
+ */
+ protected static final String TO_LOCATION_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getToLocationName() <em>To Location Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToLocationName()
+ * @generated
+ * @ordered
+ */
+ protected String toLocationName = TO_LOCATION_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getToLocationParentName() <em>To Location Parent Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToLocationParentName()
+ * @generated
+ * @ordered
+ */
+ protected static final String TO_LOCATION_PARENT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getToLocationParentName() <em>To Location Parent Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToLocationParentName()
+ * @generated
+ * @ordered
+ */
+ protected String toLocationParentName = TO_LOCATION_PARENT_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCoordinates() <em>Coordinates</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCoordinates()
+ * @generated
+ * @ordered
+ */
+ protected EList<Coordinate> coordinates;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinearLocationInfoImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.LINEAR_LOCATION_INFO;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFromLocationName() {
+ return fromLocationName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFromLocationName(String newFromLocationName) {
+ String oldFromLocationName = fromLocationName;
+ fromLocationName = newFromLocationName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_NAME, oldFromLocationName, fromLocationName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFromLocationParentName() {
+ return fromLocationParentName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFromLocationParentName(String newFromLocationParentName) {
+ String oldFromLocationParentName = fromLocationParentName;
+ fromLocationParentName = newFromLocationParentName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME, oldFromLocationParentName, fromLocationParentName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getToLocationName() {
+ return toLocationName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setToLocationName(String newToLocationName) {
+ String oldToLocationName = toLocationName;
+ toLocationName = newToLocationName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_NAME, oldToLocationName, toLocationName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getToLocationParentName() {
+ return toLocationParentName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setToLocationParentName(String newToLocationParentName) {
+ String oldToLocationParentName = toLocationParentName;
+ toLocationParentName = newToLocationParentName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME, oldToLocationParentName, toLocationParentName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Coordinate> getCoordinates() {
+ if (coordinates == null) {
+ coordinates = new EObjectContainmentEList<Coordinate>(Coordinate.class, this, LocationPackage.LINEAR_LOCATION_INFO__COORDINATES);
+ }
+ return coordinates;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION_INFO__COORDINATES:
+ return ((InternalEList<?>)getCoordinates()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_NAME:
+ return getFromLocationName();
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME:
+ return getFromLocationParentName();
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_NAME:
+ return getToLocationName();
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME:
+ return getToLocationParentName();
+ case LocationPackage.LINEAR_LOCATION_INFO__COORDINATES:
+ return getCoordinates();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_NAME:
+ setFromLocationName((String)newValue);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME:
+ setFromLocationParentName((String)newValue);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_NAME:
+ setToLocationName((String)newValue);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME:
+ setToLocationParentName((String)newValue);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__COORDINATES:
+ getCoordinates().clear();
+ getCoordinates().addAll((Collection<? extends Coordinate>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_NAME:
+ setFromLocationName(FROM_LOCATION_NAME_EDEFAULT);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME:
+ setFromLocationParentName(FROM_LOCATION_PARENT_NAME_EDEFAULT);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_NAME:
+ setToLocationName(TO_LOCATION_NAME_EDEFAULT);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME:
+ setToLocationParentName(TO_LOCATION_PARENT_NAME_EDEFAULT);
+ return;
+ case LocationPackage.LINEAR_LOCATION_INFO__COORDINATES:
+ getCoordinates().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_NAME:
+ return FROM_LOCATION_NAME_EDEFAULT == null ? fromLocationName != null : !FROM_LOCATION_NAME_EDEFAULT.equals(fromLocationName);
+ case LocationPackage.LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME:
+ return FROM_LOCATION_PARENT_NAME_EDEFAULT == null ? fromLocationParentName != null : !FROM_LOCATION_PARENT_NAME_EDEFAULT.equals(fromLocationParentName);
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_NAME:
+ return TO_LOCATION_NAME_EDEFAULT == null ? toLocationName != null : !TO_LOCATION_NAME_EDEFAULT.equals(toLocationName);
+ case LocationPackage.LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME:
+ return TO_LOCATION_PARENT_NAME_EDEFAULT == null ? toLocationParentName != null : !TO_LOCATION_PARENT_NAME_EDEFAULT.equals(toLocationParentName);
+ case LocationPackage.LINEAR_LOCATION_INFO__COORDINATES:
+ return coordinates != null && !coordinates.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (fromLocationName: ");
+ result.append(fromLocationName);
+ result.append(", fromLocationParentName: ");
+ result.append(fromLocationParentName);
+ result.append(", toLocationName: ");
+ result.append(toLocationName);
+ result.append(", toLocationParentName: ");
+ result.append(toLocationParentName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LinearLocationInfoImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationFactoryImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationFactoryImpl.java
new file mode 100755
index 0000000..e5202cd
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationFactoryImpl.java
@@ -0,0 +1,230 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.genivi.location.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LocationFactoryImpl extends EFactoryImpl implements LocationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LocationFactory init() {
+ try {
+ LocationFactory theLocationFactory = (LocationFactory)EPackage.Registry.INSTANCE.getEFactory(LocationPackage.eNS_URI);
+ if (theLocationFactory != null) {
+ return theLocationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new LocationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case LocationPackage.LOCATION: return createLocation();
+ case LocationPackage.POINT_LOCATION: return createPointLocation();
+ case LocationPackage.AREA_LOCATION: return createAreaLocation();
+ case LocationPackage.LINEAR_LOCATION: return createLinearLocation();
+ case LocationPackage.LOCATION_INFO: return createLocationInfo();
+ case LocationPackage.POINT_LOCATION_INFO: return createPointLocationInfo();
+ case LocationPackage.LINEAR_LOCATION_INFO: return createLinearLocationInfo();
+ case LocationPackage.AREA_LOCATION_INFO: return createAreaLocationInfo();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case LocationPackage.POINT_LOCATION_TYPE:
+ return createPointLocationTypeFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case LocationPackage.POINT_LOCATION_TYPE:
+ return convertPointLocationTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Location createLocation() {
+ LocationImpl location = new LocationImpl();
+ return location;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PointLocation createPointLocation() {
+ PointLocationImpl pointLocation = new PointLocationImpl();
+ return pointLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AreaLocation createAreaLocation() {
+ AreaLocationImpl areaLocation = new AreaLocationImpl();
+ return areaLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinearLocation createLinearLocation() {
+ LinearLocationImpl linearLocation = new LinearLocationImpl();
+ return linearLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationInfo createLocationInfo() {
+ LocationInfoImpl locationInfo = new LocationInfoImpl();
+ return locationInfo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PointLocationInfo createPointLocationInfo() {
+ PointLocationInfoImpl pointLocationInfo = new PointLocationInfoImpl();
+ return pointLocationInfo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinearLocationInfo createLinearLocationInfo() {
+ LinearLocationInfoImpl linearLocationInfo = new LinearLocationInfoImpl();
+ return linearLocationInfo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AreaLocationInfo createAreaLocationInfo() {
+ AreaLocationInfoImpl areaLocationInfo = new AreaLocationInfoImpl();
+ return areaLocationInfo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PointLocationType createPointLocationTypeFromString(EDataType eDataType, String initialValue) {
+ PointLocationType result = PointLocationType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertPointLocationTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationPackage getLocationPackage() {
+ return (LocationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static LocationPackage getPackage() {
+ return LocationPackage.eINSTANCE;
+ }
+
+} //LocationFactoryImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationImpl.java
new file mode 100755
index 0000000..926cae5
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationImpl.java
@@ -0,0 +1,48 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.genivi.location.Location;
+import org.genivi.location.LocationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class LocationImpl extends EObjectImpl implements Location {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.LOCATION;
+ }
+
+} //LocationImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationInfoImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationInfoImpl.java
new file mode 100755
index 0000000..9675527
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationInfoImpl.java
@@ -0,0 +1,252 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.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.genivi.common.Coordinate;
+
+import org.genivi.location.LocationInfo;
+import org.genivi.location.LocationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Info</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.location.impl.LocationInfoImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.genivi.location.impl.LocationInfoImpl#getMainLocation <em>Main Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LocationInfoImpl extends EObjectImpl implements LocationInfo {
+ /**
+ * 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
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMainLocation() <em>Main Location</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMainLocation()
+ * @generated
+ * @ordered
+ */
+ protected Coordinate mainLocation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocationInfoImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.LOCATION_INFO;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LOCATION_INFO__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Coordinate getMainLocation() {
+ return mainLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMainLocation(Coordinate newMainLocation, NotificationChain msgs) {
+ Coordinate oldMainLocation = mainLocation;
+ mainLocation = newMainLocation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LocationPackage.LOCATION_INFO__MAIN_LOCATION, oldMainLocation, newMainLocation);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMainLocation(Coordinate newMainLocation) {
+ if (newMainLocation != mainLocation) {
+ NotificationChain msgs = null;
+ if (mainLocation != null)
+ msgs = ((InternalEObject)mainLocation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LocationPackage.LOCATION_INFO__MAIN_LOCATION, null, msgs);
+ if (newMainLocation != null)
+ msgs = ((InternalEObject)newMainLocation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LocationPackage.LOCATION_INFO__MAIN_LOCATION, null, msgs);
+ msgs = basicSetMainLocation(newMainLocation, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.LOCATION_INFO__MAIN_LOCATION, newMainLocation, newMainLocation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LocationPackage.LOCATION_INFO__MAIN_LOCATION:
+ return basicSetMainLocation(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.LOCATION_INFO__NAME:
+ return getName();
+ case LocationPackage.LOCATION_INFO__MAIN_LOCATION:
+ return getMainLocation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.LOCATION_INFO__NAME:
+ setName((String)newValue);
+ return;
+ case LocationPackage.LOCATION_INFO__MAIN_LOCATION:
+ setMainLocation((Coordinate)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.LOCATION_INFO__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case LocationPackage.LOCATION_INFO__MAIN_LOCATION:
+ setMainLocation((Coordinate)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.LOCATION_INFO__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case LocationPackage.LOCATION_INFO__MAIN_LOCATION:
+ return mainLocation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LocationInfoImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationPackageImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationPackageImpl.java
new file mode 100755
index 0000000..fa85423
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/LocationPackageImpl.java
@@ -0,0 +1,484 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.genivi.common.CommonPackage;
+import org.genivi.common.impl.CommonPackageImpl;
+import org.genivi.location.AreaLocation;
+import org.genivi.location.AreaLocationInfo;
+import org.genivi.location.LinearLocation;
+import org.genivi.location.LinearLocationInfo;
+import org.genivi.location.Location;
+import org.genivi.location.LocationFactory;
+import org.genivi.location.LocationInfo;
+import org.genivi.location.LocationPackage;
+import org.genivi.location.PointLocation;
+import org.genivi.location.PointLocationInfo;
+import org.genivi.location.PointLocationType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LocationPackageImpl extends EPackageImpl implements LocationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass locationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pointLocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass areaLocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linearLocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass locationInfoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pointLocationInfoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linearLocationInfoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass areaLocationInfoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum pointLocationTypeEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.genivi.location.LocationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private LocationPackageImpl() {
+ super(eNS_URI, LocationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link LocationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static LocationPackage init() {
+ if (isInited) return (LocationPackage)EPackage.Registry.INSTANCE.getEPackage(LocationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ LocationPackageImpl theLocationPackage = (LocationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LocationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LocationPackageImpl());
+
+ isInited = true;
+
+ // Obtain or create and register interdependencies
+ CommonPackageImpl theCommonPackage = (CommonPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) instanceof CommonPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) : CommonPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theLocationPackage.createPackageContents();
+ theCommonPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theLocationPackage.initializePackageContents();
+ theCommonPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theLocationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(LocationPackage.eNS_URI, theLocationPackage);
+ return theLocationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLocation() {
+ return locationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPointLocation() {
+ return pointLocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAreaLocation() {
+ return areaLocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinearLocation() {
+ return linearLocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocation_Segments() {
+ return (EAttribute)linearLocationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocation_PositiveOffset() {
+ return (EAttribute)linearLocationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocation_NegativeOffset() {
+ return (EAttribute)linearLocationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLocationInfo() {
+ return locationInfoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLocationInfo_Name() {
+ return (EAttribute)locationInfoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLocationInfo_MainLocation() {
+ return (EReference)locationInfoEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPointLocationInfo() {
+ return pointLocationInfoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPointLocationInfo_LocationType() {
+ return (EAttribute)pointLocationInfoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinearLocationInfo() {
+ return linearLocationInfoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocationInfo_FromLocationName() {
+ return (EAttribute)linearLocationInfoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocationInfo_FromLocationParentName() {
+ return (EAttribute)linearLocationInfoEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocationInfo_ToLocationName() {
+ return (EAttribute)linearLocationInfoEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinearLocationInfo_ToLocationParentName() {
+ return (EAttribute)linearLocationInfoEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinearLocationInfo_Coordinates() {
+ return (EReference)linearLocationInfoEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAreaLocationInfo() {
+ return areaLocationInfoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getPointLocationType() {
+ return pointLocationTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationFactory getLocationFactory() {
+ return (LocationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ locationEClass = createEClass(LOCATION);
+
+ pointLocationEClass = createEClass(POINT_LOCATION);
+
+ areaLocationEClass = createEClass(AREA_LOCATION);
+
+ linearLocationEClass = createEClass(LINEAR_LOCATION);
+ createEAttribute(linearLocationEClass, LINEAR_LOCATION__SEGMENTS);
+ createEAttribute(linearLocationEClass, LINEAR_LOCATION__POSITIVE_OFFSET);
+ createEAttribute(linearLocationEClass, LINEAR_LOCATION__NEGATIVE_OFFSET);
+
+ locationInfoEClass = createEClass(LOCATION_INFO);
+ createEAttribute(locationInfoEClass, LOCATION_INFO__NAME);
+ createEReference(locationInfoEClass, LOCATION_INFO__MAIN_LOCATION);
+
+ pointLocationInfoEClass = createEClass(POINT_LOCATION_INFO);
+ createEAttribute(pointLocationInfoEClass, POINT_LOCATION_INFO__LOCATION_TYPE);
+
+ linearLocationInfoEClass = createEClass(LINEAR_LOCATION_INFO);
+ createEAttribute(linearLocationInfoEClass, LINEAR_LOCATION_INFO__FROM_LOCATION_NAME);
+ createEAttribute(linearLocationInfoEClass, LINEAR_LOCATION_INFO__FROM_LOCATION_PARENT_NAME);
+ createEAttribute(linearLocationInfoEClass, LINEAR_LOCATION_INFO__TO_LOCATION_NAME);
+ createEAttribute(linearLocationInfoEClass, LINEAR_LOCATION_INFO__TO_LOCATION_PARENT_NAME);
+ createEReference(linearLocationInfoEClass, LINEAR_LOCATION_INFO__COORDINATES);
+
+ areaLocationInfoEClass = createEClass(AREA_LOCATION_INFO);
+
+ // Create enums
+ pointLocationTypeEEnum = createEEnum(POINT_LOCATION_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ pointLocationEClass.getESuperTypes().add(this.getLocation());
+ areaLocationEClass.getESuperTypes().add(this.getLocation());
+ linearLocationEClass.getESuperTypes().add(this.getLocation());
+ pointLocationInfoEClass.getESuperTypes().add(this.getLocationInfo());
+ linearLocationInfoEClass.getESuperTypes().add(this.getLocationInfo());
+ areaLocationInfoEClass.getESuperTypes().add(this.getLocationInfo());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(locationEClass, Location.class, "Location", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(pointLocationEClass, PointLocation.class, "PointLocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(areaLocationEClass, AreaLocation.class, "AreaLocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(linearLocationEClass, LinearLocation.class, "LinearLocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLinearLocation_Segments(), ecorePackage.getELong(), "segments", null, 1, -1, LinearLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLinearLocation_PositiveOffset(), ecorePackage.getELong(), "positiveOffset", null, 0, 1, LinearLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLinearLocation_NegativeOffset(), ecorePackage.getELong(), "negativeOffset", null, 0, 1, LinearLocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(locationInfoEClass, LocationInfo.class, "LocationInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLocationInfo_Name(), ecorePackage.getEString(), "name", null, 0, 1, LocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLocationInfo_MainLocation(), theCommonPackage.getCoordinate(), null, "mainLocation", null, 0, 1, LocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pointLocationInfoEClass, PointLocationInfo.class, "PointLocationInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPointLocationInfo_LocationType(), this.getPointLocationType(), "locationType", null, 0, 1, PointLocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(linearLocationInfoEClass, LinearLocationInfo.class, "LinearLocationInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLinearLocationInfo_FromLocationName(), ecorePackage.getEString(), "fromLocationName", null, 0, 1, LinearLocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLinearLocationInfo_FromLocationParentName(), ecorePackage.getEString(), "fromLocationParentName", null, 0, 1, LinearLocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLinearLocationInfo_ToLocationName(), ecorePackage.getEString(), "toLocationName", null, 0, 1, LinearLocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLinearLocationInfo_ToLocationParentName(), ecorePackage.getEString(), "toLocationParentName", null, 0, 1, LinearLocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLinearLocationInfo_Coordinates(), theCommonPackage.getCoordinate(), null, "coordinates", null, 0, -1, LinearLocationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(areaLocationInfoEClass, AreaLocationInfo.class, "AreaLocationInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Initialize enums and add enum literals
+ initEEnum(pointLocationTypeEEnum, PointLocationType.class, "PointLocationType");
+ addEEnumLiteral(pointLocationTypeEEnum, PointLocationType.MOTORWAY_EXIT);
+ addEEnumLiteral(pointLocationTypeEEnum, PointLocationType.MOTORWAY_TRIANGLE);
+ addEEnumLiteral(pointLocationTypeEEnum, PointLocationType.MOTORWAY_CROSSING);
+ addEEnumLiteral(pointLocationTypeEEnum, PointLocationType.MOTORWAY_ENTRY);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //LocationPackageImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationImpl.java
new file mode 100755
index 0000000..226eb33
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationImpl.java
@@ -0,0 +1,46 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.genivi.location.LocationPackage;
+import org.genivi.location.PointLocation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Point Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PointLocationImpl extends LocationImpl implements PointLocation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PointLocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.POINT_LOCATION;
+ }
+
+} //PointLocationImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationInfoImpl.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationInfoImpl.java
new file mode 100755
index 0000000..6648e28
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/impl/PointLocationInfoImpl.java
@@ -0,0 +1,170 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.genivi.location.LocationPackage;
+import org.genivi.location.PointLocationInfo;
+import org.genivi.location.PointLocationType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Point Location Info</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.genivi.location.impl.PointLocationInfoImpl#getLocationType <em>Location Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PointLocationInfoImpl extends LocationInfoImpl implements PointLocationInfo {
+ /**
+ * The default value of the '{@link #getLocationType() <em>Location Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocationType()
+ * @generated
+ * @ordered
+ */
+ protected static final PointLocationType LOCATION_TYPE_EDEFAULT = PointLocationType.MOTORWAY_EXIT;
+
+ /**
+ * The cached value of the '{@link #getLocationType() <em>Location Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocationType()
+ * @generated
+ * @ordered
+ */
+ protected PointLocationType locationType = LOCATION_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PointLocationInfoImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LocationPackage.Literals.POINT_LOCATION_INFO;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PointLocationType getLocationType() {
+ return locationType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocationType(PointLocationType newLocationType) {
+ PointLocationType oldLocationType = locationType;
+ locationType = newLocationType == null ? LOCATION_TYPE_EDEFAULT : newLocationType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LocationPackage.POINT_LOCATION_INFO__LOCATION_TYPE, oldLocationType, locationType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LocationPackage.POINT_LOCATION_INFO__LOCATION_TYPE:
+ return getLocationType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LocationPackage.POINT_LOCATION_INFO__LOCATION_TYPE:
+ setLocationType((PointLocationType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LocationPackage.POINT_LOCATION_INFO__LOCATION_TYPE:
+ setLocationType(LOCATION_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LocationPackage.POINT_LOCATION_INFO__LOCATION_TYPE:
+ return locationType != LOCATION_TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (locationType: ");
+ result.append(locationType);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PointLocationInfoImpl
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationAdapterFactory.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationAdapterFactory.java
new file mode 100755
index 0000000..8deec54
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationAdapterFactory.java
@@ -0,0 +1,253 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.genivi.location.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.LocationPackage
+ * @generated
+ */
+public class LocationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static LocationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = LocationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocationSwitch<Adapter> modelSwitch =
+ new LocationSwitch<Adapter>() {
+ @Override
+ public Adapter caseLocation(Location object) {
+ return createLocationAdapter();
+ }
+ @Override
+ public Adapter casePointLocation(PointLocation object) {
+ return createPointLocationAdapter();
+ }
+ @Override
+ public Adapter caseAreaLocation(AreaLocation object) {
+ return createAreaLocationAdapter();
+ }
+ @Override
+ public Adapter caseLinearLocation(LinearLocation object) {
+ return createLinearLocationAdapter();
+ }
+ @Override
+ public Adapter caseLocationInfo(LocationInfo object) {
+ return createLocationInfoAdapter();
+ }
+ @Override
+ public Adapter casePointLocationInfo(PointLocationInfo object) {
+ return createPointLocationInfoAdapter();
+ }
+ @Override
+ public Adapter caseLinearLocationInfo(LinearLocationInfo object) {
+ return createLinearLocationInfoAdapter();
+ }
+ @Override
+ public Adapter caseAreaLocationInfo(AreaLocationInfo object) {
+ return createAreaLocationInfoAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.Location <em>Location</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.Location
+ * @generated
+ */
+ public Adapter createLocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.PointLocation <em>Point Location</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.PointLocation
+ * @generated
+ */
+ public Adapter createPointLocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.AreaLocation <em>Area Location</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.AreaLocation
+ * @generated
+ */
+ public Adapter createAreaLocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.LinearLocation <em>Linear Location</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.LinearLocation
+ * @generated
+ */
+ public Adapter createLinearLocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.LocationInfo <em>Info</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.LocationInfo
+ * @generated
+ */
+ public Adapter createLocationInfoAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.PointLocationInfo <em>Point Location Info</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.PointLocationInfo
+ * @generated
+ */
+ public Adapter createPointLocationInfoAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.LinearLocationInfo <em>Linear Location Info</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.LinearLocationInfo
+ * @generated
+ */
+ public Adapter createLinearLocationInfoAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.genivi.location.AreaLocationInfo <em>Area Location Info</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.genivi.location.AreaLocationInfo
+ * @generated
+ */
+ public Adapter createAreaLocationInfoAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //LocationAdapterFactory
diff --git a/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationSwitch.java b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationSwitch.java
new file mode 100755
index 0000000..0608191
--- /dev/null
+++ b/src/traffic-incidents-service/org.genivi.basetypes-model/src/org/genivi/location/util/LocationSwitch.java
@@ -0,0 +1,276 @@
+/**
+ *
+ * Copyright (C) 2013 TomTom International B.V.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+package org.genivi.location.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.genivi.location.AreaLocation;
+import org.genivi.location.AreaLocationInfo;
+import org.genivi.location.LinearLocation;
+import org.genivi.location.LinearLocationInfo;
+import org.genivi.location.Location;
+import org.genivi.location.LocationInfo;
+import org.genivi.location.LocationPackage;
+import org.genivi.location.PointLocation;
+import org.genivi.location.PointLocationInfo;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.genivi.location.LocationPackage
+ * @generated
+ */
+public class LocationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static LocationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = LocationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * 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 LocationPackage.LOCATION: {
+ Location location = (Location)theEObject;
+ T result = caseLocation(location);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.POINT_LOCATION: {
+ PointLocation pointLocation = (PointLocation)theEObject;
+ T result = casePointLocation(pointLocation);
+ if (result == null) result = caseLocation(pointLocation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.AREA_LOCATION: {
+ AreaLocation areaLocation = (AreaLocation)theEObject;
+ T result = caseAreaLocation(areaLocation);
+ if (result == null) result = caseLocation(areaLocation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.LINEAR_LOCATION: {
+ LinearLocation linearLocation = (LinearLocation)theEObject;
+ T result = caseLinearLocation(linearLocation);
+ if (result == null) result = caseLocation(linearLocation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.LOCATION_INFO: {
+ LocationInfo locationInfo = (LocationInfo)theEObject;
+ T result = caseLocationInfo(locationInfo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.POINT_LOCATION_INFO: {
+ PointLocationInfo pointLocationInfo = (PointLocationInfo)theEObject;
+ T result = casePointLocationInfo(pointLocationInfo);
+ if (result == null) result = caseLocationInfo(pointLocationInfo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.LINEAR_LOCATION_INFO: {
+ LinearLocationInfo linearLocationInfo = (LinearLocationInfo)theEObject;
+ T result = caseLinearLocationInfo(linearLocationInfo);
+ if (result == null) result = caseLocationInfo(linearLocationInfo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LocationPackage.AREA_LOCATION_INFO: {
+ AreaLocationInfo areaLocationInfo = (AreaLocationInfo)theEObject;
+ T result = caseAreaLocationInfo(areaLocationInfo);
+ if (result == null) result = caseLocationInfo(areaLocationInfo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Location</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Location</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLocation(Location object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Point Location</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Point Location</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePointLocation(PointLocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Area Location</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Area Location</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAreaLocation(AreaLocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Linear Location</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Linear Location</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinearLocation(LinearLocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Info</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Info</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLocationInfo(LocationInfo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Point Location Info</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Point Location Info</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePointLocationInfo(PointLocationInfo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Linear Location Info</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Linear Location Info</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinearLocationInfo(LinearLocationInfo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Area Location Info</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Area Location Info</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAreaLocationInfo(AreaLocationInfo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //LocationSwitch