Committed by
Brian O'Connor
Removed deprecated IntentStore#batchWrite() API.
Also javadoc fixes. Change-Id: I4ccd109a22189f4762afec15a719e42a3b9e4f7b
Showing
6 changed files
with
32 additions
and
178 deletions
| ... | @@ -15,7 +15,6 @@ | ... | @@ -15,7 +15,6 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.net.intent; | 16 | package org.onosproject.net.intent; |
| 17 | 17 | ||
| 18 | -import org.onosproject.net.intent.BatchWrite.Operation; | ||
| 19 | import org.onosproject.store.Store; | 18 | import org.onosproject.store.Store; |
| 20 | 19 | ||
| 21 | import java.util.List; | 20 | import java.util.List; |
| ... | @@ -61,16 +60,18 @@ public interface IntentStore extends Store<IntentEvent, IntentStoreDelegate> { | ... | @@ -61,16 +60,18 @@ public interface IntentStore extends Store<IntentEvent, IntentStoreDelegate> { |
| 61 | } | 60 | } |
| 62 | 61 | ||
| 63 | /** | 62 | /** |
| 64 | - * Execute writes in a batch. | 63 | + * Writes an IntentData object to the store. |
| 65 | - * If the specified BatchWrite is empty, write will not be executed. | ||
| 66 | * | 64 | * |
| 67 | - * @param batch BatchWrite to execute | 65 | + * @param newData new intent data to write |
| 68 | - * @return failed operations | ||
| 69 | */ | 66 | */ |
| 70 | - @Deprecated | ||
| 71 | - List<Operation> batchWrite(BatchWrite batch); | ||
| 72 | - | ||
| 73 | default void write(IntentData newData) {} | 67 | default void write(IntentData newData) {} |
| 68 | + | ||
| 69 | + /** | ||
| 70 | + * Writes a batch of IntentData objects to the store. A batch has no | ||
| 71 | + * semantics, this is simply a convenience API. | ||
| 72 | + * | ||
| 73 | + * @param updates collection of intent data objects to write | ||
| 74 | + */ | ||
| 74 | default void batchWrite(Iterable<IntentData> updates) {} | 75 | default void batchWrite(Iterable<IntentData> updates) {} |
| 75 | 76 | ||
| 76 | /** | 77 | /** | ... | ... |
| ... | @@ -22,7 +22,6 @@ import com.google.common.cache.CacheBuilder; | ... | @@ -22,7 +22,6 @@ import com.google.common.cache.CacheBuilder; |
| 22 | import com.google.common.cache.CacheLoader; | 22 | import com.google.common.cache.CacheLoader; |
| 23 | import com.google.common.cache.LoadingCache; | 23 | import com.google.common.cache.LoadingCache; |
| 24 | import com.google.common.collect.ImmutableSet; | 24 | import com.google.common.collect.ImmutableSet; |
| 25 | -import com.google.common.collect.Lists; | ||
| 26 | import org.apache.felix.scr.annotations.Activate; | 25 | import org.apache.felix.scr.annotations.Activate; |
| 27 | import org.apache.felix.scr.annotations.Component; | 26 | import org.apache.felix.scr.annotations.Component; |
| 28 | import org.apache.felix.scr.annotations.Deactivate; | 27 | import org.apache.felix.scr.annotations.Deactivate; |
| ... | @@ -32,8 +31,6 @@ import org.apache.felix.scr.annotations.Service; | ... | @@ -32,8 +31,6 @@ import org.apache.felix.scr.annotations.Service; |
| 32 | import org.onlab.metrics.MetricsService; | 31 | import org.onlab.metrics.MetricsService; |
| 33 | import org.onlab.util.KryoNamespace; | 32 | import org.onlab.util.KryoNamespace; |
| 34 | import org.onosproject.core.MetricsHelper; | 33 | import org.onosproject.core.MetricsHelper; |
| 35 | -import org.onosproject.net.intent.BatchWrite; | ||
| 36 | -import org.onosproject.net.intent.BatchWrite.Operation; | ||
| 37 | import org.onosproject.net.intent.Intent; | 34 | import org.onosproject.net.intent.Intent; |
| 38 | import org.onosproject.net.intent.IntentEvent; | 35 | import org.onosproject.net.intent.IntentEvent; |
| 39 | import org.onosproject.net.intent.IntentId; | 36 | import org.onosproject.net.intent.IntentId; |
| ... | @@ -45,24 +42,17 @@ import org.onosproject.store.AbstractStore; | ... | @@ -45,24 +42,17 @@ import org.onosproject.store.AbstractStore; |
| 45 | import org.onosproject.store.serializers.KryoNamespaces; | 42 | import org.onosproject.store.serializers.KryoNamespaces; |
| 46 | import org.onosproject.store.serializers.KryoSerializer; | 43 | import org.onosproject.store.serializers.KryoSerializer; |
| 47 | import org.onosproject.store.serializers.StoreSerializer; | 44 | import org.onosproject.store.serializers.StoreSerializer; |
| 48 | -import org.onosproject.store.service.BatchWriteRequest; | ||
| 49 | -import org.onosproject.store.service.BatchWriteRequest.Builder; | ||
| 50 | -import org.onosproject.store.service.BatchWriteResult; | ||
| 51 | import org.onosproject.store.service.DatabaseAdminService; | 45 | import org.onosproject.store.service.DatabaseAdminService; |
| 52 | import org.onosproject.store.service.DatabaseService; | 46 | import org.onosproject.store.service.DatabaseService; |
| 53 | import org.onosproject.store.service.impl.CMap; | 47 | import org.onosproject.store.service.impl.CMap; |
| 54 | import org.slf4j.Logger; | 48 | import org.slf4j.Logger; |
| 55 | 49 | ||
| 56 | -import java.util.ArrayList; | ||
| 57 | -import java.util.Collections; | ||
| 58 | import java.util.EnumSet; | 50 | import java.util.EnumSet; |
| 59 | -import java.util.HashSet; | ||
| 60 | import java.util.List; | 51 | import java.util.List; |
| 61 | import java.util.Map; | 52 | import java.util.Map; |
| 62 | import java.util.Set; | 53 | import java.util.Set; |
| 63 | import java.util.concurrent.ConcurrentHashMap; | 54 | import java.util.concurrent.ConcurrentHashMap; |
| 64 | 55 | ||
| 65 | -import static com.google.common.base.Preconditions.checkArgument; | ||
| 66 | import static org.onlab.metrics.MetricsUtil.startTimer; | 56 | import static org.onlab.metrics.MetricsUtil.startTimer; |
| 67 | import static org.onlab.metrics.MetricsUtil.stopTimer; | 57 | import static org.onlab.metrics.MetricsUtil.stopTimer; |
| 68 | import static org.onosproject.net.intent.IntentState.FAILED; | 58 | import static org.onosproject.net.intent.IntentState.FAILED; |
| ... | @@ -292,7 +282,7 @@ public class DistributedIntentStore | ... | @@ -292,7 +282,7 @@ public class DistributedIntentStore |
| 292 | } | 282 | } |
| 293 | } | 283 | } |
| 294 | 284 | ||
| 295 | - @Override | 285 | + /*@Override |
| 296 | public List<Operation> batchWrite(BatchWrite batch) { | 286 | public List<Operation> batchWrite(BatchWrite batch) { |
| 297 | if (batch.isEmpty()) { | 287 | if (batch.isEmpty()) { |
| 298 | return Collections.emptyList(); | 288 | return Collections.emptyList(); |
| ... | @@ -370,5 +360,5 @@ public class DistributedIntentStore | ... | @@ -370,5 +360,5 @@ public class DistributedIntentStore |
| 370 | // everything failed | 360 | // everything failed |
| 371 | return batch.operations(); | 361 | return batch.operations(); |
| 372 | } | 362 | } |
| 373 | - } | 363 | + }*/ |
| 374 | } | 364 | } | ... | ... |
| ... | @@ -23,7 +23,6 @@ import org.apache.felix.scr.annotations.ReferenceCardinality; | ... | @@ -23,7 +23,6 @@ import org.apache.felix.scr.annotations.ReferenceCardinality; |
| 23 | import org.apache.felix.scr.annotations.Service; | 23 | import org.apache.felix.scr.annotations.Service; |
| 24 | import org.onlab.util.KryoNamespace; | 24 | import org.onlab.util.KryoNamespace; |
| 25 | import org.onosproject.cluster.ClusterService; | 25 | import org.onosproject.cluster.ClusterService; |
| 26 | -import org.onosproject.net.intent.BatchWrite; | ||
| 27 | import org.onosproject.net.intent.Intent; | 26 | import org.onosproject.net.intent.Intent; |
| 28 | import org.onosproject.net.intent.IntentData; | 27 | import org.onosproject.net.intent.IntentData; |
| 29 | import org.onosproject.net.intent.IntentEvent; | 28 | import org.onosproject.net.intent.IntentEvent; |
| ... | @@ -45,11 +44,7 @@ import org.slf4j.Logger; | ... | @@ -45,11 +44,7 @@ import org.slf4j.Logger; |
| 45 | import java.util.List; | 44 | import java.util.List; |
| 46 | import java.util.stream.Collectors; | 45 | import java.util.stream.Collectors; |
| 47 | 46 | ||
| 48 | -import static org.onosproject.net.intent.IntentState.FAILED; | 47 | +import static org.onosproject.net.intent.IntentState.*; |
| 49 | -import static org.onosproject.net.intent.IntentState.INSTALLED; | ||
| 50 | -import static org.onosproject.net.intent.IntentState.INSTALLING; | ||
| 51 | -import static org.onosproject.net.intent.IntentState.WITHDRAWING; | ||
| 52 | -import static org.onosproject.net.intent.IntentState.WITHDRAWN; | ||
| 53 | import static org.slf4j.LoggerFactory.getLogger; | 48 | import static org.slf4j.LoggerFactory.getLogger; |
| 54 | 49 | ||
| 55 | /** | 50 | /** |
| ... | @@ -143,12 +138,6 @@ public class GossipIntentStore | ... | @@ -143,12 +138,6 @@ public class GossipIntentStore |
| 143 | return null; | 138 | return null; |
| 144 | } | 139 | } |
| 145 | 140 | ||
| 146 | - @Override | ||
| 147 | - public List<BatchWrite.Operation> batchWrite(BatchWrite batch) { | ||
| 148 | - // Deprecated | ||
| 149 | - return null; | ||
| 150 | - } | ||
| 151 | - | ||
| 152 | private IntentData copyData(IntentData original) { | 141 | private IntentData copyData(IntentData original) { |
| 153 | if (original == null) { | 142 | if (original == null) { |
| 154 | return null; | 143 | return null; |
| ... | @@ -163,10 +152,13 @@ public class GossipIntentStore | ... | @@ -163,10 +152,13 @@ public class GossipIntentStore |
| 163 | } | 152 | } |
| 164 | 153 | ||
| 165 | /** | 154 | /** |
| 166 | - * TODO. | 155 | + * Determines whether an intent data update is allowed. The update must |
| 167 | - * @param currentData | 156 | + * either have a higher version than the current data, or the state |
| 168 | - * @param newData | 157 | + * transition between two updates of the same version must be sane. |
| 169 | - * @return | 158 | + * |
| 159 | + * @param currentData existing intent data in the store | ||
| 160 | + * @param newData new intent data update proposal | ||
| 161 | + * @return true if we can apply the update, otherwise false | ||
| 170 | */ | 162 | */ |
| 171 | private boolean isUpdateAcceptable(IntentData currentData, IntentData newData) { | 163 | private boolean isUpdateAcceptable(IntentData currentData, IntentData newData) { |
| 172 | 164 | ... | ... |
| ... | @@ -20,7 +20,6 @@ import com.codahale.metrics.Timer.Context; | ... | @@ -20,7 +20,6 @@ import com.codahale.metrics.Timer.Context; |
| 20 | import com.google.common.base.Verify; | 20 | import com.google.common.base.Verify; |
| 21 | import com.google.common.collect.ImmutableList; | 21 | import com.google.common.collect.ImmutableList; |
| 22 | import com.google.common.collect.ImmutableSet; | 22 | import com.google.common.collect.ImmutableSet; |
| 23 | -import com.google.common.collect.Lists; | ||
| 24 | import com.hazelcast.config.Config; | 23 | import com.hazelcast.config.Config; |
| 25 | import com.hazelcast.config.MapConfig; | 24 | import com.hazelcast.config.MapConfig; |
| 26 | import com.hazelcast.core.EntryAdapter; | 25 | import com.hazelcast.core.EntryAdapter; |
| ... | @@ -53,8 +52,6 @@ import org.onosproject.store.serializers.KryoNamespaces; | ... | @@ -53,8 +52,6 @@ import org.onosproject.store.serializers.KryoNamespaces; |
| 53 | import org.onosproject.store.serializers.KryoSerializer; | 52 | import org.onosproject.store.serializers.KryoSerializer; |
| 54 | import org.slf4j.Logger; | 53 | import org.slf4j.Logger; |
| 55 | 54 | ||
| 56 | -import java.util.ArrayList; | ||
| 57 | -import java.util.Collections; | ||
| 58 | import java.util.EnumSet; | 55 | import java.util.EnumSet; |
| 59 | import java.util.List; | 56 | import java.util.List; |
| 60 | import java.util.Map; | 57 | import java.util.Map; |
| ... | @@ -66,7 +63,10 @@ import java.util.concurrent.Future; | ... | @@ -66,7 +63,10 @@ import java.util.concurrent.Future; |
| 66 | import static com.google.common.base.Preconditions.checkArgument; | 63 | import static com.google.common.base.Preconditions.checkArgument; |
| 67 | import static org.onlab.metrics.MetricsUtil.startTimer; | 64 | import static org.onlab.metrics.MetricsUtil.startTimer; |
| 68 | import static org.onlab.metrics.MetricsUtil.stopTimer; | 65 | import static org.onlab.metrics.MetricsUtil.stopTimer; |
| 69 | -import static org.onosproject.net.intent.IntentState.*; | 66 | +import static org.onosproject.net.intent.IntentState.FAILED; |
| 67 | +import static org.onosproject.net.intent.IntentState.INSTALLED; | ||
| 68 | +import static org.onosproject.net.intent.IntentState.INSTALL_REQ; | ||
| 69 | +import static org.onosproject.net.intent.IntentState.WITHDRAWN; | ||
| 70 | import static org.slf4j.LoggerFactory.getLogger; | 70 | import static org.slf4j.LoggerFactory.getLogger; |
| 71 | 71 | ||
| 72 | //TODO Note: this store will be removed | 72 | //TODO Note: this store will be removed |
| ... | @@ -277,7 +277,7 @@ public class HazelcastIntentStore | ... | @@ -277,7 +277,7 @@ public class HazelcastIntentStore |
| 277 | */ | 277 | */ |
| 278 | } | 278 | } |
| 279 | 279 | ||
| 280 | - @Override | 280 | + /*@Override |
| 281 | public List<Operation> batchWrite(BatchWrite batch) { | 281 | public List<Operation> batchWrite(BatchWrite batch) { |
| 282 | if (batch.isEmpty()) { | 282 | if (batch.isEmpty()) { |
| 283 | return Collections.emptyList(); | 283 | return Collections.emptyList(); |
| ... | @@ -297,7 +297,7 @@ public class HazelcastIntentStore | ... | @@ -297,7 +297,7 @@ public class HazelcastIntentStore |
| 297 | notifyDelegate(events); | 297 | notifyDelegate(events); |
| 298 | 298 | ||
| 299 | return failed; | 299 | return failed; |
| 300 | - } | 300 | + }*/ |
| 301 | 301 | ||
| 302 | private void batchWriteAsync(BatchWrite batch, List<Operation> failed, | 302 | private void batchWriteAsync(BatchWrite batch, List<Operation> failed, |
| 303 | List<Pair<Operation, List<Future<?>>>> futures) { | 303 | List<Pair<Operation, List<Future<?>>>> futures) { | ... | ... |
| ... | @@ -20,8 +20,6 @@ import org.apache.felix.scr.annotations.Activate; | ... | @@ -20,8 +20,6 @@ import org.apache.felix.scr.annotations.Activate; |
| 20 | import org.apache.felix.scr.annotations.Component; | 20 | import org.apache.felix.scr.annotations.Component; |
| 21 | import org.apache.felix.scr.annotations.Deactivate; | 21 | import org.apache.felix.scr.annotations.Deactivate; |
| 22 | import org.apache.felix.scr.annotations.Service; | 22 | import org.apache.felix.scr.annotations.Service; |
| 23 | -import org.onosproject.net.intent.BatchWrite; | ||
| 24 | -import org.onosproject.net.intent.BatchWrite.Operation; | ||
| 25 | import org.onosproject.net.intent.Intent; | 23 | import org.onosproject.net.intent.Intent; |
| 26 | import org.onosproject.net.intent.IntentData; | 24 | import org.onosproject.net.intent.IntentData; |
| 27 | import org.onosproject.net.intent.IntentEvent; | 25 | import org.onosproject.net.intent.IntentEvent; |
| ... | @@ -110,76 +108,15 @@ public class SimpleIntentStore | ... | @@ -110,76 +108,15 @@ public class SimpleIntentStore |
| 110 | */ | 108 | */ |
| 111 | } | 109 | } |
| 112 | 110 | ||
| 113 | - /* | ||
| 114 | - * Execute writes in a batch. | ||
| 115 | - * | ||
| 116 | - * @param batch BatchWrite to execute | ||
| 117 | - * @return failed operations | ||
| 118 | - */ | ||
| 119 | - @Override | ||
| 120 | - public List<Operation> batchWrite(BatchWrite batch) { | ||
| 121 | - throw new UnsupportedOperationException("deprecated"); | ||
| 122 | - /* | ||
| 123 | - if (batch.isEmpty()) { | ||
| 124 | - return Collections.emptyList(); | ||
| 125 | - } | ||
| 126 | - | ||
| 127 | - List<Operation> failed = Lists.newArrayList(); | ||
| 128 | - for (Operation op : batch.operations()) { | ||
| 129 | - switch (op.type()) { | ||
| 130 | - case CREATE_INTENT: | ||
| 131 | - checkArgument(op.args().size() == 1, | ||
| 132 | - "CREATE_INTENT takes 1 argument. %s", op); | ||
| 133 | - Intent intent = (Intent) op.args().get(0); | ||
| 134 | - // TODO: what if it failed? | ||
| 135 | -// createIntent(intent); FIXME | ||
| 136 | - break; | ||
| 137 | - | ||
| 138 | - case REMOVE_INTENT: | ||
| 139 | - checkArgument(op.args().size() == 1, | ||
| 140 | - "REMOVE_INTENT takes 1 argument. %s", op); | ||
| 141 | - IntentId intentId = (IntentId) op.args().get(0); | ||
| 142 | -// removeIntent(intentId); FIXME | ||
| 143 | - break; | ||
| 144 | - | ||
| 145 | - case REMOVE_INSTALLED: | ||
| 146 | - checkArgument(op.args().size() == 1, | ||
| 147 | - "REMOVE_INSTALLED takes 1 argument. %s", op); | ||
| 148 | - intentId = (IntentId) op.args().get(0); | ||
| 149 | - removeInstalledIntents(intentId); | ||
| 150 | - break; | ||
| 151 | - | ||
| 152 | - case SET_INSTALLABLE: | ||
| 153 | - checkArgument(op.args().size() == 2, | ||
| 154 | - "SET_INSTALLABLE takes 2 arguments. %s", op); | ||
| 155 | - intentId = (IntentId) op.args().get(0); | ||
| 156 | - @SuppressWarnings("unchecked") | ||
| 157 | - List<Intent> installableIntents = (List<Intent>) op.args().get(1); | ||
| 158 | - setInstallableIntents(intentId, installableIntents); | ||
| 159 | - break; | ||
| 160 | - | ||
| 161 | - case SET_STATE: | ||
| 162 | - checkArgument(op.args().size() == 2, | ||
| 163 | - "SET_STATE takes 2 arguments. %s", op); | ||
| 164 | - intent = (Intent) op.args().get(0); | ||
| 165 | - IntentState newState = (IntentState) op.args().get(1); | ||
| 166 | - setState(intent, newState); | ||
| 167 | - break; | ||
| 168 | - | ||
| 169 | - default: | ||
| 170 | - break; | ||
| 171 | - } | ||
| 172 | - } | ||
| 173 | - return failed; | ||
| 174 | - */ | ||
| 175 | - } | ||
| 176 | - | ||
| 177 | 111 | ||
| 178 | /** | 112 | /** |
| 179 | - * TODO. | 113 | + * Determines whether an intent data update is allowed. The update must |
| 180 | - * @param currentData | 114 | + * either have a higher version than the current data, or the state |
| 181 | - * @param newData | 115 | + * transition between two updates of the same version must be sane. |
| 182 | - * @return | 116 | + * |
| 117 | + * @param currentData existing intent data in the store | ||
| 118 | + * @param newData new intent data update proposal | ||
| 119 | + * @return true if we can apply the update, otherwise false | ||
| 183 | */ | 120 | */ |
| 184 | private boolean isUpdateAcceptable(IntentData currentData, IntentData newData) { | 121 | private boolean isUpdateAcceptable(IntentData currentData, IntentData newData) { |
| 185 | 122 | ... | ... |
| ... | @@ -20,8 +20,6 @@ import org.apache.felix.scr.annotations.Activate; | ... | @@ -20,8 +20,6 @@ import org.apache.felix.scr.annotations.Activate; |
| 20 | import org.apache.felix.scr.annotations.Component; | 20 | import org.apache.felix.scr.annotations.Component; |
| 21 | import org.apache.felix.scr.annotations.Deactivate; | 21 | import org.apache.felix.scr.annotations.Deactivate; |
| 22 | import org.apache.felix.scr.annotations.Service; | 22 | import org.apache.felix.scr.annotations.Service; |
| 23 | -import org.onosproject.net.intent.BatchWrite; | ||
| 24 | -import org.onosproject.net.intent.BatchWrite.Operation; | ||
| 25 | import org.onosproject.net.intent.Intent; | 23 | import org.onosproject.net.intent.Intent; |
| 26 | import org.onosproject.net.intent.IntentData; | 24 | import org.onosproject.net.intent.IntentData; |
| 27 | import org.onosproject.net.intent.IntentEvent; | 25 | import org.onosproject.net.intent.IntentEvent; |
| ... | @@ -87,70 +85,6 @@ public class SimpleIntentStore | ... | @@ -87,70 +85,6 @@ public class SimpleIntentStore |
| 87 | return (data != null) ? data.installables() : null; | 85 | return (data != null) ? data.installables() : null; |
| 88 | } | 86 | } |
| 89 | 87 | ||
| 90 | - /* | ||
| 91 | - * Execute writes in a batch. | ||
| 92 | - * | ||
| 93 | - * @param batch BatchWrite to execute | ||
| 94 | - * @return failed operations | ||
| 95 | - */ | ||
| 96 | - @Override | ||
| 97 | - public List<Operation> batchWrite(BatchWrite batch) { | ||
| 98 | - throw new UnsupportedOperationException("deprecated"); | ||
| 99 | - /* | ||
| 100 | - if (batch.isEmpty()) { | ||
| 101 | - return Collections.emptyList(); | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - List<Operation> failed = Lists.newArrayList(); | ||
| 105 | - for (Operation op : batch.operations()) { | ||
| 106 | - switch (op.type()) { | ||
| 107 | - case CREATE_INTENT: | ||
| 108 | - checkArgument(op.args().size() == 1, | ||
| 109 | - "CREATE_INTENT takes 1 argument. %s", op); | ||
| 110 | - Intent intent = (Intent) op.args().get(0); | ||
| 111 | - // TODO: what if it failed? | ||
| 112 | -// createIntent(intent); FIXME | ||
| 113 | - break; | ||
| 114 | - | ||
| 115 | - case REMOVE_INTENT: | ||
| 116 | - checkArgument(op.args().size() == 1, | ||
| 117 | - "REMOVE_INTENT takes 1 argument. %s", op); | ||
| 118 | - IntentId intentId = (IntentId) op.args().get(0); | ||
| 119 | -// removeIntent(intentId); FIXME | ||
| 120 | - break; | ||
| 121 | - | ||
| 122 | - case REMOVE_INSTALLED: | ||
| 123 | - checkArgument(op.args().size() == 1, | ||
| 124 | - "REMOVE_INSTALLED takes 1 argument. %s", op); | ||
| 125 | - intentId = (IntentId) op.args().get(0); | ||
| 126 | - removeInstalledIntents(intentId); | ||
| 127 | - break; | ||
| 128 | - | ||
| 129 | - case SET_INSTALLABLE: | ||
| 130 | - checkArgument(op.args().size() == 2, | ||
| 131 | - "SET_INSTALLABLE takes 2 arguments. %s", op); | ||
| 132 | - intentId = (IntentId) op.args().get(0); | ||
| 133 | - @SuppressWarnings("unchecked") | ||
| 134 | - List<Intent> installableIntents = (List<Intent>) op.args().get(1); | ||
| 135 | - setInstallableIntents(intentId, installableIntents); | ||
| 136 | - break; | ||
| 137 | - | ||
| 138 | - case SET_STATE: | ||
| 139 | - checkArgument(op.args().size() == 2, | ||
| 140 | - "SET_STATE takes 2 arguments. %s", op); | ||
| 141 | - intent = (Intent) op.args().get(0); | ||
| 142 | - IntentState newState = (IntentState) op.args().get(1); | ||
| 143 | - setState(intent, newState); | ||
| 144 | - break; | ||
| 145 | - | ||
| 146 | - default: | ||
| 147 | - break; | ||
| 148 | - } | ||
| 149 | - } | ||
| 150 | - return failed; | ||
| 151 | - */ | ||
| 152 | - } | ||
| 153 | - | ||
| 154 | @Override | 88 | @Override |
| 155 | public void write(IntentData newData) { | 89 | public void write(IntentData newData) { |
| 156 | //FIXME need to compare the versions | 90 | //FIXME need to compare the versions | ... | ... |
-
Please register or login to post a comment