mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-22 12:51:09 +02:00
Removed deprecated IntentStore#batchWrite() API.
Also javadoc fixes. Change-Id: I4ccd109a22189f4762afec15a719e42a3b9e4f7b
This commit is contained in:
parent
8010bb48a6
commit
2085e0751a
@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.onosproject.net.intent;
|
||||
|
||||
import org.onosproject.net.intent.BatchWrite.Operation;
|
||||
import org.onosproject.store.Store;
|
||||
|
||||
import java.util.List;
|
||||
@ -61,16 +60,18 @@ public interface IntentStore extends Store<IntentEvent, IntentStoreDelegate> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute writes in a batch.
|
||||
* If the specified BatchWrite is empty, write will not be executed.
|
||||
* Writes an IntentData object to the store.
|
||||
*
|
||||
* @param batch BatchWrite to execute
|
||||
* @return failed operations
|
||||
* @param newData new intent data to write
|
||||
*/
|
||||
@Deprecated
|
||||
List<Operation> batchWrite(BatchWrite batch);
|
||||
|
||||
default void write(IntentData newData) {}
|
||||
|
||||
/**
|
||||
* Writes a batch of IntentData objects to the store. A batch has no
|
||||
* semantics, this is simply a convenience API.
|
||||
*
|
||||
* @param updates collection of intent data objects to write
|
||||
*/
|
||||
default void batchWrite(Iterable<IntentData> updates) {}
|
||||
|
||||
/**
|
||||
|
@ -22,7 +22,6 @@ import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.felix.scr.annotations.Activate;
|
||||
import org.apache.felix.scr.annotations.Component;
|
||||
import org.apache.felix.scr.annotations.Deactivate;
|
||||
@ -32,8 +31,6 @@ import org.apache.felix.scr.annotations.Service;
|
||||
import org.onlab.metrics.MetricsService;
|
||||
import org.onlab.util.KryoNamespace;
|
||||
import org.onosproject.core.MetricsHelper;
|
||||
import org.onosproject.net.intent.BatchWrite;
|
||||
import org.onosproject.net.intent.BatchWrite.Operation;
|
||||
import org.onosproject.net.intent.Intent;
|
||||
import org.onosproject.net.intent.IntentEvent;
|
||||
import org.onosproject.net.intent.IntentId;
|
||||
@ -45,24 +42,17 @@ import org.onosproject.store.AbstractStore;
|
||||
import org.onosproject.store.serializers.KryoNamespaces;
|
||||
import org.onosproject.store.serializers.KryoSerializer;
|
||||
import org.onosproject.store.serializers.StoreSerializer;
|
||||
import org.onosproject.store.service.BatchWriteRequest;
|
||||
import org.onosproject.store.service.BatchWriteRequest.Builder;
|
||||
import org.onosproject.store.service.BatchWriteResult;
|
||||
import org.onosproject.store.service.DatabaseAdminService;
|
||||
import org.onosproject.store.service.DatabaseService;
|
||||
import org.onosproject.store.service.impl.CMap;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static org.onlab.metrics.MetricsUtil.startTimer;
|
||||
import static org.onlab.metrics.MetricsUtil.stopTimer;
|
||||
import static org.onosproject.net.intent.IntentState.FAILED;
|
||||
@ -292,7 +282,7 @@ public class DistributedIntentStore
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
public List<Operation> batchWrite(BatchWrite batch) {
|
||||
if (batch.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
@ -370,5 +360,5 @@ public class DistributedIntentStore
|
||||
// everything failed
|
||||
return batch.operations();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import org.apache.felix.scr.annotations.ReferenceCardinality;
|
||||
import org.apache.felix.scr.annotations.Service;
|
||||
import org.onlab.util.KryoNamespace;
|
||||
import org.onosproject.cluster.ClusterService;
|
||||
import org.onosproject.net.intent.BatchWrite;
|
||||
import org.onosproject.net.intent.Intent;
|
||||
import org.onosproject.net.intent.IntentData;
|
||||
import org.onosproject.net.intent.IntentEvent;
|
||||
@ -45,11 +44,7 @@ import org.slf4j.Logger;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.onosproject.net.intent.IntentState.FAILED;
|
||||
import static org.onosproject.net.intent.IntentState.INSTALLED;
|
||||
import static org.onosproject.net.intent.IntentState.INSTALLING;
|
||||
import static org.onosproject.net.intent.IntentState.WITHDRAWING;
|
||||
import static org.onosproject.net.intent.IntentState.WITHDRAWN;
|
||||
import static org.onosproject.net.intent.IntentState.*;
|
||||
import static org.slf4j.LoggerFactory.getLogger;
|
||||
|
||||
/**
|
||||
@ -143,12 +138,6 @@ public class GossipIntentStore
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BatchWrite.Operation> batchWrite(BatchWrite batch) {
|
||||
// Deprecated
|
||||
return null;
|
||||
}
|
||||
|
||||
private IntentData copyData(IntentData original) {
|
||||
if (original == null) {
|
||||
return null;
|
||||
@ -163,10 +152,13 @@ public class GossipIntentStore
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO.
|
||||
* @param currentData
|
||||
* @param newData
|
||||
* @return
|
||||
* Determines whether an intent data update is allowed. The update must
|
||||
* either have a higher version than the current data, or the state
|
||||
* transition between two updates of the same version must be sane.
|
||||
*
|
||||
* @param currentData existing intent data in the store
|
||||
* @param newData new intent data update proposal
|
||||
* @return true if we can apply the update, otherwise false
|
||||
*/
|
||||
private boolean isUpdateAcceptable(IntentData currentData, IntentData newData) {
|
||||
|
||||
|
@ -20,7 +20,6 @@ import com.codahale.metrics.Timer.Context;
|
||||
import com.google.common.base.Verify;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.hazelcast.config.Config;
|
||||
import com.hazelcast.config.MapConfig;
|
||||
import com.hazelcast.core.EntryAdapter;
|
||||
@ -53,8 +52,6 @@ import org.onosproject.store.serializers.KryoNamespaces;
|
||||
import org.onosproject.store.serializers.KryoSerializer;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -66,7 +63,10 @@ import java.util.concurrent.Future;
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static org.onlab.metrics.MetricsUtil.startTimer;
|
||||
import static org.onlab.metrics.MetricsUtil.stopTimer;
|
||||
import static org.onosproject.net.intent.IntentState.*;
|
||||
import static org.onosproject.net.intent.IntentState.FAILED;
|
||||
import static org.onosproject.net.intent.IntentState.INSTALLED;
|
||||
import static org.onosproject.net.intent.IntentState.INSTALL_REQ;
|
||||
import static org.onosproject.net.intent.IntentState.WITHDRAWN;
|
||||
import static org.slf4j.LoggerFactory.getLogger;
|
||||
|
||||
//TODO Note: this store will be removed
|
||||
@ -277,7 +277,7 @@ public class HazelcastIntentStore
|
||||
*/
|
||||
}
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
public List<Operation> batchWrite(BatchWrite batch) {
|
||||
if (batch.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
@ -297,7 +297,7 @@ public class HazelcastIntentStore
|
||||
notifyDelegate(events);
|
||||
|
||||
return failed;
|
||||
}
|
||||
}*/
|
||||
|
||||
private void batchWriteAsync(BatchWrite batch, List<Operation> failed,
|
||||
List<Pair<Operation, List<Future<?>>>> futures) {
|
||||
|
@ -20,8 +20,6 @@ import org.apache.felix.scr.annotations.Activate;
|
||||
import org.apache.felix.scr.annotations.Component;
|
||||
import org.apache.felix.scr.annotations.Deactivate;
|
||||
import org.apache.felix.scr.annotations.Service;
|
||||
import org.onosproject.net.intent.BatchWrite;
|
||||
import org.onosproject.net.intent.BatchWrite.Operation;
|
||||
import org.onosproject.net.intent.Intent;
|
||||
import org.onosproject.net.intent.IntentData;
|
||||
import org.onosproject.net.intent.IntentEvent;
|
||||
@ -110,76 +108,15 @@ public class SimpleIntentStore
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* Execute writes in a batch.
|
||||
*
|
||||
* @param batch BatchWrite to execute
|
||||
* @return failed operations
|
||||
*/
|
||||
@Override
|
||||
public List<Operation> batchWrite(BatchWrite batch) {
|
||||
throw new UnsupportedOperationException("deprecated");
|
||||
/*
|
||||
if (batch.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<Operation> failed = Lists.newArrayList();
|
||||
for (Operation op : batch.operations()) {
|
||||
switch (op.type()) {
|
||||
case CREATE_INTENT:
|
||||
checkArgument(op.args().size() == 1,
|
||||
"CREATE_INTENT takes 1 argument. %s", op);
|
||||
Intent intent = (Intent) op.args().get(0);
|
||||
// TODO: what if it failed?
|
||||
// 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); FIXME
|
||||
break;
|
||||
|
||||
case REMOVE_INSTALLED:
|
||||
checkArgument(op.args().size() == 1,
|
||||
"REMOVE_INSTALLED takes 1 argument. %s", op);
|
||||
intentId = (IntentId) op.args().get(0);
|
||||
removeInstalledIntents(intentId);
|
||||
break;
|
||||
|
||||
case SET_INSTALLABLE:
|
||||
checkArgument(op.args().size() == 2,
|
||||
"SET_INSTALLABLE takes 2 arguments. %s", op);
|
||||
intentId = (IntentId) op.args().get(0);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Intent> installableIntents = (List<Intent>) op.args().get(1);
|
||||
setInstallableIntents(intentId, installableIntents);
|
||||
break;
|
||||
|
||||
case SET_STATE:
|
||||
checkArgument(op.args().size() == 2,
|
||||
"SET_STATE takes 2 arguments. %s", op);
|
||||
intent = (Intent) op.args().get(0);
|
||||
IntentState newState = (IntentState) op.args().get(1);
|
||||
setState(intent, newState);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return failed;
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* TODO.
|
||||
* @param currentData
|
||||
* @param newData
|
||||
* @return
|
||||
* Determines whether an intent data update is allowed. The update must
|
||||
* either have a higher version than the current data, or the state
|
||||
* transition between two updates of the same version must be sane.
|
||||
*
|
||||
* @param currentData existing intent data in the store
|
||||
* @param newData new intent data update proposal
|
||||
* @return true if we can apply the update, otherwise false
|
||||
*/
|
||||
private boolean isUpdateAcceptable(IntentData currentData, IntentData newData) {
|
||||
|
||||
|
@ -20,8 +20,6 @@ import org.apache.felix.scr.annotations.Activate;
|
||||
import org.apache.felix.scr.annotations.Component;
|
||||
import org.apache.felix.scr.annotations.Deactivate;
|
||||
import org.apache.felix.scr.annotations.Service;
|
||||
import org.onosproject.net.intent.BatchWrite;
|
||||
import org.onosproject.net.intent.BatchWrite.Operation;
|
||||
import org.onosproject.net.intent.Intent;
|
||||
import org.onosproject.net.intent.IntentData;
|
||||
import org.onosproject.net.intent.IntentEvent;
|
||||
@ -87,70 +85,6 @@ public class SimpleIntentStore
|
||||
return (data != null) ? data.installables() : null;
|
||||
}
|
||||
|
||||
/*
|
||||
* Execute writes in a batch.
|
||||
*
|
||||
* @param batch BatchWrite to execute
|
||||
* @return failed operations
|
||||
*/
|
||||
@Override
|
||||
public List<Operation> batchWrite(BatchWrite batch) {
|
||||
throw new UnsupportedOperationException("deprecated");
|
||||
/*
|
||||
if (batch.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<Operation> failed = Lists.newArrayList();
|
||||
for (Operation op : batch.operations()) {
|
||||
switch (op.type()) {
|
||||
case CREATE_INTENT:
|
||||
checkArgument(op.args().size() == 1,
|
||||
"CREATE_INTENT takes 1 argument. %s", op);
|
||||
Intent intent = (Intent) op.args().get(0);
|
||||
// TODO: what if it failed?
|
||||
// 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); FIXME
|
||||
break;
|
||||
|
||||
case REMOVE_INSTALLED:
|
||||
checkArgument(op.args().size() == 1,
|
||||
"REMOVE_INSTALLED takes 1 argument. %s", op);
|
||||
intentId = (IntentId) op.args().get(0);
|
||||
removeInstalledIntents(intentId);
|
||||
break;
|
||||
|
||||
case SET_INSTALLABLE:
|
||||
checkArgument(op.args().size() == 2,
|
||||
"SET_INSTALLABLE takes 2 arguments. %s", op);
|
||||
intentId = (IntentId) op.args().get(0);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Intent> installableIntents = (List<Intent>) op.args().get(1);
|
||||
setInstallableIntents(intentId, installableIntents);
|
||||
break;
|
||||
|
||||
case SET_STATE:
|
||||
checkArgument(op.args().size() == 2,
|
||||
"SET_STATE takes 2 arguments. %s", op);
|
||||
intent = (Intent) op.args().get(0);
|
||||
IntentState newState = (IntentState) op.args().get(1);
|
||||
setState(intent, newState);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return failed;
|
||||
*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(IntentData newData) {
|
||||
//FIXME need to compare the versions
|
||||
|
Loading…
x
Reference in New Issue
Block a user