import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jetty.http.HttpStatus;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
-import org.onap.validation.csar.CsarValidator;
 import org.onap.vnfsdk.marketplace.common.CommonConstant;
 import org.onap.vnfsdk.marketplace.common.CommonErrorResponse;
 import org.onap.vnfsdk.marketplace.common.FileUtil;
 import org.onap.vnfsdk.marketplace.onboarding.hooks.functiontest.FunctionTestHook;
 import org.onap.vnfsdk.marketplace.onboarding.hooks.validatelifecycle.ValidateLifecycleTestResponse;
 import org.onap.vnfsdk.marketplace.onboarding.onboardmanager.OnBoardingHandler;
+import org.open.infc.grpc.Result;
+import org.open.infc.grpc.client.OpenRemoteCli;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
     /**
      * get PackageWrapper instance.
-     * 
+     *
      * @return package wrapper instance
      */
     public static PackageWrapper getInstance() {
 
     /**
      * query package list by condition.
-     * 
+     *
      * @param name package name
      * @param provider package provider
      * @param version package version
 
     /**
      * query package by id.
-     * 
+     *
      * @param csarId package id
      * @return Response
      */
 
     /**
      * upload package.
-     * 
+     *
      * @param uploadedInputStream inputStream
      * @param fileDetail package detail
      * @param head http header
 
     /**
      * Interface for Uploading package
-     * 
+     *
      * @param packageId
      * @param uploadedInputStream
      * @param fileDetail
         uploadedInputStream.close();
 
         try {
-            CsarValidator cv = new CsarValidator(packageId, fileLocation);
+            Result result = OpenRemoteCli.run(new String[] { "-P", "onap-vtp", "csar-validate", "--csar", fileLocation, "--format", "json" });
+            LOG.info("CSAR validation is successful" + result.getOutput());
 
-            String validationResp = cv.validateCsar();
-            if("SUCCESS" != validationResp) {
-                LOG.error("Could not validate failed");
-                return Response.status(Status.EXPECTATION_FAILED).entity(new CommonErrorResponse(validationResp))
-                        .build();
+            int exitCode = result.getExitCode();
+            String output = result.getOutput();
+
+            if((exitCode != 0) ||  !output.contains("\"error\":\"SUCCESS\"")) {
+              LOG.error("Could not validate failed");
+              return Response.status(Status.EXPECTATION_FAILED).entity(new CommonErrorResponse(output))
+                      .build();
             }
-        } catch(Exception e) {
+        } catch (Exception e) {
             LOG.error("CSAR validation panicked", e);
             return Response.status(Status.EXPECTATION_FAILED).entity(
                     new CommonErrorResponse("Exception occurred while validating csar package:" + e.getMessage()))
 
     /**
      * Execute OnBarding request
-     * 
+     *
      * @param oOnboradingRequest
      */
     private void addOnBoardingRequest(final OnBoradingRequest oOnboradingRequest) {
 
     /**
      * delete package by package id.
-     * 
+     *
      * @param csarId package id
      * @return Response
      */
 
     /**
      * Delete Package by CSAR ID
-     * 
+     *
      * @param csarId
      */
     private void deletePackageDataById(String csarId) {
 
     /**
      * download package by package id.
-     * 
+     *
      * @param csarId package id
      * @return Response
      */
 
     /**
      * get package file uri.
-     * 
+     *
      * @param csarId package id
      * @param relativePath file relative path
      * @return Response
 
     /**
      * Interface to Update Download count for CSAR ID
-     * 
+     *
      * @param csarId
      * @return
      */
 
     /**
      * Handle downlowa count update
-     * 
+     *
      * @param csarId
      * @return
      */
 
     /**
      * Interface to Re upload Package
-     * 
+     *
      * @param csarId
      * @param uploadedInputStream
      * @param fileDetail
 
     /**
      * Interface to get OnBoarding Result by Operation Type
-     * 
+     *
      * @param csarId
      * @param operTypeId
      * @param operId
 
     /**
      * Interface to get OnBoarding Status by Operation ID
-     * 
+     *
      * @param csarId
      * @param operTypeId
      * @return
 
     /**
      * Interface to get OnBoarding Steps
-     * 
+     *
      * @return
      */
     public Response getOnBoardingSteps() {
 
 import org.onap.vnfsdk.marketplace.rest.RestfulClient;
 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapper;
 import org.onap.vnfsdk.marketplace.wrapper.PackageWrapperUtil;
+import org.open.infc.grpc.Result;
+import org.open.infc.grpc.client.OpenRemoteCli;
 
 import mockit.Mock;
 import mockit.MockUp;
                 packageDataList.add(packageData);
                 return packageDataList;
             }
-            
+
             @Mock
             public List<PackageData> getPackageDataSubset(Map<String, String> paramsMap) {
                 List<PackageData> packageDataList = new ArrayList<PackageData>();
-               
+
                 return packageDataList;
             }
         };
             }
         };
 
+
+        new MockUp<OpenRemoteCli>() {
+
+            @Mock
+            public Result run(String[] args) {
+                Result result = Result.newBuilder().
+                        setExitCode(0).
+                        setOutput("{\"error\":\"SUCCESS\"}").
+                        build();
+
+                return result;
+            }
+        };
+
         FormDataContentDisposition fileDetail =
                 FormDataContentDisposition.name("fileName").fileName("clearwater_ns.csar").build();
 
     public void testPkgFormat() {
         assertNotNull(PackageWrapperUtil.getPackageFormat("xml"));
         assertNotNull(PackageWrapperUtil.getPackageFormat("yml"));
-        assertNull(PackageWrapperUtil.getPackageFormat("pdf"));        
+        assertNull(PackageWrapperUtil.getPackageFormat("pdf"));
 
         MsbDetailsHolder.getMsbDetails();
         try {
             IMarketplaceDao dao = new MarketplaceDaoImpl();
-            
+
             packageDataList = new ArrayList<PackageData>();
             packageData = new PackageData();
             packageData.setCsarId("21");
             packageData.setVersion("v1.0");
             packageData.setProvider("Huawei");
             packageDataList.add(packageData);
-            
+
             dao.savePackageData(packageData);
             dao.getAllPackageData();
             dao.getPackageData("21");
             dao.updatePackageData(packageData);
-            dao.deletePackageData("21");           
-            
+            dao.deletePackageData("21");
+
         } catch(Exception e) {
         }