ChefAdapter code clean-up

Issue-ID: APPC-90
Change-Id: I582d6b0c81d5a89938fff6038dfcc221ccaf19c1
Signed-off-by: Skip Wonnell <kw5258@att.com>
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml
index 0cb1c1d..0fb55af 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml
@@ -1,168 +1,240 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.openecomp.appc</groupId>
-		<artifactId>appc-chef-adapter</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
-	</parent>
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APPC
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  Copyright (C) 2017 Amdocs
+  =============================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
 
-	<artifactId>appc-chef-adapter-bundle</artifactId>
-	<packaging>bundle</packaging>
-	<name>chef Adapter - bundle</name>
+       http://www.apache.org/licenses/LICENSE-2.0
 
-	<dependencies>
-	<dependency>
-			<groupId>org.json</groupId>
-			<artifactId>json</artifactId>
-			<version>20160810</version>
-		</dependency>
-		<dependency>
-			<groupId>org.json</groupId>
-			<artifactId>json</artifactId>
-			<version>20160810</version>
-		</dependency>
-		<dependency>
-			<groupId>commons-codec</groupId>
-			<artifactId>commons-codec</artifactId>
-		</dependency>
-		<!-- http://mvnrepository.com/artifact/commons-logging/commons-logging -->
-		<dependency>
-			<groupId>commons-logging</groupId>
-			<artifactId>commons-logging</artifactId>
-			<version>1.2</version>
-		</dependency>
-		<!-- http://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
-		<dependency>
-			<groupId>org.apache.httpcomponents</groupId>
-			<artifactId>httpcore</artifactId>
-			<version>4.4.4</version>
-		</dependency>
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
 
-		<dependency>
-			<groupId>org.bouncycastle</groupId>
-			<artifactId>bcpkix-jdk15on</artifactId>
-			<version>1.55</version>
-		</dependency>
-		<dependency>
-			<groupId>org.bouncycastle</groupId>
-			<artifactId>bcprov-jdk15on</artifactId>
-			<version>1.55</version>
-		</dependency>
-		<dependency>
-			<groupId>org.openecomp.appc</groupId>
-			<artifactId>appc-common</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>javax</groupId>
-			<artifactId>javaee-api</artifactId>
-			<version>7.0</version>
-		</dependency>
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  ============LICENSE_END=========================================================
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.openecomp.appc</groupId>
+        <artifactId>appc-chef-adapter</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
 
-		<dependency>
-			<groupId>com.att.cdp</groupId>
-			<artifactId>cdp-pal-common</artifactId>
-			<scope>compile</scope>
-		</dependency>
+    <artifactId>appc-chef-adapter-bundle</artifactId>
+    <packaging>bundle</packaging>
+    <name>APPC Chef Adapter - Bundle</name>
 
+    <properties>
+        <licenseDir>${project.parent.parent.parent.basedir}</licenseDir>
+    </properties>
 
-		<dependency>
-			<groupId>org.codehaus.jackson</groupId>
-			<artifactId>jackson-jaxrs</artifactId>
-			<version>1.9.12</version>
-		</dependency>
+    <dependencies>
+        <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+            <version>20160810</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore</artifactId>
+            <version>4.4.4</version>
+        </dependency>
 
-		<dependency>
-			<groupId>org.apache.httpcomponents</groupId>
-			<artifactId>httpclient</artifactId>
-			<version>4.5.1</version>
-		</dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcpkix-jdk15on</artifactId>
+            <version>1.55</version>
+        </dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <version>1.55</version>
+        </dependency>
+        <dependency>
+            <groupId>org.openecomp.appc</groupId>
+            <artifactId>appc-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-api</artifactId>
+            <version>7.0</version>
+        </dependency>
 
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
+        <dependency>
+            <groupId>com.att.cdp</groupId>
+            <artifactId>cdp-pal-common</artifactId>
+            <scope>compile</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.openecomp.sdnc.core</groupId>
-			<artifactId>sli-common</artifactId>
-			<scope>compile</scope>
-			<!-- Added exclusion to prevent missing dependency issue on dblib -->
-			<exclusions>
-				<exclusion>
-					<groupId>org.openecomp.sdnc.core</groupId>
-					<artifactId>dblib-provider</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
+        <dependency>
+            <groupId>com.att.cdp</groupId>
+            <artifactId>cdp-pal-openstack</artifactId>
+            <scope>compile</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.openecomp.sdnc.core</groupId>
-			<artifactId>sli-provider</artifactId>
-			<scope>compile</scope>
-			<!-- Added exclusion to prevent missing dependency issue on dblib -->
-			<exclusions>
-				<exclusion>
-					<groupId>org.openecomp.sdnc.core</groupId>
-					<artifactId>dblib-provider</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
+        <dependency>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+        </dependency>
 
-		<dependency>
-			<groupId>equinoxSDK381</groupId>
-			<artifactId>org.eclipse.osgi</artifactId>
-		</dependency>
+        <!-- Jersey support needed for OpenStack connector and API version logic -->
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-client</artifactId>
+        </dependency>
 
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-		</dependency>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-json</artifactId>
+        </dependency>
 
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>jcl-over-slf4j</artifactId>
-		</dependency>
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>2.1</version>
+        </dependency>
 
+        <dependency>
+            <groupId>javax.xml</groupId>
+            <artifactId>jaxp-api</artifactId>
+            <version>1.4.2</version>
+        </dependency>
 
-		<dependency>
-			<groupId>com.vmware</groupId>
-			<artifactId>vijava</artifactId>
-			<version>5.1</version>
-			<scope>compile</scope>
-		</dependency>
+        <!-- Needed to run test cases -->
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-common</artifactId>
+            <version>2.9.1</version>
+        </dependency>
 
-		<dependency>
-			<groupId>xerces</groupId>
-			<artifactId>xerces</artifactId>
-			<version>2.4.0</version>
-			<scope>provided</scope>
-		</dependency>
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-jaxrs</artifactId>
+            <version>1.9.12</version>
+        </dependency>
 
-	</dependencies>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.5.1</version>
+        </dependency>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>appc-chef-adapter</Bundle-SymbolicName>
-						<Bundle-Activator>org.openecomp.appc.adapter.chef.ChefActivator</Bundle-Activator>
-						<Export-Package>org.openecomp.appc.adapter.chef</Export-Package>
-						<Import-Package>org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.vmware.*,org.apache.xerces.*,javax.net.*,javax.net.ssl.*,org.xml.sax.*,javax.naming.*,javax.security.auth.*</Import-Package>
-						<Embed-Dependency>*;scope=compile|runtime;artifactId=!sli-common|!appc-common|org.eclipse.osgi|slf4j-api|jcl-over-slf4j|xml-apis</Embed-Dependency>
-						<Embed-Transitive>true</Embed-Transitive>
-					</instructions>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
 
-	<manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation> 
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
+        <dependency>
+            <groupId>org.openecomp.sdnc.core</groupId>
+            <artifactId>sli-common</artifactId>
+            <scope>compile</scope>
+            <!-- Added exclusion to prevent missing dependency issue on dblib -->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.openecomp.sdnc.core</groupId>
+                    <artifactId>dblib-provider</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.openecomp.sdnc.core</groupId>
+            <artifactId>sli-provider</artifactId>
+            <scope>compile</scope>
+            <!-- Added exclusion to prevent missing dependency issue on dblib -->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.openecomp.sdnc.core</groupId>
+                    <artifactId>dblib-provider</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>equinoxSDK381</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.1.31</version>
+            <type>jar</type>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.vmware</groupId>
+            <artifactId>vijava</artifactId>
+            <version>5.1</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>xerces</artifactId>
+            <version>2.4.0</version>
+            <scope>provided</scope>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>appc-chef-adapter</Bundle-SymbolicName>
+                        <Bundle-Activator>org.openecomp.appc.adapter.chef.ChefActivator</Bundle-Activator>
+                        <Export-Package>org.openecomp.appc.adapter.chef</Export-Package>
+                        <Import-Package>
+                            org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.vmware.*,org.apache.xerces.*,javax.net.*,javax.net.ssl.*,org.xml.sax.*,javax.xml.bind.*,javax.naming.*
+                        </Import-Package>
+                        <Embed-Dependency>
+                            *;scope=compile|runtime;artifactId=!sli-common|!appc-common|org.eclipse.osgi|slf4j-api|jcl-over-slf4j|mysql-connector-java|xml-apis
+                        </Embed-Dependency>
+                        <Embed-Transitive>true</Embed-Transitive>
+                    </instructions>
+
+                    <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefActivator.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefActivator.java
index 5485a70..fb1ae67 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefActivator.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefActivator.java
@@ -68,7 +68,7 @@
     /**
      * The logger to be used
      */
-    private static final EELFLogger logger = EELFManager.getInstance().getLogger(ChefActivator.class);
+    private final EELFLogger logger = EELFManager.getInstance().getLogger(ChefActivator.class);
 
     /**
      * The configuration object used to configure this bundle
@@ -81,7 +81,7 @@
      * <p>
      * This method must complete and return to its caller in a timely manner.
      * </p>
-     * 
+     *
      * @param context
      *            The execution context of the bundle being started.
      * @throws java.lang.Exception
@@ -97,7 +97,7 @@
         configuration = ConfigurationFactory.getConfiguration();
         String appName = configuration.getProperty(Constants.PROPERTY_APPLICATION_NAME);
         logger.info(Msg.COMPONENT_INITIALIZING, appName, "chef adapter");
-        adapter = new ChefAdapterImpl(configuration.getProperties());
+        adapter = new ChefAdapterImpl();
         if (registration == null) {
             logger.info(Msg.REGISTERING_SERVICE, appName, adapter.getAdapterName(),
                 ChefAdapter.class.getSimpleName());
@@ -115,7 +115,7 @@
      * <p>
      * This method must complete and return to its caller in a timely manner.
      * </p>
-     * 
+     *
      * @param context
      *            The execution context of the bundle being stopped.
      * @throws java.lang.Exception
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefAdapter.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefAdapter.java
index adf7e9a..3af9637 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefAdapter.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/ChefAdapter.java
@@ -42,7 +42,7 @@
  */
 public interface ChefAdapter extends SvcLogicJavaPlugin {
 
-	 /**
+     /**
      * The type of provider to be accessed to locate and operate on a virtual machine instance. This is used to load the
      * correct provider support through the CDP IaaS abstraction layer and can be OpenStackProvider, BareMetalProvider,
      * or any other supported provider type.
@@ -82,7 +82,7 @@
      * URL of the server)</dd>
      * </dl>
      * </p>
-     * 
+     *
      * @param properties
      *            A map of name-value pairs that supply the parameters needed by this method. The properties needed are
      *            defined above.
@@ -112,7 +112,7 @@
      * URL of the server)</dd>
      * </dl>
      * </p>
-     * 
+     *
      * @param properties
      *            A map of name-value pairs that supply the parameters needed by this method. The properties needed are
      *            defined above.
@@ -142,7 +142,7 @@
      * URL of the server)</dd>
      * </dl>
      * </p>
-     * 
+     *
      * @param properties
      *            A map of name-value pairs that supply the parameters needed by this method. The properties needed are
      *            defined above.
@@ -172,7 +172,7 @@
      * URL of the server)</dd>
      * </dl>
      * </p>
-     * 
+     *
      * @param properties
      *            A map of name-value pairs that supply the parameters needed by this method. The properties needed are
      *            defined above.
@@ -188,7 +188,7 @@
 
     /**
      * Returns the symbolic name of the adapter
-     * 
+     *
      * @return The adapter name
      */
     String getAdapterName();
@@ -196,33 +196,25 @@
    // Server evacuateServer(Map<String, String> params, SvcLogicContext ctx) throws APPCException;
 
     //Server migrateServer(Map<String, String> params, SvcLogicContext ctx) throws APPCException;
-    
+
     void trigger(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void chefGet(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void chefPut(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void chefPost(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void chefDelete(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void nodeObejctBuilder(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void checkPushJob(Map<String, String> params, SvcLogicContext ctx) ;
 
     void pushJob(Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void retrieveData (Map<String, String> params, SvcLogicContext ctx) ;
-    
+
     void combineStrings (Map<String, String> params, SvcLogicContext ctx) ;
-    
-    void VnfcEnvironment (Map<String, String> params, SvcLogicContext ctx) ;
-    
-    void VnfcNodeobjects (Map<String, String> params, SvcLogicContext ctx) ;
-    
-    void VnfcPushJob (Map<String, String> params, SvcLogicContext ctx) ;
-    
-    void fetchResults (Map<String, String> params, SvcLogicContext ctx) ;
 
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/ApiMethod.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/ApiMethod.java
index dd7c862..19e381e 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/ApiMethod.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/ApiMethod.java
@@ -45,128 +45,125 @@
 import org.apache.http.ssl.SSLContexts;
 
 public class ApiMethod {
-	private HttpClient client = null;
-	protected HttpRequestBase method = null;
-	protected HttpResponse response = null;
-	protected String reqBody = "";
-	protected String userId = "";
-	protected String pemPath = "";
-	protected String chefPath = "";
-	protected String organizations = "";
-	protected int resCode=0;
-	protected String responseBody="";
-	private String methodName = "GET";
-	public String test = "";
-	private int returnCode;
-	final String KEY_STORE_PATH = "/etc/chef/trusted_certs/mykeystore.jks";
-	final String KEY_STORE_PASSWORD = "adminadmin";
-	static
-{
-	System.setProperty("javax.net.ssl.trustStore", "/opt/app/bvc/chef/chefServerSSL.jks");
-	System.setProperty("javax.net.ssl.trustStorePassword", "adminadmin");
-		}
-	public ApiMethod(String methodName) {
+    private HttpClient client = null;
+    protected HttpRequestBase method = null;
+    protected HttpResponse response = null;
+    protected String reqBody = "";
+    protected String userId = "";
+    protected String pemPath = "";
+    protected String chefPath = "";
+    protected String organizations = "";
+    protected int resCode=0;
+    protected String responseBody="";
+    private String methodName = "GET";
+    public String test = "";
+    private int returnCode;
 
-		client=HttpClients.createDefault();
-		this.methodName = methodName;
-	}
+    public ApiMethod(String methodName) {
+        client=HttpClients.createDefault();
+        this.methodName = methodName;
+    }
 
-	public ApiMethod execute() {
-		String hashedPath = Utils.sha1AndBase64("/organizations/"+organizations+chefPath);
-		String hashedBody = Utils.sha1AndBase64(reqBody);
+    public ApiMethod execute() {
+        String hashedPath = Utils.sha1AndBase64("/organizations/"+organizations+chefPath);
+        String hashedBody = Utils.sha1AndBase64(reqBody);
 
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-		sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
-		String timeStamp = sdf.format(new Date());
-		timeStamp = timeStamp.replace(" ", "T");
-		timeStamp = timeStamp + "Z";
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
+        String timeStamp = sdf.format(new Date());
+        timeStamp = timeStamp.replace(" ", "T");
+        timeStamp = timeStamp + "Z";
 
-		StringBuilder sb = new StringBuilder();
-		sb.append("Method:").append(methodName).append("\n");
-		sb.append("Hashed Path:").append(hashedPath).append("\n");
-		sb.append("X-Ops-Content-Hash:").append(hashedBody).append("\n");
-		sb.append("X-Ops-Timestamp:").append(timeStamp).append("\n");
-		sb.append("X-Ops-UserId:").append(userId);
-		test = test + "sb " + sb + "\n";
+        StringBuilder sb = new StringBuilder();
+        sb.append("Method:").append(methodName).append("\n");
+        sb.append("Hashed Path:").append(hashedPath).append("\n");
+        sb.append("X-Ops-Content-Hash:").append(hashedBody).append("\n");
+        sb.append("X-Ops-Timestamp:").append(timeStamp).append("\n");
+        sb.append("X-Ops-UserId:").append(userId);
+        test = test + "sb " + sb + "\n";
 
-		String auth_String = Utils.signWithRSA(sb.toString(), pemPath);
-		String[] auth_headers = Utils.splitAs60(auth_String);
+        String auth_String = Utils.signWithRSA(sb.toString(), pemPath);
+        String[] auth_headers = Utils.splitAs60(auth_String);
 
-		method.addHeader("Content-type", "application/json");
-		method.addHeader("X-Ops-Timestamp", timeStamp);
-		method.addHeader("X-Ops-Userid", userId);
-		method.addHeader("X-Chef-Version", "12.4.1");
-		method.addHeader("Accept", "application/json");
-		method.addHeader("X-Ops-Content-Hash", hashedBody);
-		method.addHeader("X-Ops-Sign", "version=1.0");
+        method.addHeader("Content-type", "application/json");
+        method.addHeader("X-Ops-Timestamp", timeStamp);
+        method.addHeader("X-Ops-Userid", userId);
+        method.addHeader("X-Chef-Version", "12.4.1");
+        method.addHeader("Accept", "application/json");
+        method.addHeader("X-Ops-Content-Hash", hashedBody);
+        method.addHeader("X-Ops-Sign", "version=1.0");
 
-		for (int i = 0; i < auth_headers.length; i++) {
-			method.addHeader("X-Ops-Authorization-" + (i + 1), auth_headers[i]);
-		}
+        for (int i = 0; i < auth_headers.length; i++) {
+            method.addHeader("X-Ops-Authorization-" + (i + 1), auth_headers[i]);
+        }
+        /*
+         * test=test+this.method.getMethod()+"\n"; Header[]
+         * RHS=this.method.getHeaders(); for (int i = 0; i < RHS.length; i++) {
+         * test=test+RHS[i]+"\n"; } test=test+this.reqBody+"\n";
+         */
+        try{
+        response = client.execute(method);
+        resCode = response.getStatusLine().getStatusCode();
+        HttpEntity entity1 = response.getEntity();
+        responseBody = EntityUtils.toString(entity1);}
+        catch(Exception ex){
+            resCode=500;
+            responseBody=ex.getMessage();
+        }
+        return this;
+    }
 
-		try{
-		response = client.execute(method);
-		resCode = response.getStatusLine().getStatusCode();
-		HttpEntity entity1 = response.getEntity();
-		responseBody = EntityUtils.toString(entity1);}
-		catch(Exception ex){
-			resCode=500;
-			responseBody=ex.getMessage();
-		}
-		return this;
-	}
+    public void setHeaders(Header[] headers) {
+        for (Header header : headers) {
+            this.method.addHeader(header);
+        }
+    }
 
-	public void setHeaders(Header[] headers) {
-		for (Header header : headers) {
-			this.method.addHeader(header);
-		}
-	}
+    public String getResponseBodyAsString() {
+        return responseBody;
+    }
 
-	public String getResponseBodyAsString() {
-		return responseBody;
-	}
+    public int getReturnCode() {
+        return resCode;
+    }
 
-	public int getReturnCode() {
-		return resCode;
-	}
+    public String getReqBody() {
+        return reqBody;
+    }
 
-	public String getReqBody() {
-		return reqBody;
-	}
+    public void setReqBody(String body) {
+        this.reqBody = body;
+    }
 
-	public void setReqBody(String body) {
-		this.reqBody = body;
-	}
+    public String getUserId() {
+        return userId;
+    }
 
-	public String getUserId() {
-		return userId;
-	}
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
 
-	public void setUserId(String userId) {
-		this.userId = userId;
-	}
+    public String getPemPath() {
+        return pemPath;
+    }
 
-	public String getPemPath() {
-		return pemPath;
-	}
+    public void setPemPath(String pemPath) {
+        this.pemPath = pemPath;
+    }
 
-	public void setPemPath(String pemPath) {
-		this.pemPath = pemPath;
-	}
+    public String getChefPath() {
+        return chefPath;
+    }
 
-	public String getChefPath() {
-		return chefPath;
-	}
+    public void setChefPath(String chefPath) {
+        this.chefPath = chefPath;
+    }
 
-	public void setChefPath(String chefPath) {
-		this.chefPath = chefPath;
-	}
+    public String getOrganizations() {
+        return organizations;
+    }
 
-	public String getOrganizations() {
-		return organizations;
-	}
-
-	public void setOrganizations(String organizations) {
-		this.organizations = organizations;
-	}
+    public void setOrganizations(String organizations) {
+        this.organizations = organizations;
+    }
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Delete.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Delete.java
index 7793114..85206af 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Delete.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Delete.java
@@ -28,9 +28,9 @@
 
 public class Delete extends ApiMethod{
 
-	public Delete(HttpDelete method) {
-		super("DELETE");
-		this.method = method;
-	}
+    public Delete(HttpDelete method) {
+        super("DELETE");
+        this.method = method;
+    }
 
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Get.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Get.java
index 6cf3660..948bff6 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Get.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Get.java
@@ -28,9 +28,8 @@
 
 public class Get extends ApiMethod{
 
-	public Get(HttpGet method) {
-		super("GET");
-		this.method = method;
-	}
-
+    public Get(HttpGet method) {
+        super("GET");
+        this.method = method;
+    }
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Post.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Post.java
index 417f84e..5e00b09 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Post.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Post.java
@@ -29,18 +29,18 @@
 
 public class Post extends ApiMethod{
 
-	public Post(HttpRequestBase method) {
-		super("POST");
-		this.method = method;
-	}
-	
-	public ApiMethod body(String body){
-		this.reqBody = body;
-		StringEntity params =new StringEntity (body,"UTF-8");
-		params.setContentType("application/json");	 
-		HttpPost post = (HttpPost) method;
-		post.setEntity(params);
-		return this;
-	}
+    public Post(HttpRequestBase method) {
+        super("POST");
+        this.method = method;
+    }
+
+    public ApiMethod body(String body){
+        this.reqBody = body;
+        StringEntity params =new StringEntity (body,"UTF-8");
+        params.setContentType("application/json");
+        HttpPost post = (HttpPost) method;
+        post.setEntity(params);
+        return this;
+    }
 
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Put.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Put.java
index 8dea529..fa57c11 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Put.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefapi/Put.java
@@ -29,18 +29,18 @@
 
 public class Put extends ApiMethod{
 
-	public Put(HttpRequestBase method) {
-		super("PUT");
-		this.method = method;
-	}
-	
-	public ApiMethod body(String body){
-		this.reqBody = body;
-		StringEntity params =new StringEntity (body,"UTF-8");
-		params.setContentType("application/json");	 
-		HttpPut put = (HttpPut) method;
-		put.setEntity(params);
-		return this;
-	}
+    public Put(HttpRequestBase method) {
+        super("PUT");
+        this.method = method;
+    }
+
+    public ApiMethod body(String body){
+        this.reqBody = body;
+        StringEntity params =new StringEntity (body,"UTF-8");
+        params.setContentType("application/json");
+        HttpPut put = (HttpPut) method;
+        put.setEntity(params);
+        return this;
+    }
 
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/ChefApiClient.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/ChefApiClient.java
index 945ebc2..7aa6319 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/ChefApiClient.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/ChefApiClient.java
@@ -27,66 +27,61 @@
 import org.openecomp.appc.adapter.chef.chefapi.*;
 
 public class ChefApiClient {
-	private String endpoint;
-	private String userId;
-	private String pemPath;
-	private String organizations;
+    private String endpoint;
+    private String userId;
+    private String pemPath;
+    private String organizations;
 
-	
+    /**
+     *
+     * @param userId user name correspond to the pem key
+     * @param pemPath path of the auth key
+     * @param endpoint chef api server address
+     */
+    public ChefApiClient(String userId, String pemPath, String endpoint,String organizations){
+        this.userId = userId;
+        this.pemPath = pemPath;
+        this.endpoint = endpoint;
+        this.organizations=organizations;
+    }
 
-	 
-	/**
-	 *
-	 * @param userId user name correspond to the pem key
-	 * @param pemPath path of the auth key
-	 * @param endpoint chef api server address
-	 */
-	public ChefApiClient(String userId, String pemPath, String endpoint,String organizations){
-		this.userId = userId;
-		this.pemPath = pemPath;
-		this.endpoint = endpoint;
-		this.organizations=organizations;
-	}
+    /**
+     *
+     * @param path in the endpoint. e.g /clients
+     * @return
+     */
+    public Get get(String path){
+        Get get = new Get(new HttpGet(endpoint+path));
+        get.setPemPath(pemPath);
+        get.setUserId(userId);
+        get.setOrganizations(organizations);
+        get.setChefPath(path);
+        return get;
+    }
 
-	/**
-	 *
-	 * @param path in the endpoint. e.g /clients
-	 * @return
-	 */
-	public Get get(String path){
-		Get get = new Get(new HttpGet(endpoint+path));
-		get.setPemPath(pemPath);
-		get.setUserId(userId);
-		get.setOrganizations(organizations);
-		get.setChefPath(path);
-		return get;
-	}
-
-	public Put put(String path){
-		Put put = new Put(new HttpPut(endpoint+path));
-		put.setPemPath(pemPath);
-		put.setUserId(userId);
-		put.setOrganizations(organizations);
-		put.setChefPath(path);
-		return put;
+    public Put put(String path){
+        Put put = new Put(new HttpPut(endpoint+path));
+        put.setPemPath(pemPath);
+        put.setUserId(userId);
+        put.setOrganizations(organizations);
+        put.setChefPath(path);
+        return put;
    }
-	public Post post(String path){
-		Post post = new Post(new HttpPost(endpoint+path));
-		post.setPemPath(pemPath);
-		post.setUserId(userId);
-		post.setOrganizations(organizations);
-		post.setChefPath(path);
-		return post;
-	}
-	
-	public Delete delete(String path){
-	    Delete del = new Delete(new HttpDelete(endpoint+path));
-	    del.setPemPath(pemPath);
-	    del.setUserId(userId);
-	    del.setOrganizations(organizations);
-	    del.setChefPath(path);
-	    return del;
-	}
+    public Post post(String path){
+        Post post = new Post(new HttpPost(endpoint+path));
+        post.setPemPath(pemPath);
+        post.setUserId(userId);
+        post.setOrganizations(organizations);
+        post.setChefPath(path);
+        return post;
+    }
 
-	
+    public Delete delete(String path){
+        Delete del = new Delete(new HttpDelete(endpoint+path));
+        del.setPemPath(pemPath);
+        del.setUserId(userId);
+        del.setOrganizations(organizations);
+        del.setChefPath(path);
+        return del;
+    }
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/Utils.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/Utils.java
index 07c983a..d20228e 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/Utils.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/chefclient/Utils.java
@@ -44,64 +44,70 @@
 import org.bouncycastle.openssl.PEMKeyPair;
 
 public class Utils {
-	private Utils(){}
-	
-	public static String sha1AndBase64(String inStr) {
-		MessageDigest md = null;
-		String outStr = null;
-		byte[] outbty = null;
-		try {
-			md = MessageDigest.getInstance("SHA-1"); 
-			byte[] digest = md.digest(inStr.getBytes()); 
-			outbty = Base64.encode(digest);
-		} catch (NoSuchAlgorithmException nsae) {
-			nsae.printStackTrace();
-		}
-		return new String(outbty);
-	}
-	
-	public static String signWithRSA(String inStr, String pemPath) {
-		byte[] outStr = null;
-		Security.addProvider(new BouncyCastleProvider());
-		try  (FileReader fr = new FileReader(pemPath);
-				BufferedReader br = new BufferedReader(fr)) {
-			PEMParser pemParser = new PEMParser(br);
-			JcaPEMKeyConverter converter = new JcaPEMKeyConverter();
-			Object object = pemParser.readObject();
-			KeyPair kp =  converter.getKeyPair((PEMKeyPair) object);;
-			PrivateKey privateKey = kp.getPrivate();
-			Signature instance = Signature.getInstance("RSA");
-			instance.initSign(privateKey);
-			instance.update(inStr.getBytes());
+    private Utils(){}
 
-			byte[] signature = instance.sign();
-			outStr = Base64.encode(signature);
-			String tmp = new String(outStr);
-		} catch (InvalidKeyException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		} catch (SignatureException e) {
-			e.printStackTrace();
-		} catch (NoSuchAlgorithmException e) {
-			e.printStackTrace();
-		}
-		return new String(outStr);
-	}
-	
-	public static String[] splitAs60(String inStr) {
-		int count = inStr.length() / 60;
-		String[] out = new String[count + 1];
+    public static String sha1AndBase64(String inStr) {
+        MessageDigest md = null;
+        String outStr = null;
+        byte[] outbty = null;
+        try {
+            md = MessageDigest.getInstance("SHA-1");
+            byte[] digest = md.digest(inStr.getBytes());
+            outbty = Base64.encode(digest);
+        } catch (NoSuchAlgorithmException nsae) {
+            nsae.printStackTrace();
+        }
+        return new String(outbty);
+    }
 
-		for (int i = 0; i < count; i++) {
-			String tmp = inStr.substring(i * 60, i * 60 + 60);
-			out[i] = tmp;
-		}
-		if (inStr.length() > count * 60) {
-			String tmp = inStr.substring(count * 60, inStr.length());
-			out[count] = tmp;
-		}
-		return out;
-	}
-	
+    public static String signWithRSA(String inStr, String pemPath) {
+        byte[] outStr = null;
+        BufferedReader br = null;
+        try {
+            br = new BufferedReader(new FileReader(pemPath));
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        }
+        Security.addProvider(new BouncyCastleProvider());
+        try {
+
+            PEMParser pemParser = new PEMParser(br);
+            JcaPEMKeyConverter converter = new JcaPEMKeyConverter();
+            Object object = pemParser.readObject();
+            KeyPair kp =  converter.getKeyPair((PEMKeyPair) object);;
+            PrivateKey privateKey = kp.getPrivate();
+            Signature instance = Signature.getInstance("RSA");
+            instance.initSign(privateKey);
+            instance.update(inStr.getBytes());
+
+            byte[] signature = instance.sign();
+            outStr = Base64.encode(signature);
+            String tmp = new String(outStr);
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (SignatureException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        }
+        return new String(outStr);
+    }
+
+    public static String[] splitAs60(String inStr) {
+        int count = inStr.length() / 60;
+        String[] out = new String[count + 1];
+
+        for (int i = 0; i < count; i++) {
+            String tmp = inStr.substring(i * 60, i * 60 + 60);
+            out[i] = tmp;
+        }
+        if (inStr.length() > count * 60) {
+            String tmp = inStr.substring(count * 60, inStr.length());
+            out[count] = tmp;
+        }
+        return out;
+    }
+
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java
index 5326b66..048d362 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java
@@ -24,747 +24,491 @@
 
 package org.openecomp.appc.adapter.chef.impl;
 
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.regex.Pattern;
-import java.util.*;
-
-
-import org.openecomp.appc.Constants;
-import org.openecomp.appc.adapter.chef.ChefAdapter;
-import org.openecomp.appc.adapter.chef.chefapi.*;
-import org.openecomp.appc.adapter.chef.chefclient.*;
-import org.openecomp.appc.configuration.Configuration;
-import org.openecomp.appc.configuration.ConfigurationFactory;
-import org.openecomp.appc.exceptions.APPCException;
-import org.openecomp.appc.exceptions.UnknownProviderException;
-import org.openecomp.appc.i18n.Msg;
-import org.openecomp.appc.pool.Pool;
-import org.openecomp.appc.pool.PoolExtensionException;
-import org.openecomp.appc.util.StructuredPropertyHelper;
-import org.openecomp.appc.util.StructuredPropertyHelper.Node;
-import com.att.cdp.exceptions.ContextConnectionException;
-import com.att.cdp.exceptions.ResourceNotFoundException;
-import com.att.cdp.exceptions.TimeoutException;
-import com.att.cdp.exceptions.ZoneException;
-import com.att.cdp.pal.util.StringHelper;
-import com.att.cdp.zones.ComputeService;
-import com.att.cdp.zones.Context;
-import com.att.cdp.zones.ImageService;
-import com.att.cdp.zones.Provider;
-import com.att.cdp.zones.model.Image;
-import com.att.cdp.zones.model.Server;
-import com.att.cdp.zones.model.ServerBootSource;
-import com.att.cdp.zones.model.Server.Status;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
-import com.att.eelf.i18n.EELFResourceManager;
-import org.openecomp.sdnc.sli.SvcLogicContext;
-import org.slf4j.MDC;
-
-import java.net.InetAddress;
-import java.util.Locale;
-import java.util.UUID;
-
-import org.apache.http.*;
-import org.apache.http.client.*;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.*;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
-
-import static com.att.eelf.configuration.Configuration.*;
-
-import java.io.IOException;
-
-import java.net.InetAddress;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Properties;
-//chef
-import org.openecomp.appc.adapter.chef.chefapi.*;
-import org.openecomp.appc.adapter.chef.chefclient.*;
-
-//json
-import org.json.JSONArray;
-import org.json.JSONException;
 import org.json.JSONObject;
+import org.openecomp.appc.Constants;
+import org.openecomp.appc.adapter.chef.ChefAdapter;
+import org.openecomp.appc.adapter.chef.chefapi.ApiMethod;
+import org.openecomp.appc.adapter.chef.chefclient.ChefApiClient;
+import org.openecomp.appc.configuration.Configuration;
+import org.openecomp.appc.configuration.ConfigurationFactory;
+import org.openecomp.sdnc.sli.SvcLogicContext;
+
+import java.io.File;
+import java.util.Map;
+
 /**
  * This class implements the {@link ChefAdapter} interface. This interface
  * defines the behaviors that our service provides.
  */
 public class ChefAdapterImpl implements ChefAdapter {
+    //chef server Initialize variable
+    private String clientName="";
+    private String clientPrivatekey="";
+    private String chefserver="";
+    private String serverAddress="";
+    private String organizations="";
 
-	// chef server Initialize variable
-	public String clientName = "";
-	public String clientPrivatekey = "";
-	public String chefserver = "";
-	public String serverAddress = "";
-	public String organizations = "";
-	@SuppressWarnings("nls")
-	public static final String MDC_ADAPTER = "adapter";
+    /**
+     * The constant for the status code for a successful outcome
+     */
+    private static final String OUTCOME_SUCCESS = "success";
 
-	@SuppressWarnings("nls")
-	public static final String MDC_SERVICE = "service";
+    /**
+     * The logger to be used
+     */
+    private final EELFLogger logger = EELFManager.getInstance().getLogger(ChefAdapterImpl.class);
 
-	@SuppressWarnings("nls")
-	public static final String OUTCOME_FAILURE = "failure";
+    /**
+     * A reference to the adapter configuration object.
+     */
+    private Configuration configuration;
 
-	@SuppressWarnings("nls")
-	public static final String OUTCOME_SUCCESS = "success";
+    /**
+     * This default constructor is used as a work around because the activator
+     * wasnt getting called
+     */
+    public ChefAdapterImpl() {
+        initialize();
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER = "provider";
+    }
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_IDENTITY = "identity";
+    /**
+     * This constructor is used primarily in the test cases to bypass
+     * initialization of the adapter for isolated, disconnected testing
+     *
+     * @param initialize
+     *            True if the adapter is to be initialized, can false if not
+     */
+    public ChefAdapterImpl(boolean initialize) {
+        configuration = ConfigurationFactory.getConfiguration();
+        if (initialize) {
+            initialize();
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_NAME = "name";
+        }
+    }
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_TENANT = "tenant";
+    public ChefAdapterImpl(String key) {
+        initialize(key);
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_TENANT_NAME = "name";
+    }
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_TENANT_PASSWORD = "password"; // NOSONAR
+    /**
+     * Returns the symbolic name of the adapter
+     *
+     * @return The adapter name
+     * @see org.openecomp.appc.adapter.chef.ChefAdapter#getAdapterName()
+     */
+    @Override
+    public String getAdapterName() {
+        return configuration.getProperty(Constants.PROPERTY_ADAPTER_NAME);
+    }
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_TENANT_USERID = "userid";
+    private void X__________________________________X() {
+    }
 
-	@SuppressWarnings("nls")
-	public static final String PROPERTY_PROVIDER_TYPE = "type";
+    /**
+     * @see org.openecomp.appc.adapter.chef.ChefAdapter#evacuateServer(java.util.Map,
+     *      org.openecomp.sdnc.sli.SvcLogicContext)
+     */
 
+    private void X___________________________________X() {
+    }
 
-	private static final EELFLogger logger = EELFManager.getInstance().getLogger(ChefAdapterImpl.class);
+    /**
+     * @see org.openecomp.appc.adapter.chef.ProviderAdapter#rebuildServer(java.util.Map,
+     *      org.openecomp.sdnc.sli.SvcLogicContext)
+     */
 
-	private static final char LPAREN = '(';
 
-	private static final char NL = '\n';
+    /**
+     * build node object
+     */
 
-	private static final char QUOTE = '\'';
+    @SuppressWarnings("nls")
+    @Override
+    public void nodeObejctBuilder(Map<String, String> params, SvcLogicContext ctx) {
+        logger.info("nodeObejctBuilder");
+        String name = params.get("org.openecomp.appc.instance.nodeobject.name");
+        String normal = params.get("org.openecomp.appc.instance.nodeobject.normal");
+        String overrides = params.get("org.openecomp.appc.instance.nodeobject.overrides");
+        String defaults = params.get("org.openecomp.appc.instance.nodeobject.defaults");
+        String run_list = params.get("org.openecomp.appc.instance.nodeobject.run_list");
+        String chef_environment = params.get("org.openecomp.appc.instance.nodeobject.chef_environment");
+        String nodeObject = "{\"json_class\":\"Chef::Node\",\"default\":{" + defaults
+            + "},\"chef_type\":\"node\",\"run_list\":[" + run_list + "],\"override\":{" + overrides
+            + "},\"normal\": {" + normal + "},\"automatic\":{},\"name\":\"" + name + "\",\"chef_environment\":\""
+            + chef_environment + "\"}";
+        logger.info(nodeObject);
 
-	private static final char RPAREN = ')';
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        svcLogic.setAttribute("org.openecomp.appc.chef.nodeObject", nodeObject);
 
-	private static final char SPACE = ' ';
+    }
 
-	public ChefAdapterImpl() {
-		initialize();
+    /**
+     * Nicolas send get request to chef server
+     */
+    public void chefInfo(Map<String, String> params) {
+        clientName = params.get("org.openecomp.appc.instance.username");
+        serverAddress = params.get("org.openecomp.appc.instance.serverAddress");
+        organizations = params.get("org.openecomp.appc.instance.organizations");
+        chefserver = "https://" + serverAddress + "/organizations/" + organizations;
+        clientPrivatekey = "/opt/app/bvc/chef/" + serverAddress + "/" + organizations + "/" + clientName + ".pem";
+    }
 
-	}
+    public Boolean privateKeyCheck() {
+        File f = new File(clientPrivatekey);
+        return f.exists();
+    }
 
-	public ChefAdapterImpl(boolean initialize) {
+    @SuppressWarnings("nls")
+    @Override
+    public void retrieveData(Map<String, String> params, SvcLogicContext ctx) {
+        String allConfigData = params.get("org.openecomp.appc.instance.allConfig");
+        String key = params.get("org.openecomp.appc.instance.key");
+        String dgContext = params.get("org.openecomp.appc.instance.dgContext");
+        JSONObject josnConfig = new JSONObject(allConfigData);
 
-		if (initialize) {
-			initialize();
+        String contextData;
+        try {
+            contextData = josnConfig.getString(key);
+        } catch (Exception ex) {
+            try {
+                contextData = josnConfig.getJSONObject(key).toString();
+            } catch (Exception exc) {
+                contextData = josnConfig.getJSONArray(key).toString();
+            }
+        }
 
-		}
-	}
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        svcLogic.setAttribute(dgContext, contextData);
+    }
 
-	public ChefAdapterImpl(Properties props) {
-		initialize();
+    @SuppressWarnings("nls")
+    @Override
+    public void combineStrings(Map<String, String> params, SvcLogicContext ctx) {
 
-	}
+        String String1 = params.get("org.openecomp.appc.instance.String1");
+        String String2 = params.get("org.openecomp.appc.instance.String2");
+        String dgContext = params.get("org.openecomp.appc.instance.dgContext");
+        String contextData = String1 + String2;
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        svcLogic.setAttribute(dgContext, contextData);
+    }
 
-	public ChefAdapterImpl(String key) {
-		initialize();
 
-	}
+    /**
+     * Send GET request to chef server
+     */
 
+    @SuppressWarnings("nls")
+    @Override
+    public void chefGet(Map<String, String> params, SvcLogicContext ctx) {
+        logger.info("chef get method");
+        chefInfo(params);
+        String chefAction = params.get("org.openecomp.appc.instance.chefAction");
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        int code;
+        String message;
+        if (privateKeyCheck()) {
+            ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
+            ApiMethod am = cac.get(chefAction);
+            am.execute();
+            code = am.getReturnCode();
+            message = am.getResponseBodyAsString();
+        } else {
+            code = 500;
+            message = "Cannot find the private key in the APPC file system, please load the private key to "
+                + clientPrivatekey;
+        }
+        chefServerResult(rc, Integer.toString(code), message);
 
-	@Override
-	public String getAdapterName() {
-		return "chef adapter";
-	}
+    }
 
+    /**
+     * Send PUT request to chef server
+     */
+    @SuppressWarnings("nls")
+    @Override
+    public void chefPut(Map<String, String> params, SvcLogicContext ctx) {
+        chefInfo(params);
+        String chefAction = params.get("org.openecomp.appc.instance.chefAction");
+        String CHEF_NODE_STR = params.get("org.openecomp.appc.instance.chefRequestBody");
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        int code;
+        String message;
+        if (privateKeyCheck()) {
+            ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
 
-	@SuppressWarnings("nls")
-	@Override
-	public void VnfcEnvironment(Map<String, String> params, SvcLogicContext ctx) {
-		logger.info("environment of VNF-C");
-		chefInfo(params);
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		String env = params.get("Environment");
-		if(env.equals("")){
-			chefServerResult(rc, "200", "Skip Environment block ");}
-		else{
-		JSONObject env_J = new JSONObject(env);
-		String envName = env_J.getString("name");
-		int code;
-		String message = null;
-		if (privateKeyCheck()) {
-			// update the details of an environment on the Chef server.
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-			ApiMethod am = cac.put("/environments/"+envName).body(env);
-			am.execute();
-			code = am.getReturnCode();
-			message = am.getResponseBodyAsString();
-				if(code == 404 ){
-					//need create a new environment
-					am = cac.post("/environments").body(env);
-					am.execute();
-					code = am.getReturnCode();
-					message = am.getResponseBodyAsString();
-				}
-		
-		} else {
-			code = 500;
-			message = "Cannot find the private key in the APPC file system, please load the private key to "
-					+ clientPrivatekey;
-		}
-		chefServerResult(rc, Integer.toString(code), message);
-		}
-	}	
-	
-	
-	@SuppressWarnings("nls")
-	@Override
-	public void VnfcNodeobjects(Map<String, String> params, SvcLogicContext ctx) {
-		logger.info("update the nodeObjects of VNF-C");
-		chefInfo(params);
-		String nodeList_S = params.get("NodeList");
-		String node_S = params.get("Node");
-		nodeList_S = nodeList_S.replace("[","");
-		nodeList_S = nodeList_S.replace("]","");
-		nodeList_S = nodeList_S.replace("\"","");
-		nodeList_S = nodeList_S.replace(" ","");
-		List<String> nodes = Arrays.asList(nodeList_S.split("\\s*,\\s*"));
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		int code=200;
-		String message = null;
-		if (privateKeyCheck()) {
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
+            ApiMethod am = cac.put(chefAction).body(CHEF_NODE_STR);
+            am.execute();
+            code = am.getReturnCode();
+            message = am.getResponseBodyAsString();
+        } else {
+            code = 500;
+            message = "Cannot find the private key in the APPC file system, please load the private key to "
+                + clientPrivatekey;
+        }
+        logger.info(code + "   " + message);
+        chefServerResult(rc, Integer.toString(code), message);
 
-			for(int i = 0; i < nodes.size(); i++){
-				String nodeName=nodes.get(i);
-				JSONObject node_J = new JSONObject(node_S);
-				node_J.remove("name");
-				node_J.put("name",nodeName);
-				String nodeObject=node_J.toString();
-				logger.info(nodeObject);
-				ApiMethod am = cac.put("/nodes/"+nodeName).body(nodeObject);
-				am.execute();
-				code = am.getReturnCode();
-				message = am.getResponseBodyAsString();
-				if(code != 200){
-					break;
-				}
-			
-			}
-		}else{
-			code = 500;
-			message = "Cannot find the private key in the APPC file system, please load the private key to "
-					+ clientPrivatekey;
-			}
-		chefServerResult(rc, Integer.toString(code), message);
-	}
-	
+    }
 
-	@SuppressWarnings("nls")
-	@Override
-	public void VnfcPushJob(Map<String, String> params, SvcLogicContext ctx) {
-		chefInfo(params);
-		String nodeList = params.get("NodeList");
-		String isCallback = params.get("CallbackCapable");
-		String chefAction = "/pushy/jobs";
-		//need work on this
-		String pushRequest="";
-		if(isCallback.equals("true")){
-			String requestId = params.get("RequestId");
-			String callbackUrl = params.get("CallbackUrl");
-			pushRequest="{"+
-					  "\"command\": \"chef-client\","+
-					  "\"run_timeout\": 300,"+
-					  "\"nodes\":" +nodeList +","+
-					  "\"env\": {\"RequestId\": \""+ requestId +"\", \"CallbackUrl\": \""+ callbackUrl +"\"},"+
-					  "\"capture_output\": true"+
-					"}";
-		}else{
-			pushRequest="{"+
-				  "\"command\": \"chef-client\","+
-				  "\"run_timeout\": 300,"+
-				  "\"nodes\":" +nodeList +","+
-				  "\"env\": {},"+
-				  "\"capture_output\": true"+
-				"}";
-		}
-		RequestContext rc = new RequestContext(ctx);
+    /**
+     * Nicolas send Post request to chef server
+     */
 
-		rc.isAlive();
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-		ApiMethod am = cac.post(chefAction).body(pushRequest);
-		
-		am.execute();
-		int code = am.getReturnCode();
-		String message = am.getResponseBodyAsString();
-		if (code == 201) {
-			int startIndex = message.indexOf("jobs") + 5;
-			int endIndex = message.length() - 2;
-			String jobID = message.substring(startIndex, endIndex);
-			svcLogic.setAttribute("jobID", jobID);
-			logger.info(jobID);
-		}
-		chefServerResult(rc, Integer.toString(code), message);
-	}
-	
-	
-	@SuppressWarnings("nls")
-	@Override
-	public void fetchResults (Map<String, String> params, SvcLogicContext ctx) {
-		chefInfo(params);
-		String nodeList_S = params.get("NodeList");
-		nodeList_S = nodeList_S.replace("[","");
-		nodeList_S = nodeList_S.replace("]","");
-		nodeList_S = nodeList_S.replace("\"","");
-		nodeList_S = nodeList_S.replace(" ","");
-		List<String> nodes = Arrays.asList(nodeList_S.split("\\s*,\\s*"));
-		JSONObject Result = new JSONObject();
-		String returnCode= "200";
-		String returnMessage="";
-		for (int i = 0; i < nodes.size(); i++){
-			String node=nodes.get(i);
-			String chefAction="/nodes/"+node;
-			int code;
-			String message = null;
-			if (privateKeyCheck()) {
-				ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-				ApiMethod am = cac.get(chefAction);
-				am.execute();
-				code = am.getReturnCode();
-				message = am.getResponseBodyAsString();
-			} else {
-				code = 500;
-				message = "Cannot find the private key in the APPC file system, please load the private key to "
-						+ clientPrivatekey;
-			}
-			if (code==200){
-				JSONObject nodeResult = new JSONObject();
-				JSONObject allNodeData = new JSONObject(message);
-					String attribute= "PushJobOutput";
-					String resultData;
-					allNodeData=allNodeData.getJSONObject("normal");
-					try {
-						resultData = allNodeData.getString(attribute);
-					} catch (Exception exc1) {
-						try {
-							resultData = allNodeData.getJSONObject(attribute).toString();
-						} catch (Exception exc2) {
-							try {
-								resultData = allNodeData.getJSONArray(attribute).toString();
-							}catch (Exception exc3){
-								returnCode = "500";							
-								returnMessage="cannot find "+attribute;
-								break;
-							}
-						}
-					}
-					nodeResult.put(attribute,resultData);
-				
-				Result.put(node,nodeResult);
-			}else{
-				returnCode="500";
-				returnMessage = message+" Cannot access: "+ node;
-				break;
-			}
-			
-		}
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		if (!returnCode.equals("500")){
-			returnMessage=Result.toString();
-			returnCode="200";
-		}
-		chefServerResult(rc, returnCode, returnMessage);
-	}
+    @SuppressWarnings("nls")
+    @Override
+    public void chefPost(Map<String, String> params, SvcLogicContext ctx) {
+        chefInfo(params);
+        logger.info("chef Post method");
+        logger.info(clientName + " " + clientPrivatekey + " " + chefserver + " " + organizations);
+        String CHEF_NODE_STR = params.get("org.openecomp.appc.instance.chefRequestBody");
+        String chefAction = params.get("org.openecomp.appc.instance.chefAction");
 
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        int code;
+        String message;
+        // should load pem from somewhere else
+        if (privateKeyCheck()) {
+            ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
 
-	
-	/**
-	 * build node object
-	 */
+            // need pass path into it
+            // "/nodes/testnode"
+            ApiMethod am = cac.post(chefAction).body(CHEF_NODE_STR);
+            am.execute();
+            code = am.getReturnCode();
+            message = am.getResponseBodyAsString();
+        } else {
+            code = 500;
+            message = "Cannot find the private key in the APPC file system, please load the private key to "
+                + clientPrivatekey;
+        }
+        logger.info(code + "   " + message);
+        chefServerResult(rc, Integer.toString(code), message);
+    }
 
-	@SuppressWarnings("nls")
-	@Override
-	public void nodeObejctBuilder(Map<String, String> params, SvcLogicContext ctx) {
-		logger.info("nodeObejctBuilder");
-		String name = params.get("org.openecomp.appc.instance.nodeobject.name");
-		String normal = params.get("org.openecomp.appc.instance.nodeobject.normal");
-		String overrides = params.get("org.openecomp.appc.instance.nodeobject.overrides");
-		String defaults = params.get("org.openecomp.appc.instance.nodeobject.defaults");
-		String run_list = params.get("org.openecomp.appc.instance.nodeobject.run_list");
-		String chef_environment = params.get("org.openecomp.appc.instance.nodeobject.chef_environment");
-		String nodeObject = "{\"json_class\":\"Chef::Node\",\"default\":{" + defaults
-				+ "},\"chef_type\":\"node\",\"run_list\":[" + run_list + "],\"override\":{" + overrides
-				+ "},\"normal\": {" + normal + "},\"automatic\":{},\"name\":\"" + name + "\",\"chef_environment\":\""
-				+ chef_environment + "\"}";
-		logger.info(nodeObject);
+    /**
+     * Nicolas send delete request to chef server
+     */
 
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		svcLogic.setAttribute("org.openecomp.appc.chef.nodeObject", nodeObject);
-
-	}
-
-	/**
-	 * Nicolas send get request to chef server
-	 */
-
-	public void chefInfo(Map<String, String> params) {
-		clientName = params.get("org.openecomp.appc.instance.username");
-		serverAddress = params.get("org.openecomp.appc.instance.serverAddress");
-		organizations = params.get("org.openecomp.appc.instance.organizations");
-		chefserver = "https://" + serverAddress + "/organizations/" + organizations;
-		clientPrivatekey = "/opt/app/bvc/chef/" + serverAddress + "/" + organizations + "/" + clientName + ".pem";
-	}
-
-	public Boolean privateKeyCheck() {
-		File f = new File(clientPrivatekey);
-		if (f.exists()) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-	@SuppressWarnings("nls")
-	@Override
-	public void retrieveData(Map<String, String> params, SvcLogicContext ctx) {
-		String contextData = "someValue";
-		String allConfigData = params.get("org.openecomp.appc.instance.allConfig");
-		String key = params.get("org.openecomp.appc.instance.key");
-		String dgContext = params.get("org.openecomp.appc.instance.dgContext");
-		JSONObject josnConfig = new JSONObject(allConfigData);
-		try {
-			contextData = josnConfig.getString(key);
-		} catch (Exception ex) {
-			try {
-				contextData = josnConfig.getJSONObject(key).toString();
-			} catch (Exception exc) {
-				contextData = josnConfig.getJSONArray(key).toString();
-			}
-		}
-
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		svcLogic.setAttribute(dgContext, contextData);
-	}
-
-	@SuppressWarnings("nls")
-	@Override
-	public void combineStrings(Map<String, String> params, SvcLogicContext ctx) {
-
-		String String1 = params.get("org.openecomp.appc.instance.String1");
-		String String2 = params.get("org.openecomp.appc.instance.String2");
-		String dgContext = params.get("org.openecomp.appc.instance.dgContext");
-		String contextData = String1 + String2;
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		svcLogic.setAttribute(dgContext, contextData);
-	}
-	
-	
-	/**
-	 * Send GET request to chef server
-	 */
-
-	@SuppressWarnings("nls")
-	@Override
-	public void chefGet(Map<String, String> params, SvcLogicContext ctx) {
-		logger.info("chef get method");
-		chefInfo(params);
-		String chefAction = params.get("org.openecomp.appc.instance.chefAction");
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		int code;
-		String message = null;
-		if (privateKeyCheck()) {
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-			ApiMethod am = cac.get(chefAction);
-			am.execute();
-			code = am.getReturnCode();
-			message = am.getResponseBodyAsString();
-		} else {
-			code = 500;
-			message = "Cannot find the private key in the APPC file system, please load the private key to "
-					+ clientPrivatekey;
-		}
-		chefServerResult(rc, Integer.toString(code), message);
-
-	}
-
-	/**
-	 *   send put request to chef server
-	 */
-
-	@SuppressWarnings("nls")
-	@Override
-	public void chefPut(Map<String, String> params, SvcLogicContext ctx) {
-		chefInfo(params);
-		String chefAction = params.get("org.openecomp.appc.instance.chefAction");
-		String CHEF_NODE_STR = params.get("org.openecomp.appc.instance.chefRequestBody");
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		int code;
-		String message = null;
-		if (privateKeyCheck()) {
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-
-			ApiMethod am = cac.put(chefAction).body(CHEF_NODE_STR);
-			am.execute();
-			code = am.getReturnCode();
-			message = am.getResponseBodyAsString();
-		} else {
-			code = 500;
-			message = "Cannot find the private key in the APPC file system, please load the private key to "
-					+ clientPrivatekey;
-		}
-		logger.info(code + "   " + message);
-		chefServerResult(rc, Integer.toString(code), message);
-
-	}
-	
-	/**
-	 * Nicolas send Post request to chef server
-	 */
-
-	@SuppressWarnings("nls")
-	@Override
-	public void chefPost(Map<String, String> params, SvcLogicContext ctx) {
-		chefInfo(params);
-		logger.info("chef Post method");
-		logger.info(clientName + " " + clientPrivatekey + " " + chefserver + " " + organizations);
-		String CHEF_NODE_STR = params.get("org.openecomp.appc.instance.chefRequestBody");
-		String chefAction = params.get("org.openecomp.appc.instance.chefAction");
-
-		// attributes="\"reconfig-test\":{\"secret\":\"newpass2\"}";
-		// String CHEF_NODE_STR =
-		// "{\"json_class\":\"Chef::Node\",\"default\":{},\"chef_type\":\"node\",\"run_list\":[\""+runList+"\"],\"override\":{},\"automatic\":{},\"normal\":{"+attributes+"},\"name\":\"testnode\",\"chef_environment\":\"_default\"}";
-		// String CHEF_NODE_STR = "{\"json_class\":\"Chef::Node\"}";
-		// logger.info(vm_url);
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		int code;
-		String message = null;
-		// should load pem from somewhere else
-		if (privateKeyCheck()) {
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-
-			// need pass path into it
-			// "/nodes/testnode"
-			ApiMethod am = cac.post(chefAction).body(CHEF_NODE_STR);
-			am.execute();
-			code = am.getReturnCode();
-			message = am.getResponseBodyAsString();
-		} else {
-			code = 500;
-			message = "Cannot find the private key in the APPC file system, please load the private key to "
-					+ clientPrivatekey;
-		}
-		logger.info(code + "   " + message);
-		chefServerResult(rc, Integer.toString(code), message);
-	}
-
-	/**
-	 * Nicolas send delete request to chef server
-	 */
-
-	@SuppressWarnings("nls")
-	@Override
-	public void chefDelete(Map<String, String> params, SvcLogicContext ctx) {
-		logger.info("chef delete method");
-		chefInfo(params);
-		String chefAction = params.get("org.openecomp.appc.instance.chefAction");
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		int code;
-		String message = null;
-		if (privateKeyCheck()) {
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-			ApiMethod am = cac.delete(chefAction);
-			am.execute();
-			code = am.getReturnCode();
-			message = am.getResponseBodyAsString();
-		} else {
-			code = 500;
-			message = "Cannot find the private key in the APPC file system, please load the private key to "
-					+ clientPrivatekey;
-		}
-		logger.info(code + "   " + message);
-		chefServerResult(rc, Integer.toString(code), message);
-	}
-	
-	
-
-
-
-
-	@SuppressWarnings("nls")
-	@Override
-	public void trigger(Map<String, String> params, SvcLogicContext ctx) {
-		logger.info("Run trigger method");
-		String tVmIp = params.get("ip");
-		// String tUrl = "http://" + tVmIp;
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
+    @SuppressWarnings("nls")
+    @Override
+    public void chefDelete(Map<String, String> params, SvcLogicContext ctx) {
+        logger.info("chef delete method");
+        chefInfo(params);
+        String chefAction = params.get("org.openecomp.appc.instance.chefAction");
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        int code;
+        String message;
+        if (privateKeyCheck()) {
+            ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
+            ApiMethod am = cac.delete(chefAction);
+            am.execute();
+            code = am.getReturnCode();
+            message = am.getResponseBodyAsString();
+        } else {
+            code = 500;
+            message = "Cannot find the private key in the APPC file system, please load the private key to "
+                + clientPrivatekey;
+        }
+        logger.info(code + "   " + message);
+        chefServerResult(rc, Integer.toString(code), message);
+    }
 
-		HttpGet httpGet = new HttpGet(tVmIp);
-		try ( CloseableHttpClient httpClient = HttpClients.createDefault();
-			CloseableHttpResponse response = httpClient.execute(httpGet); )
-		{
-			int responseCode = response.getStatusLine().getStatusCode();
-			HttpEntity entity = response.getEntity();
-			String responseOutput = EntityUtils.toString(entity);
-			chefClientResult(rc, Integer.toString(responseCode), responseOutput);
-			doSuccess(rc);
-		} catch (Exception ex) {
-			doFailure(rc, 500, ex.toString());
-		}
-	}
 
+    /**
+     * Trigger target vm run chef
+     */
 
+    @SuppressWarnings("nls")
+    @Override
+    public void trigger(Map<String, String> params, SvcLogicContext ctx) {
+        logger.info("Run trigger method");
+        String tVmIp = params.get("org.openecomp.appc.instance.ip");
+        //String tUrl = "http://" + tVmIp;
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
 
+        try {
+            HttpGet httpGet = new HttpGet(tVmIp);
+            HttpClient httpClient = HttpClients.createDefault();
+            HttpResponse response;
+            response = httpClient.execute(httpGet);
+            int responseCode=response.getStatusLine().getStatusCode();
+            HttpEntity entity = response.getEntity();
+            String responseOutput=EntityUtils.toString(entity);
+            chefClientResult(rc,Integer.toString(responseCode),responseOutput);
+            doSuccess(rc);
+        } catch (Exception ex) {
+            doFailure(rc, 500 , ex.toString());
+        }
+    }
 
-	@SuppressWarnings("nls")
-	@Override
-	public void checkPushJob(Map<String, String> params, SvcLogicContext ctx) {
-		chefInfo(params);
-		String jobID = params.get("org.openecomp.appc.instance.jobid");
-		int retryTimes = Integer.parseInt(params.get("org.openecomp.appc.instance.retryTimes"));
-		int retryInterval = Integer.parseInt(params.get("org.openecomp.appc.instance.retryInterval"));
-		String chefAction = "/pushy/jobs/" + jobID;
 
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		String message = "";
-		String status = "";
-		for (int i = 0; i < retryTimes; i++) {
-			try {
-				Thread.sleep(retryInterval); // 1000 milliseconds is one second.
-			} catch (InterruptedException ex) {
-				Thread.currentThread().interrupt();
-			}
-			ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-			ApiMethod am = cac.get(chefAction);
-			am.execute();
-			int code = am.getReturnCode();
-			message = am.getResponseBodyAsString();
-			JSONObject obj = new JSONObject(message);
-			status = obj.getString("status");
-			if (!status.equals("running")) {
-				logger.info(i + " time " + code + "   " + status);
-				break;
-			}
+    @SuppressWarnings("nls")
+    @Override
+    public void checkPushJob(Map<String, String> params, SvcLogicContext ctx) {
+        chefInfo(params);
+        String jobID = params.get("org.openecomp.appc.instance.jobid");
+        int retryTimes = Integer.parseInt(params.get("org.openecomp.appc.instance.retryTimes"));
+        int retryInterval = Integer.parseInt(params.get("org.openecomp.appc.instance.retryInterval"));
+        String chefAction = "/pushy/jobs/" + jobID;
 
-		}
-		if (status.equals("complete")) {
-			svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "200");
-			svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message);
-		} else {
-			if (status.equals("running")) {
-				svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "202");
-				svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", "chef client runtime out");
-			} else {
-				svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "500");
-				svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message);
-			}
-		}
-	}
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        String message = "";
+        String status = "";
+        for (int i = 0; i < retryTimes; i++) {
+            try {
+                Thread.sleep(retryInterval); // 1000 milliseconds is one second.
+            } catch (InterruptedException ex) {
+                Thread.currentThread().interrupt();
+            }
+            ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
+            ApiMethod am = cac.get(chefAction);
+            am.execute();
+            int code = am.getReturnCode();
+            message = am.getResponseBodyAsString();
+            JSONObject obj = new JSONObject(message);
+            status = obj.getString("status");
+            if (!status.equals("running")) {
+                logger.info(i + " time " + code + "   " + status);
+                break;
+            }
 
+        }
+        if (status.equals("complete")) {
+            svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "200");
+            svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message);
+        } else {
+            if (status.equals("running")) {
+                svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "202");
+                svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", "chef client runtime out");
+            } else {
+                svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "500");
+                svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message);
+            }
+        }
+    }
 
-	@SuppressWarnings("nls")
-	@Override
-	public void pushJob(Map<String, String> params, SvcLogicContext ctx) {
-		chefInfo(params);
-		String pushRequest = params.get("org.openecomp.appc.instance.pushRequest");
-		String chefAction = "/pushy/jobs";
-		RequestContext rc = new RequestContext(ctx);
-		rc.isAlive();
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
-		ApiMethod am = cac.post(chefAction).body(pushRequest);
-		;
-		am.execute();
-		int code = am.getReturnCode();
-		String message = am.getResponseBodyAsString();
-		if (code == 201) {
-			int startIndex = message.indexOf("jobs") + 6;
-			int endIndex = message.length() - 2;
-			String jobID = message.substring(startIndex, endIndex);
-			svcLogic.setAttribute("org.openecomp.appc.jobID", jobID);
-			logger.info(jobID);
-		}
-		chefServerResult(rc, Integer.toString(code), message);
-	}
 
-	@SuppressWarnings("static-method")
-	private void doFailure(RequestContext rc, int code, String message) {
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		String msg = (message == null) ? Integer.toString(code) : message;
-		if (msg.contains("\n")) {
-			msg = msg.substring(msg.indexOf("\n"));
-		}
+    @SuppressWarnings("nls")
+    @Override
+    public void pushJob(Map<String, String> params, SvcLogicContext ctx) {
+        chefInfo(params);
+        String pushRequest = params.get("org.openecomp.appc.instance.pushRequest");
+        String chefAction = "/pushy/jobs";
+        RequestContext rc = new RequestContext(ctx);
+        rc.isAlive();
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations);
+        ApiMethod am = cac.post(chefAction).body(pushRequest);
 
-		String status;
-		try {
-			status = Integer.toString(code);
-		} catch (Exception e) {
-			status = "500";
-		}
-		svcLogic.setAttribute("chefAgent.code", status);
-		svcLogic.setAttribute("chefAgent.message", msg);
-	}
+        am.execute();
+        int code = am.getReturnCode();
+        String message = am.getResponseBodyAsString();
+        if (code == 201) {
+            int startIndex = message.indexOf("jobs") + 6;
+            int endIndex = message.length() - 2;
+            String jobID = message.substring(startIndex, endIndex);
+            svcLogic.setAttribute("org.openecomp.appc.jobID", jobID);
+            logger.info(jobID);
+        }
+        chefServerResult(rc, Integer.toString(code), message);
+    }
 
 
-	@SuppressWarnings("static-method")
-	private void doSuccess(RequestContext rc) {
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		svcLogic.setAttribute("chefAgent.code", "200");
-	}
+    @SuppressWarnings("static-method")
+    private void doFailure(RequestContext rc, int code, String message) {
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        String msg = (message == null) ? Integer.toString(code) : message;
+        if (msg.contains("\n")) {
+            msg = msg.substring(msg.indexOf("\n"));
+        }
 
-	@SuppressWarnings("static-method")
-	private void chefServerResult(RequestContext rc, String code, String message) {
-		String msg = (message == null) ? " " : message;
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		svcLogic.setStatus(OUTCOME_SUCCESS);
-		svcLogic.setAttribute("chefServerResult.code", code);
-		svcLogic.setAttribute("chefServerResult.message", message);
-	}
+        String status;
+        try {
+            status = Integer.toString(code);
+        } catch (Exception e) {
+            status = "500";
+        }
+        svcLogic.setAttribute("org.openecomp.appc.chefAgent.code", status);
+        svcLogic.setAttribute("org.openecomp.appc.chefAgent.message", msg);
+    }
 
-	@SuppressWarnings("static-method")
-	private void chefClientResult(RequestContext rc, String code, String message) {
-		String msg = (message == null) ? " " : message;
-		SvcLogicContext svcLogic = rc.getSvcLogicContext();
-		svcLogic.setStatus(OUTCOME_SUCCESS);
-		svcLogic.setAttribute("chefClientResult.code", code);
-		svcLogic.setAttribute("chefClientResult.message", message);
-	}
+    /**
+     * @param rc
+     *            The request context that manages the state and recovery of the
+     *            request for the life of its processing.
+     */
 
+    @SuppressWarnings("static-method")
+    private void doSuccess(RequestContext rc) {
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        svcLogic.setAttribute("org.openecomp.appc.chefAgent.code", "200");
+    }
 
-	private void initialize() {
 
-		logger.info("init chef adapter!!!!!");
+    @SuppressWarnings("static-method")
+    private void chefServerResult(RequestContext rc, String code ,String message) {
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        svcLogic.setStatus(OUTCOME_SUCCESS);
+        svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", code);
+        svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message);
+    }
 
-	}
+    @SuppressWarnings("static-method")
+    private void chefClientResult(RequestContext rc, String code ,String message) {
+        SvcLogicContext svcLogic = rc.getSvcLogicContext();
+        svcLogic.setStatus(OUTCOME_SUCCESS);
+        svcLogic.setAttribute("org.openecomp.appc.chefClientResult.code", code);
+        svcLogic.setAttribute("org.openecomp.appc.chefClientResult.message", message);
+    }
 
+    /**
+     * initialize the provider adapter by building the context cache
+     */
+    private void initialize() {
+        configuration = ConfigurationFactory.getConfiguration();
+        //need to fetch data from appc configurator or form some file in the appc vms
+        clientName="testnode";
+        clientPrivatekey="/etc/chef/client.pem";
+        serverAddress="http://example.com";
+        organizations="test";
+        chefserver=serverAddress+"/organizations/"+organizations;
+        logger.info("Initialize Chef Adapter");
+    }
 
+    private void initialize(String key) {
+        configuration = ConfigurationFactory.getConfiguration();
+        //need to fetch data from appc configurator or form some file in the appc vms
+        clientName="testnode";
+        clientPrivatekey=key;
+        serverAddress="http://example.com";
+        organizations="test";
+        chefserver=serverAddress+"/organizations/"+organizations;
+        logger.info("Initialize Chef Adapter");
+    }
 
 }
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/RequestContext.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/RequestContext.java
index 411176a..836f6aa 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/RequestContext.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/RequestContext.java
@@ -89,7 +89,7 @@
 
     /**
      * Creates the request context
-     * 
+     *
      * @param context
      *            The service logic (SLI) context associated with the current DG
      */
@@ -146,7 +146,7 @@
 
     /**
      * Check and count the connection attempt.
-     * 
+     *
      * @return True if the connection should be attempted. False indicates that the number of retries has been exhausted
      *         and it should NOT be attempted.
      */
@@ -183,7 +183,7 @@
      * the total time used is less than or equal to the time to live limit, the method returns true. It is important to
      * call this method at the very beginning of the process so that all parts of the process are tracked.
      * </p>
-     * 
+     *
      * @return True if the total time to live has not been exceeded. False indicates that the total time to live has
      *         been exceeded and no further processing should be performed.
      */
@@ -217,7 +217,7 @@
 
     /**
      * Sets the time to live to the value, expressed in seconds
-     * 
+     *
      * @param time
      *            The time to live, in seconds
      */
@@ -227,7 +227,7 @@
 
     /**
      * Sets the time to live to the value, expressed in milliseconds
-     * 
+     *
      * @param time
      *            The time to live, in milliseconds
      */
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/openecomp/appc/adapter/chef/impl/TestChefAdapterImpl.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/openecomp/appc/adapter/chef/impl/TestChefAdapterImpl.java
index d9b172a..744f847 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/openecomp/appc/adapter/chef/impl/TestChefAdapterImpl.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/openecomp/appc/adapter/chef/impl/TestChefAdapterImpl.java
@@ -72,18 +72,17 @@
     @Before
     public void setup() throws IllegalArgumentException, IllegalAccessException {
 
-        adapter = new ChefAdapterImpl();
+        adapter = new ChefAdapterImpl(System.getProperty("user.dir")+"/src/main/resources/client.pem");
     }
-    
+
     @Test
     public void testChefGet() throws IOException, IllegalStateException, IllegalArgumentException,
       ZoneException, APPCException {
 
             Map<String, String> params = new HashMap<>();
             params.put("org.openecomp.appc.instance.chefAction", "/nodes");
-            
-            
-            SvcLogicContext svcContext = new SvcLogicContext();          
+
+            SvcLogicContext svcContext = new SvcLogicContext();
             adapter.chefGet(params, svcContext);
             String status=svcContext.getAttribute("org.openecomp.appc.chefServerResult.code");
             assertEquals("200",status);
@@ -98,7 +97,7 @@
             params.put("org.openecomp.appc.instance.chefAction", "/nodes/testnode");
             params.put("org.openecomp.appc.instance.runList", "recipe[commandtest]");
             params.put("org.openecomp.appc.instance.attributes", "");
-            SvcLogicContext svcContext = new SvcLogicContext();          
+            SvcLogicContext svcContext = new SvcLogicContext();
             adapter.chefPut(params, svcContext);
             String status=svcContext.getAttribute("org.openecomp.appc.chefServerResult.code");
             assertEquals("200",status);
@@ -111,7 +110,7 @@
 
             Map<String, String> params = new HashMap<>();
             params.put("org.openecomp.appc.instance.ip", "http://example.com/test");
-            SvcLogicContext svcContext = new SvcLogicContext();          
+            SvcLogicContext svcContext = new SvcLogicContext();
             adapter.trigger(params, svcContext);
             String status=svcContext.getAttribute("org.openecomp.appc.chefAgent.code");
             assertEquals("200",status);
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/pom.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/pom.xml
index 5e68874..619466c 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/pom.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/pom.xml
@@ -1,122 +1,125 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>appc-chef-adapter</artifactId>
-    <groupId>org.openecomp.appc</groupId>
-    <version>1.1.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>appc-chef-adapter-features</artifactId>
-  <name>Chef Adaptor - Features</name>
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APPC
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  Copyright (C) 2017 Amdocs
+  =============================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
 
-  <packaging>jar</packaging>
+       http://www.apache.org/licenses/LICENSE-2.0
 
-  <dependencies>
-    <dependency>
-      <groupId>org.openecomp.appc</groupId>
-      <artifactId>appc-chef-adapter-bundle</artifactId>
-      <version>${project.version}</version>
-    </dependency>
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
 
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <scope>compile</scope>
-    </dependency>
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  ============LICENSE_END=========================================================
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>appc-chef-adapter</artifactId>
+        <groupId>org.openecomp.appc</groupId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
 
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
+    <artifactId>appc-chef-adapter-features</artifactId>
+    <name>APPC Chef Adaptor - Features</name>
+    <packaging>jar</packaging>
 
-    <!-- dependency for opendaylight-karaf-empty for use by testing -->
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>opendaylight-karaf-empty</artifactId>
-      <type>zip</type>
-    </dependency>
+    <properties>
+        <licenseDir>${project.parent.parent.parent.basedir}</licenseDir>
+    </properties>
 
-<!--     <dependency> -->
-<!--       Required for launching the feature tests -->
-<!--       <groupId>org.opendaylight.yangtools</groupId> -->
-<!--       <artifactId>features-test</artifactId> -->
-<!--       <scope>test</scope> -->
-<!--     </dependency> -->
+    <dependencies>
+        <dependency>
+            <groupId>org.openecomp.appc</groupId>
+            <artifactId>appc-chef-adapter-bundle</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>features-yangtools</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-  </dependencies>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <scope>compile</scope>
+        </dependency>
 
-  <build>
-    <resources>
-      <resource>
-        <filtering>true</filtering>
-        <directory>src/main/resources</directory>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>filter</id>
-            <goals>
-              <goal>resources</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- launches the feature test, which validates that your karaf feature 
-        can be installed inside of a karaf container. It doesn't validate that your 
-        functionality works correctly, just that you have all of the dependent bundles 
-        defined correctly. -->
-      <!-- <plugin> -->
-      <!-- <groupId>org.apache.maven.plugins</groupId> -->
-      <!-- <artifactId>maven-surefire-plugin</artifactId> -->
-      <!-- <version>2.16</version> -->
-      <!-- <configuration> -->
-      <!-- <systemPropertyVariables> -->
-      <!-- <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId> -->
-      <!-- <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId> -->
-      <!-- <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version> -->
-      <!-- </systemPropertyVariables> -->
-      <!-- <dependenciesToScan> -->
-      <!-- <dependency>org.opendaylight.yangtools:features-test</dependency> -->
-      <!-- </dependenciesToScan> -->
-      <!-- </configuration> -->
-      <!-- </plugin> -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>attach-artifacts</id>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <phase>package</phase>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>${project.build.directory}/classes/${features.file}</file>
-                  <type>xml</type>
-                  <classifier>features</classifier>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>features-mdsal</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <type>zip</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>features-yangtools</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <resources>
+            <resource>
+                <filtering>true</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/src/main/resources/features.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/src/main/resources/features.xml
index 5629f39..923e6b8 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/src/main/resources/features.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-features/src/main/resources/features.xml
@@ -26,7 +26,7 @@
 
 <features name="appc-chef-adapter-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">     
+    xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
 
     <repository>mvn:org.opendaylight.mdsal/features-mdsal/${odl.mdsal.features.version}/xml/features</repository>
 
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/pom.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/pom.xml
index 366e7cd..62c2ed8 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/pom.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/pom.xml
@@ -1,5 +1,30 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APPC
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  Copyright (C) 2017 Amdocs
+  =============================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  ============LICENSE_END=========================================================
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <artifactId>appc-chef-adapter</artifactId>
@@ -7,13 +32,16 @@
         <version>1.1.0-SNAPSHOT</version>
     </parent>
     <artifactId>appc-chef-adapter-installer</artifactId>
-    <name>Chef Adapter - Karaf Installer</name>
+    <name>APPC Chef Adapter - Karaf Installer</name>
     <packaging>pom</packaging>
     <properties>
         <application.name>appc-chef-adapter</application.name>
         <features.boot>appc-chef-adapter</features.boot>
-        <features.repositories>mvn:org.openecomp.appc/appc-chef-adapter-features/${project.version}/xml/features</features.repositories>
+        <features.repositories>
+            mvn:org.openecomp.appc/appc-chef-adapter-features/${project.version}/xml/features
+        </features.repositories>
         <include.transitive.dependencies>false</include.transitive.dependencies>
+        <licenseDir>${project.parent.parent.parent.basedir}</licenseDir>
     </properties>
     <dependencies>
         <dependency>
@@ -46,7 +74,7 @@
                         </goals>
                         <phase>package</phase>
                         <configuration>
-                        	<appendAssemblyId>false</appendAssemblyId>
+                            <appendAssemblyId>false</appendAssemblyId>
                             <attach>false</attach>
                             <finalName>stage/${application.name}-${project.version}</finalName>
                             <descriptors>
@@ -61,7 +89,7 @@
                         </goals>
                         <phase>package</phase>
                         <configuration>
-                        	<appendAssemblyId>false</appendAssemblyId>
+                            <appendAssemblyId>false</appendAssemblyId>
                             <attach>true</attach>
                             <finalName>${application.name}-${project.version}</finalName>
                             <descriptors>
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_installer_zip.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_installer_zip.xml
index 322fa76..45c82f6 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_installer_zip.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_installer_zip.xml
@@ -25,37 +25,37 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>adapter</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>adapter</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>755</fileMode>
-			<includes>
-				<include>*.sh</include>
-			</includes>
-		</fileSet>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>644</fileMode>
-			<excludes>
-				<exclude>*.sh</exclude>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>755</fileMode>
+            <includes>
+                <include>*.sh</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>644</fileMode>
+            <excludes>
+                <exclude>*.sh</exclude>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_mvnrepo_zip.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_mvnrepo_zip.xml
index 615ee37..f47c15c 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -25,26 +25,26 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>adapter</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>adapter</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/assembly/</directory>
-			<outputDirectory>.</outputDirectory>
-			<excludes>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 </assembly>
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/main/resources/scripts/install-feature.sh b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/main/resources/scripts/install-feature.sh
index 13d41ca..d0210eb 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/main/resources/scripts/install-feature.sh
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-installer/src/main/resources/scripts/install-feature.sh
@@ -33,31 +33,11 @@
 
 if [ -f ${REPOZIP} ]
 then
-	unzip -n -d ${ODL_HOME} ${REPOZIP}
+    unzip -n -d ${ODL_HOME} ${REPOZIP}
 else
-	echo "ERROR : repo zip ($REPOZIP) not found"
-	exit 1
+    echo "ERROR : repo zip ($REPOZIP) not found"
+    exit 1
 fi
 
-COUNT=0
-while [ $COUNT -lt 10 ]; do
-	${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories} 2> /tmp/installErr
-	cat /tmp/installErr
-	if grep -q 'Failed to get the session' /tmp/installErr; then
-		sleep 10
-	else
-		let COUNT=10
-	fi
-	let COUNT=COUNT+1
-done
-COUNT=0
-while [ $COUNT -lt 10 ]; do
-	${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:install ${features.boot} 2> /tmp/installErr
-		cat /tmp/installErr
-	if grep -q 'Failed to get the session' /tmp/installErr; then
-		sleep 10
-	else
-		let COUNT=10
-	fi
-	let COUNT=COUNT+1
-done
+${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
+${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:install ${features.boot}
diff --git a/appc-adapters/appc-chef-adapter/pom.xml b/appc-adapters/appc-chef-adapter/pom.xml
index c83e6aa..8f2ac4b 100644
--- a/appc-adapters/appc-chef-adapter/pom.xml
+++ b/appc-adapters/appc-chef-adapter/pom.xml
@@ -1,123 +1,154 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.openecomp.appc</groupId>
-    <artifactId>appc-adapters</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-  </parent>
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APPC
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  Copyright (C) 2017 Amdocs
+  =============================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
 
-  <artifactId>appc-chef-adapter</artifactId>
-  <name>chef Adaptor</name>
-  <description>Abstraction to connect to and utilize the services of cloud providers such as OpenStack or VMWare.</description>
-  <packaging>pom</packaging>
+       http://www.apache.org/licenses/LICENSE-2.0
 
-  <reporting>
-    <plugins>
-      <plugin>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <configuration>
-          <additionalDependencies>
-            <additionalDependency>
-              <groupId>org.slf4j</groupId>
-              <artifactId>slf4j-api</artifactId>
-              <version>${slf4j.version}</version>
-            </additionalDependency>
-            <additionalDependency>
-              <groupId>org.antlr</groupId>
-              <artifactId>antlr4</artifactId>
-              <version>${antlr.version}</version>
-            </additionalDependency>
-            <additionalDependency>
-              <groupId>org.antlr</groupId>
-              <artifactId>antlr4-runtime</artifactId>
-              <version>4.3</version>
-            </additionalDependency>
-          </additionalDependencies>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>javadoc-no-fork</report>
-              <report>test-javadoc-no-fork</report>
-            </reports>
-          </reportSet>
-          <reportSet>
-            <id>aggregate</id>
-            <reports>
-              <report>aggregate</report>
-              <report>test-aggregate</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <version>2.3</version>
-        <reportSets>
-          <reportSet>
-            <id>aggregate</id>
-            <reports>
-              <report>aggregate</report>
-              <report>test-aggregate</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
 
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changelog-plugin</artifactId>
-        <version>2.3</version>
-        <reportSets>
-          <reportSet>
-            <id>dual-report</id>
-            <configuration>
-              <type>range</type>
-              <range>30</range>
-            </configuration>
-            <reports>
-              <report>changelog</report>
-              <report>file-activity</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>taglist-maven-plugin</artifactId>
-        <version>2.4</version>
-      </plugin>
-    </plugins>
-  </reporting>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  ============LICENSE_END=========================================================
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
         <groupId>org.openecomp.appc</groupId>
-        <artifactId>appc-chef-adapter-features</artifactId>
-        <classifier>features</classifier>
-        <type>xml</type>
-        <version>${project.version}</version>
-      </dependency>
+        <artifactId>appc-adapters</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
 
-      <dependency>
-        <groupId>org.openecomp.appc</groupId>
-        <artifactId>appc-chef-adapter-provider</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
+    <artifactId>appc-chef-adapter</artifactId>
+    <name>APPC Chef Adaptor</name>
+    <description>
+        Abstraction to connect to and utilize the services of cloud providers such as OpenStack or VMWare.
+    </description>
+    <packaging>pom</packaging>
 
-  <modules>
-    <module>appc-chef-adapter-bundle</module>
-    <module>appc-chef-adapter-features</module>
-    <module>appc-chef-adapter-installer</module>
-  </modules>
+    <properties>
+        <licenseDir>${project.parent.parent.basedir}</licenseDir>
+    </properties>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <additionalDependencies>
+                        <additionalDependency>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                            <version>${slf4j.version}</version>
+                        </additionalDependency>
+                        <additionalDependency>
+                            <groupId>org.antlr</groupId>
+                            <artifactId>antlr4</artifactId>
+                            <version>${antlr.version}</version>
+                        </additionalDependency>
+                        <additionalDependency>
+                            <groupId>org.antlr</groupId>
+                            <artifactId>antlr4-runtime</artifactId>
+                            <version>4.3</version>
+                        </additionalDependency>
+                    </additionalDependencies>
+                </configuration>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>javadoc-no-fork</report>
+                            <report>test-javadoc-no-fork</report>
+                        </reports>
+                    </reportSet>
+                    <reportSet>
+                        <id>aggregate</id>
+                        <reports>
+                            <report>aggregate</report>
+                            <report>test-aggregate</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jxr-plugin</artifactId>
+                <version>2.3</version>
+                <reportSets>
+                    <reportSet>
+                        <id>aggregate</id>
+                        <reports>
+                            <report>aggregate</report>
+                            <report>test-aggregate</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-changelog-plugin</artifactId>
+                <version>2.3</version>
+                <reportSets>
+                    <reportSet>
+                        <id>dual-report</id>
+                        <configuration>
+                            <type>range</type>
+                            <range>30</range>
+                        </configuration>
+                        <reports>
+                            <report>changelog</report>
+                            <report>file-activity</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>taglist-maven-plugin</artifactId>
+                <version>2.4</version>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.openecomp.appc</groupId>
+                <artifactId>appc-chef-adapter-features</artifactId>
+                <classifier>features</classifier>
+                <type>xml</type>
+                <version>${project.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.openecomp.appc</groupId>
+                <artifactId>appc-chef-adapter-provider</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <modules>
+        <module>appc-chef-adapter-bundle</module>
+        <module>appc-chef-adapter-features</module>
+        <module>appc-chef-adapter-installer</module>
+    </modules>
 </project>