+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
package org.opendaylight.controller.clustering.services_implementation.internal;\r
\r
import static org.junit.Assert.assertEquals;\r
import java.util.HashSet;\r
import java.util.Hashtable;\r
import java.util.Set;\r
-import java.util.List;\r
import java.util.concurrent.ConcurrentMap;\r
\r
import javax.inject.Inject;\r
import org.opendaylight.controller.sal.utils.ServiceHelper;\r
import org.opendaylight.controller.sal.core.UpdateType;\r
import org.ops4j.pax.exam.Option;\r
-import org.ops4j.pax.exam.junit.Configuration;\r
+import org.ops4j.pax.exam.Configuration;\r
import org.ops4j.pax.exam.junit.PaxExam;\r
import org.ops4j.pax.exam.util.PathUtils;\r
import org.osgi.framework.Bundle;\r
import org.osgi.framework.BundleContext;\r
-import org.osgi.framework.ServiceReference;\r
import org.osgi.framework.ServiceRegistration;\r
import org.slf4j.Logger;\r
import org.slf4j.LoggerFactory;\r
mavenBundle("org.opendaylight.controller", "sal").versionAsInProject(),\r
mavenBundle("org.opendaylight.controller",\r
"sal.implementation").versionAsInProject(),\r
+ mavenBundle("org.opendaylight.controller", "configuration").versionAsInProject(),\r
mavenBundle("org.opendaylight.controller", "containermanager").versionAsInProject(),\r
mavenBundle("org.opendaylight.controller",\r
- "containermanager.implementation").versionAsInProject(),\r
+ "containermanager.it.implementation").versionAsInProject(),\r
mavenBundle("org.jboss.spec.javax.transaction",\r
"jboss-transaction-api_1.1_spec").versionAsInProject(),\r
mavenBundle("org.apache.commons", "commons-lang3").versionAsInProject(),\r
"org.apache.felix.dependencymanager").versionAsInProject(),\r
mavenBundle("org.apache.felix",\r
"org.apache.felix.dependencymanager.shell").versionAsInProject(),\r
+ mavenBundle("eclipselink", "javax.resource").versionAsInProject(),\r
junitBundles());\r
}\r
\r
assertNotNull(bc);\r
boolean debugit = false;\r
Bundle b[] = bc.getBundles();\r
- for (int i = 0; i < b.length; i++) {\r
- int state = b[i].getState();\r
+ for (Bundle element : b) {\r
+ int state = element.getState();\r
if (state != Bundle.ACTIVE && state != Bundle.RESOLVED) {\r
- log.debug("Bundle:" + b[i].getSymbolicName() + " state:"\r
+ log.debug("Bundle:" + element.getSymbolicName() + " state:"\r
+ stateToString(state));\r
debugit = true;\r
}\r
assertTrue(up.value.equals("baz"));\r
assertTrue(up.cacheName.equals(cache1));\r
\r
+ /**********************************/\r
+ /* RE-UPDATE AN EXISTING KEY CASE */\r
+ /**********************************/\r
+ // Start monitoring the updates\r
+ res = listener.restart(1);\r
+ // modify the cache\r
+ cm11.put(k1, "baz");\r
+ // Wait\r
+ res.await(100L, TimeUnit.SECONDS);\r
+ // Analyze the updates\r
+ ups = listener.getUpdates();\r
+ assertTrue(ups.size() == 1);\r
+ // Validate we get an update with expect fields\r
+ up = ups.get(0);\r
+ assertTrue(up.t.equals(UpdateType.CHANGED));\r
+ assertTrue(up.key.equals(k1));\r
+ assertTrue(up.value.equals("baz"));\r
+ assertTrue(up.cacheName.equals(cache1));\r
+\r
/********************************/\r
/* REMOVAL OF EXISTING KEY CASE */\r
/********************************/\r