Merge branch 'master' into dev

# Conflicts:
#	org.eclipse.om2m.site.mn-cse/pom.xml
diff --git a/org.eclipse.om2m.binding.http/META-INF/MANIFEST.MF b/org.eclipse.om2m.binding.http/META-INF/MANIFEST.MF
index 95f8241..6c90436 100644
--- a/org.eclipse.om2m.binding.http/META-INF/MANIFEST.MF
+++ b/org.eclipse.om2m.binding.http/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: http

 Bundle-SymbolicName: org.eclipse.om2m.binding.http

 Bundle-Version: 1.1.0.qualifier

-Bundle-RequiredExecutionEnvironment: JavaSE-1.7

+Bundle-RequiredExecutionEnvironment: JavaSE-1.8

 Require-Bundle: org.eclipse.om2m.commons,

  org.apache.httpcomponents.httpcore,

  org.apache.httpcomponents.httpclient

diff --git a/org.eclipse.om2m.commons/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.om2m.commons/.settings/org.eclipse.jdt.core.prefs
index f42de36..0c68a61 100644
--- a/org.eclipse.om2m.commons/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.om2m.commons/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.om2m.commons/META-INF/MANIFEST.MF b/org.eclipse.om2m.commons/META-INF/MANIFEST.MF
index 4d68ea7..5c4e15e 100644
--- a/org.eclipse.om2m.commons/META-INF/MANIFEST.MF
+++ b/org.eclipse.om2m.commons/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: Commons
 Bundle-SymbolicName: org.eclipse.om2m.commons
 Bundle-Version: 1.1.0.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: javax.persistence,javax.persistence.criteria,javax.per
  sistence.metamodel,javax.persistence.spi,org.eclipse.om2m.commons.con
  stants,org.eclipse.om2m.commons.entities,org.eclipse.om2m.commons.exc
diff --git a/org.eclipse.om2m.commons/src/main/java/org/eclipse/om2m/commons/utils/AcpUtils.java b/org.eclipse.om2m.commons/src/main/java/org/eclipse/om2m/commons/utils/AcpUtils.java
index 80e8be3..2eb4b5a 100644
--- a/org.eclipse.om2m.commons/src/main/java/org/eclipse/om2m/commons/utils/AcpUtils.java
+++ b/org.eclipse.om2m.commons/src/main/java/org/eclipse/om2m/commons/utils/AcpUtils.java
@@ -107,9 +107,11 @@
 
 			// For each originator in ACR
 			for (String originator : rule.getAccessControlOriginators()){
-				AccessControlOriginatorEntity originatorEntity = new AccessControlOriginatorEntity(originator);
-				ruleEntity.getAccessControlOriginators().add(originatorEntity);
-			}
+				for (String splitted: originator.split(" ")) {
+					AccessControlOriginatorEntity originatorEntity = new AccessControlOriginatorEntity(splitted);
+					ruleEntity.getAccessControlOriginators().add(originatorEntity);					
+				}
+			}	
 
 			result.add(ruleEntity);
 		}
diff --git a/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/controller/AEController.java b/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/controller/AEController.java
index 16fd44a..f74a30a 100644
--- a/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/controller/AEController.java
+++ b/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/controller/AEController.java
@@ -82,7 +82,7 @@
 		 * ae-ID					NP
 		 * pointOfAccess			O
 		 * ontologyRef				O
-		 * nodeLink					NP
+		 * nodeLink					NP -> O in new release
 		 */
 
 		ResponsePrimitive response = new ResponsePrimitive(request);
@@ -188,7 +188,7 @@
 		if (ae.getAEID() != null){
 			throw new NotPermittedAttrException("ae-id is Not Permitted");
 		}
-		// nodeLink					NP
+		// nodeLink					NP -> O
 		if (ae.getNodeLink() != null){
 			aeEntity.setNodeLink(ae.getNodeLink());
 		}
@@ -400,7 +400,7 @@
 		 * ae-ID					NP
 		 * pointOfAccess			O
 		 * ontologyRef				O
-		 * nodeLink					NP
+		 * nodeLink					NP -> O
 		 * requestReachability		O
 		 */
 		ResponsePrimitive response = new ResponsePrimitive(request);
@@ -459,9 +459,9 @@
 		if(ae.getAEID() != null){
 			throw new BadRequestException("AE ID is NP");
 		}
-		// nodeLink					NP
+		// nodeLink					NP -> O
 		if(ae.getNodeLink() != null){
-			throw new BadRequestException("NodeLink is NP");
+			aeEntity.setNodeLink(ae.getNodeLink());
 		}
 
 		AE modifiedAttributes = new AE();
diff --git a/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/notifier/Notifier.java b/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/notifier/Notifier.java
index 721b4cd..76b3f69 100644
--- a/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/notifier/Notifier.java
+++ b/org.eclipse.om2m.core/src/main/java/org/eclipse/om2m/core/notifier/Notifier.java
@@ -329,6 +329,9 @@
 		DBTransaction dbTransaction = dbs.getDbTransaction();

 		dbTransaction.open();

 		SubscriptionEntity subscriptionEntityToBeDeleted = dbs.getDAOFactory().getSubsciptionDAO().find(dbTransaction, resourceId);

+		// delete the resource in UriMapper table

+		UriMapper.deleteUri(subscriptionEntityToBeDeleted.getHierarchicalURI());

+		// delete the resource

 		dbs.getDAOFactory().getSubsciptionDAO().delete(dbTransaction, subscriptionEntityToBeDeleted);

 		dbTransaction.commit();

 		dbTransaction.close();

diff --git a/org.eclipse.om2m.datamapping.jaxb/src/main/resources/xml-binding.xml b/org.eclipse.om2m.datamapping.jaxb/src/main/resources/xml-binding.xml
index 7440e52..ceae564 100644
--- a/org.eclipse.om2m.datamapping.jaxb/src/main/resources/xml-binding.xml
+++ b/org.eclipse.om2m.datamapping.jaxb/src/main/resources/xml-binding.xml
@@ -81,12 +81,12 @@
 		<!-- Access Control resources -->
 		<java-type name="AccessControlPolicy">
 		</java-type>
-		<java-type name="AccessControlRule">
-			<java-attributes>
-				<xml-element java-attribute="accessControlOriginators"
-					name="acor" />
-			</java-attributes>
-		</java-type>
+		<!-- <java-type name="AccessControlRule"> -->
+		<!-- <java-attributes> -->
+		<!-- <xml-element java-attribute="accessControlOriginators" -->
+		<!-- name="acor" /> -->
+		<!-- </java-attributes> -->
+		<!-- </java-type> -->
 
 		<!-- Common resources -->
 		<java-type name="AE">
diff --git a/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/AccessControlPolicyDAO.java b/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/AccessControlPolicyDAO.java
index f8b8e9b..8c7b500 100644
--- a/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/AccessControlPolicyDAO.java
+++ b/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/AccessControlPolicyDAO.java
@@ -69,6 +69,19 @@
 		DBTransactionJPAImpl transaction = (DBTransactionJPAImpl) dbTransaction;
 		List<LabelEntity> lbls = processLabels(dbTransaction, resource.getLabelsEntities());
 		resource.setLabelsEntities(lbls);
+		
+		// persist self privilege
+		for(AccessControlRuleEntity acre : resource.getSelfPrivileges()) {
+			acre.setSelfAccessControlPolicy(resource);
+			transaction.getEm().persist(acre);
+		}
+		
+		// persist privileges
+		for(AccessControlRuleEntity acre : resource.getPrivileges()) {
+			acre.setAccessControlPolicy(resource);
+			transaction.getEm().persist(acre);
+		}
+		
 		transaction.getEm().merge(resource);
 	}
 
diff --git a/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/RemoteCSEDAO.java b/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/RemoteCSEDAO.java
index a63c86c..1835532 100644
--- a/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/RemoteCSEDAO.java
+++ b/org.eclipse.om2m.persistence.eclipselink/src/main/java/org/eclipse/om2m/persistence/eclipselink/internal/dao/RemoteCSEDAO.java
@@ -19,6 +19,7 @@
  *******************************************************************************/
 package org.eclipse.om2m.persistence.eclipselink.internal.dao;
 
+import org.eclipse.om2m.commons.entities.CSEBaseEntity;
 import org.eclipse.om2m.commons.entities.RemoteCSEEntity;
 import org.eclipse.om2m.persistence.eclipselink.internal.DBTransactionJPAImpl;
 import org.eclipse.om2m.persistence.service.DBTransaction;
@@ -40,7 +41,7 @@
 		}
 		
 		transaction.getEm().remove(resource);
-//		transaction.getEm().getEntityManagerFactory().getCache().evict(CSEBaseEntity.class);
+		transaction.getEm().getEntityManagerFactory().getCache().evict(CSEBaseEntity.class);
 	}
 	
 	@Override
diff --git a/org.eclipse.om2m.site.asn-cse/pom.xml b/org.eclipse.om2m.site.asn-cse/pom.xml
index c3e61a5..d4a8a21 100644
--- a/org.eclipse.om2m.site.asn-cse/pom.xml
+++ b/org.eclipse.om2m.site.asn-cse/pom.xml
@@ -57,9 +57,9 @@
 						<configuration>

 							<tasks>

 								<echo>Copying scripts into asn product</echo>

-								<copy file="${basedir}/script" tofile="${basedir}/target/products/asn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/start.sh"/>

-								<copy file="${basedir}/script" tofile="${basedir}/target/products/asn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/start.bat"/>

-								<copy file="${basedir}/log4j.configuration" tofile="${basedir}/target/products/asn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/log4j.configuration"/>

+								<copy file="${basedir}/script" tofile="${basedir}/target/products/asn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/start.sh"/>

+								<copy file="${basedir}/script" tofile="${basedir}/target/products/asn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/start.bat"/>

+								<copy file="${basedir}/log4j.configuration" tofile="${basedir}/target/products/asn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/log4j.configuration"/>

 							</tasks>

 						</configuration>

 					</execution>

diff --git a/org.eclipse.om2m.site.in-cse/pom.xml b/org.eclipse.om2m.site.in-cse/pom.xml
index 6a96722..9e891e7 100644
--- a/org.eclipse.om2m.site.in-cse/pom.xml
+++ b/org.eclipse.om2m.site.in-cse/pom.xml
@@ -62,21 +62,21 @@
 							<tasks>

 								<echo>Copying scripts into in product</echo>

 								<copy file="${basedir}/script"

-									tofile="${basedir}/target/products/in-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/start.sh" />

+									tofile="${basedir}/target/products/in-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/start.sh" />

 								<copy file="${basedir}/script"

-									tofile="${basedir}/target/products/in-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/start.bat" />

+									tofile="${basedir}/target/products/in-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/start.bat" />

 								<copy file="${basedir}/log4j.configuration"

-									tofile="${basedir}/target/products/in-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/log4j.configuration" />

+									tofile="${basedir}/target/products/in-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/log4j.configuration" />

 									

 								<copy

-									todir="${basedir}/target/products/in-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/configurations">

+									todir="${basedir}/target/products/in-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/configurations">

 									<fileset dir="${basedir}/configurations" includes="**/*" />

 								</copy>

 								<copy file="${basedir}/libs/pax-confman-propsloader-0.2.3.jar"

 									todir="${basedir}/target/products/in-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/plugins/" />

 								

 								<propertyfile

-									file="${basedir}/target/products/in-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/configuration/config.ini">

+									file="${basedir}/target/products/in-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/configuration/config.ini">

 									<entry key="osgi.bundles" type="string" operation="+"

 										value=", reference:file:pax-confman-propsloader-0.2.3.jar@1:start" />

 								</propertyfile>

diff --git a/org.eclipse.om2m.site.mn-cse/pom.xml b/org.eclipse.om2m.site.mn-cse/pom.xml
index fbfc696..a663e96 100644
--- a/org.eclipse.om2m.site.mn-cse/pom.xml
+++ b/org.eclipse.om2m.site.mn-cse/pom.xml
@@ -62,9 +62,9 @@
 							<target>
 								<echo>Copying scripts into mn product</echo>
 								<copy file="${basedir}/script"
-									tofile="${basedir}/target/products/mn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/start.sh" />
+									tofile="${basedir}/target/products/mn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/start.sh" />
 								<copy file="${basedir}/script"
-									tofile="${basedir}/target/products/mn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/start.bat" />
+									tofile="${basedir}/target/products/mn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/start.bat" />
 								<copy file="${basedir}/log4j.configuration"
 									tofile="${basedir}/target/products/mn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/log4j.configuration" />
 								<!-- <copy file="${basedir}/libs/org.eclipse.equinox.cm_1.0.400.v20130327-1442.jar" 
@@ -73,13 +73,13 @@
 								<copy file="${basedir}/libs/pax-confman-propsloader-0.2.3.jar"
 									todir="${basedir}/target/products/mn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/plugins/" />
 								<copy
-									todir="${basedir}/target/products/mn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/configurations">
+									todir="${basedir}/target/products/mn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/configurations">
 									<fileset dir="${basedir}/configurations" includes="**/*" />
 								</copy>
 
 
 								<propertyfile
-									file="${basedir}/target/products/mn-cse/${osgi.os}/${osgi.ws}/${osgi.arch}/configuration/config.ini">
+									file="${basedir}/target/products/mn-cse/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}/configuration/config.ini">
 									<entry key="osgi.bundles" type="string" operation="+"
 										value=", reference:file:pax-confman-propsloader-0.2.3.jar@1:start" />
 								</propertyfile>
diff --git a/pom.xml b/pom.xml
index a2211f2..9ce3f0a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,9 +33,9 @@
 	</prerequisites>
 
 	<properties>
-		<java.version>1.7</java.version>
+		<java.version>1.8</java.version>
 		<maven.version>3.0</maven.version>
-		<tycho.version>0.20.0</tycho.version>
+		<tycho.version>0.22.0</tycho.version>
 		<tycho.test.jvmArgs>-Xmx512m -XX:MaxPermSize=256m</tycho.test.jvmArgs>
 	</properties>
 
diff --git a/protocols/org.eclipse.om2m.protocols.hue/org.eclipse.om2m.hue.impl/META-INF/MANIFEST.MF b/protocols/org.eclipse.om2m.protocols.hue/org.eclipse.om2m.hue.impl/META-INF/MANIFEST.MF
index 9a7bb2a..2dea450 100644
--- a/protocols/org.eclipse.om2m.protocols.hue/org.eclipse.om2m.hue.impl/META-INF/MANIFEST.MF
+++ b/protocols/org.eclipse.om2m.protocols.hue/org.eclipse.om2m.hue.impl/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: org.eclipse.om2m.hue.impl
 Bundle-SymbolicName: org.eclipse.om2m.hue.impl
 Bundle-Version: 1.1.0.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ClassPath: .,
  lib/json-simple-1.1.jar
 Service-Component: OSGI-INF/hue.basedriver.xml