IntentStore interface changes
Change-Id: Ifa8728fb4c7edcc6d58a5e071f7252493ab2a578
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 dee2351..4b67421 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,7 +15,6 @@
*/
package org.onosproject.store.trivial.impl;
-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;
@@ -26,19 +25,15 @@
import org.onosproject.net.intent.Intent;
import org.onosproject.net.intent.IntentData;
import org.onosproject.net.intent.IntentEvent;
-import org.onosproject.net.intent.IntentId;
-import org.onosproject.net.intent.IntentState;
import org.onosproject.net.intent.IntentStore;
import org.onosproject.net.intent.IntentStoreDelegate;
import org.onosproject.store.AbstractStore;
import org.slf4j.Logger;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.slf4j.LoggerFactory.getLogger;
@@ -77,66 +72,11 @@
}
@Override
- public Intent getIntent(IntentId intentId) {
- throw new UnsupportedOperationException("deprecated");
- }
-
- @Override
- public IntentState getIntentState(IntentId id) {
- throw new UnsupportedOperationException("deprecated");
- }
-
- private void setState(Intent intent, IntentState state) {
- //FIXME
- IntentId id = intent.id();
-// states.put(id, state);
- IntentEvent.Type type = null;
-
- switch (state) {
- case INSTALL_REQ:
- type = IntentEvent.Type.INSTALL_REQ;
- break;
- case INSTALLED:
- type = IntentEvent.Type.INSTALLED;
- break;
- case FAILED:
- type = IntentEvent.Type.FAILED;
- break;
- case WITHDRAW_REQ:
- type = IntentEvent.Type.WITHDRAW_REQ;
- break;
- case WITHDRAWN:
- type = IntentEvent.Type.WITHDRAWN;
- break;
- default:
- break;
- }
- if (type != null) {
- notifyDelegate(new IntentEvent(type, intent));
- }
- }
-
- private void setInstallableIntents(IntentId intentId, List<Intent> result) {
- //FIXME
-// installable.put(intentId, result);
- }
-
- @Override
- public List<Intent> getInstallableIntents(IntentId intentId) {
- throw new UnsupportedOperationException("deprecated");
- }
-
- @Override
public IntentData getIntentData(String key) {
return current.get(key);
}
- private void removeInstalledIntents(IntentId intentId) {
- //FIXME
-// installable.remove(intentId);
- }
-
- /**
+ /*
* Execute writes in a batch.
*
* @param batch BatchWrite to execute
@@ -144,6 +84,8 @@
*/
@Override
public List<Operation> batchWrite(BatchWrite batch) {
+ throw new UnsupportedOperationException("deprecated");
+ /*
if (batch.isEmpty()) {
return Collections.emptyList();
}
@@ -195,16 +137,41 @@
}
}
return failed;
+ */
}
@Override
+ public void write(IntentData newData) {
+ //FIXME need to compare the versions
+ current.put(newData.key(), newData);
+ try {
+ notifyDelegate(IntentEvent.getEvent(newData));
+ } catch (IllegalArgumentException e) {
+ //no-op
+ log.trace("ignore this exception: {}", e);
+ }
+ IntentData old = pending.get(newData.key());
+ if (old != null /* && FIXME version check */) {
+ pending.remove(newData.key());
+ }
+ }
+
+ @Override
+ public void batchWrite(Iterable<IntentData> updates) {
+ for (IntentData data : updates) {
+ write(data);
+ }
+ }
+
+
+ @Override
public void addPending(IntentData data) {
//FIXME need to compare versions
pending.put(data.key(), data);
checkNotNull(delegate, "Store delegate is not set")
.process(data);
+ notifyDelegate(IntentEvent.getEvent(data));
}
- // FIXME!!! pending.remove(intent.key()); // TODO check version
@Override