import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
import org.opendaylight.restconf.nb.rfc8040.InsertParam;
import org.opendaylight.restconf.nb.rfc8040.PointParam;
+import org.opendaylight.restconf.nb.rfc8040.WriteDataParams;
import org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload;
import org.opendaylight.restconf.nb.rfc8040.rests.transactions.RestconfStrategy;
import org.opendaylight.restconf.nb.rfc8040.rests.transactions.RestconfTransaction;
* @param payload data
* @param strategy Object that perform the actual DS operations
* @param schemaContext reference to actual {@link EffectiveModelContext}
- * @param point point
- * @param insert insert
+ * @param params {@link WriteDataParams}
* @return {@link Response}
*/
public static Response postData(final UriInfo uriInfo, final NormalizedNodePayload payload,
final RestconfStrategy strategy,
- final EffectiveModelContext schemaContext, final InsertParam insert,
- final PointParam point) {
+ final EffectiveModelContext schemaContext, final WriteDataParams params) {
final YangInstanceIdentifier path = payload.getInstanceIdentifierContext().getInstanceIdentifier();
final FluentFuture<? extends CommitInfo> future = submitData(path, payload.getData(),
- strategy, schemaContext, insert, point);
+ strategy, schemaContext, params);
final URI location = resolveLocation(uriInfo, path, schemaContext, payload.getData());
final ResponseFactory dataFactory = new ResponseFactory(Status.CREATED).location(location);
//This method will close transactionChain if any
final NormalizedNode data,
final RestconfStrategy strategy,
final EffectiveModelContext schemaContext,
- final InsertParam insert,
- final PointParam point) {
+ final WriteDataParams params) {
final RestconfTransaction transaction = strategy.prepareWriteExecution();
+ final InsertParam insert = params.insert();
if (insert == null) {
makePost(path, data, schemaContext, transaction);
return transaction.commit();
return transaction.commit();
}
checkItemDoesNotExists(strategy.exists(LogicalDatastoreType.CONFIGURATION, path), path);
- insertWithPointPost(path, data, schemaContext, point,
+ insertWithPointPost(path, data, schemaContext, params.getPoint(),
(NormalizedNodeContainer<?>) readData, true, transaction);
return transaction.commit();
case AFTER:
return transaction.commit();
}
checkItemDoesNotExists(strategy.exists(LogicalDatastoreType.CONFIGURATION, path), path);
- insertWithPointPost(path, data, schemaContext, point,
+ insertWithPointPost(path, data, schemaContext, params.getPoint(),
(NormalizedNodeContainer<?>) readData, false, transaction);
return transaction.commit();
default:
final RestconfTransaction transaction) {
final YangInstanceIdentifier parent = path.getParent().getParent();
transaction.remove(parent);
- final InstanceIdentifierContext<?> instanceIdentifier =
+ final InstanceIdentifierContext instanceIdentifier =
// FIXME: Point should be able to give us this method
ParserIdentifier.toInstanceIdentifier(point.value(), schemaContext, Optional.empty());
int lastItemPosition = 0;
}
private static void makePost(final YangInstanceIdentifier path, final NormalizedNode data,
- final SchemaContext schemaContext, final RestconfTransaction transaction) {
+ final EffectiveModelContext schemaContext, final RestconfTransaction transaction) {
try {
transaction.create(path, data, schemaContext);
} catch (RestconfDocumentedException e) {