Reduce exception guard
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / rests / utils / PostDataTransactionUtil.java
index b07e4f91f88c50fbbb554a20f0df59d96289b8ac..16386a2e856ab19eee2db69bb6d59752d7bfdd40 100644 (file)
@@ -21,6 +21,7 @@ import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
 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;
@@ -58,17 +59,15 @@ public final class PostDataTransactionUtil {
      * @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
@@ -91,9 +90,9 @@ public final class PostDataTransactionUtil {
                                                                  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();
@@ -123,7 +122,7 @@ public final class PostDataTransactionUtil {
                     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:
@@ -133,7 +132,7 @@ public final class PostDataTransactionUtil {
                     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:
@@ -149,7 +148,7 @@ public final class PostDataTransactionUtil {
                                             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;
@@ -176,7 +175,7 @@ public final class PostDataTransactionUtil {
     }
 
     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) {