Updates to Intent Manager and store interface
Change-Id: Ida612bf5d0f4abe7e81d2f307a80f989603015e7
diff --git a/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java b/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java
index f3a5cf0..dee2351 100644
--- a/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java
+++ b/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java
@@ -15,8 +15,8 @@
*/
package org.onosproject.store.trivial.impl;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
@@ -36,10 +36,10 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
-import static com.google.common.base.Preconditions.*;
-import static org.onosproject.net.intent.IntentState.WITHDRAWN;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
import static org.slf4j.LoggerFactory.getLogger;
@Component(immediate = true)
@@ -51,11 +51,8 @@
private final Logger log = getLogger(getClass());
// current state maps FIXME.. make this a IntentData map
- private final Map<IntentId, Intent> intents = new ConcurrentHashMap<>();
- private final Map<IntentId, IntentState> states = new ConcurrentHashMap<>();
- private final Map<IntentId, List<Intent>> installable = new ConcurrentHashMap<>();
-
- private final Map<String, IntentData> pending = new ConcurrentHashMap<>(); //String is "key"
+ private final Map<String, IntentData> current = Maps.newConcurrentMap();
+ private final Map<String, IntentData> pending = Maps.newConcurrentMap(); //String is "key"
@Activate
public void activate() {
@@ -67,45 +64,32 @@
log.info("Stopped");
}
- private void createIntent(Intent intent) {
- if (intents.containsKey(intent.id())) {
- return;
- }
- intents.put(intent.id(), intent);
- this.setState(intent, IntentState.INSTALL_REQ);
- }
-
- private void removeIntent(IntentId intentId) {
- checkState(getIntentState(intentId) == WITHDRAWN,
- "Intent state for {} is not WITHDRAWN.", intentId);
- intents.remove(intentId);
- installable.remove(intentId);
- states.remove(intentId);
- }
-
@Override
public long getIntentCount() {
- return intents.size();
+ return current.size();
}
@Override
public Iterable<Intent> getIntents() {
- return ImmutableSet.copyOf(intents.values());
+ return current.values().stream()
+ .map(IntentData::intent)
+ .collect(Collectors.toList());
}
@Override
public Intent getIntent(IntentId intentId) {
- return intents.get(intentId);
+ throw new UnsupportedOperationException("deprecated");
}
@Override
public IntentState getIntentState(IntentId id) {
- return states.get(id);
+ throw new UnsupportedOperationException("deprecated");
}
private void setState(Intent intent, IntentState state) {
+ //FIXME
IntentId id = intent.id();
- states.put(id, state);
+// states.put(id, state);
IntentEvent.Type type = null;
switch (state) {
@@ -133,16 +117,23 @@
}
private void setInstallableIntents(IntentId intentId, List<Intent> result) {
- installable.put(intentId, result);
+ //FIXME
+// installable.put(intentId, result);
}
@Override
public List<Intent> getInstallableIntents(IntentId intentId) {
- return installable.get(intentId);
+ throw new UnsupportedOperationException("deprecated");
+ }
+
+ @Override
+ public IntentData getIntentData(String key) {
+ return current.get(key);
}
private void removeInstalledIntents(IntentId intentId) {
- installable.remove(intentId);
+ //FIXME
+// installable.remove(intentId);
}
/**
@@ -165,14 +156,14 @@
"CREATE_INTENT takes 1 argument. %s", op);
Intent intent = (Intent) op.args().get(0);
// TODO: what if it failed?
- createIntent(intent);
+// createIntent(intent); FIXME
break;
case REMOVE_INTENT:
checkArgument(op.args().size() == 1,
"REMOVE_INTENT takes 1 argument. %s", op);
IntentId intentId = (IntentId) op.args().get(0);
- removeIntent(intentId);
+// removeIntent(intentId); FIXME
break;
case REMOVE_INSTALLED: