--- /dev/null
+/*
+ * Copyright (C) 2014 Red Hat, Inc.
+ *
+ * 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
+ *
+ * Authors : Madhu Venugopal
+ */
+package org.opendaylight.ovsdb.lib.operations;
+
+
+public class Assert extends Operation {
+
+ public static final String ASSERT = "assert";
+ String lock;
+
+ public Assert(String lock) {
+ super(null, ASSERT);
+ this.lock = lock;
+ }
+
+ public String getLock() {
+ return lock;
+ }
+}
--- /dev/null
+/*
+ * Copyright (C) 2014 Red Hat, Inc.
+ *
+ * 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
+ *
+ * Authors : Madhu Venugopal
+ */
+package org.opendaylight.ovsdb.lib.operations;
+
+
+public class Comment extends Operation {
+
+ public static final String COMMENT = "comment";
+ String comment;
+
+ public Comment(String comment) {
+ super(null, COMMENT);
+ this.comment = comment;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+}
*/
package org.opendaylight.ovsdb.lib.operations;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
+import java.util.Map;
+import java.util.Set;
+
import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
import org.opendaylight.ovsdb.lib.schema.TableSchema;
-import java.util.Map;
-import java.util.Set;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Maps;
public class Insert<E extends TableSchema<E>> extends Operation<E> {
if (columnSchema.getType().isMultiValued()) {
Preconditions.checkArgument((value instanceof Set),"expected a set for multivalued item") ;
tval = OvsDBSet.fromSet((Set) value);
+ } else {
+ tval = value;
}
row.put(columnSchema.getName(), tval);
return this;
*/
package org.opendaylight.ovsdb.lib;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.ListenableFuture;
import static org.opendaylight.ovsdb.lib.operations.Operations.op;
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Set;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import com.google.common.util.concurrent.ListenableFuture;
public class OvsDBClientTestIT extends OvsdbTestBase {
ListenableFuture<List<OperationResult>> results = ovs.transactBuilder()
.add(op.insert(bridge)
- .value(name, "br-int")
- .value(flood_vlans, Sets.newHashSet(100, 101, 4001))
- )
+ .value(name, "br-test")
+ .value(flood_vlans, Sets.newHashSet(100, 101, 4001)))
+ .add(op.comment("Inserting Bridge br-int"))
.add(op.update(bridge)
.set(fail_mode, "secure")
.where(name.opEqual("br-int"))
.operation())
+ .add(op.comment("Updating fail_mode to secure on Bridge br-int"))
.add(op.select(bridge)
.column(name)
.where(name.opEqual("br-int"))
.where(name.opEqual("br-int"))
.operation())
.add(op.commit(true))
+ .add(op.comment("Commiting the operation"))
.execute();
List<OperationResult> operationResults = results.get();
.add(op.delete(bridge)
.where(name.opEqual("br-int"))
.operation())
+ .add(op.comment("Deleting Bridge br-int"))
.add(op.commit(true))
+ .add(op.comment("Commiting the operation"))
.execute();
operationResults = results.get();
operationResults = results.get();
Assert.assertFalse(operationResults.isEmpty());
+ /* Testing for Abort Error */
+ Assert.assertFalse(operationResults.get(1).getError() == null);
System.out.println("Abort operation results = " + operationResults);
+ /*
+ * Adding a separate Abort operation in a transaction. Lets not mix this with other
+ * valid transactions as above.
+ */
+ results = ovs.transactBuilder()
+ .add(op.delete(bridge)
+ .where(name.opEqual("br-int"))
+ .operation())
+ .add(op.assertion("Assert12345")) // Failing intentionally
+ .execute();
+
+ operationResults = results.get();
+ Assert.assertFalse(operationResults.isEmpty());
+ /* Testing for an Assertion Error */
+ Assert.assertFalse(operationResults.get(1).getError() == null);
+ System.out.println("Assert operation results = " + operationResults);
+
}
@Test