diff --git a/providers/netconf/device/pom.xml b/providers/netconf/device/pom.xml
index 0e3de51..192d8e3 100644
--- a/providers/netconf/device/pom.xml
+++ b/providers/netconf/device/pom.xml
@@ -13,135 +13,135 @@
   ~ 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.
-  -->
+ -->
 <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>
+        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.onosproject</groupId>
-		<artifactId>onos-netconf-providers</artifactId>
-		<version>1.2.0-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
-
-	<artifactId>onos-netconf-provider-device</artifactId>
-	<packaging>bundle</packaging>
-
-	<description>ONOS Netconf protocol device provider</description>
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-shade-plugin</artifactId>
-				<version>2.3</version>
-				<configuration>
-					<filters>
-						<filter>
-							<artifact>com.tailf:JNC</artifact>
-							<includes>
-								<include>com/tailf/jnc/**</include>
-							</includes>
-						</filter>
-						<filter>
-							<artifact>ch.ethz.ganymed:ganymed-ssh2</artifact>
-							<includes>
-								<include>ch/ethz/ssh2/**</include>
-							</includes>
-						</filter>
-						<filter>
-							<artifact>org.jdom:jdom2</artifact>
-							<includes>
-								<include>org/jdom2/**</include>
-							</includes>
-						</filter>
-					</filters>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>package</phase>
-						<goals>
-							<goal>shade</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-scr-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<configuration>
-                    <instructions>
-                        <Export-Package>
-                            com.tailf.jnc,
-                            ch.ethz.ssh2,
-                            ch.ethz.ssh2.auth,
-                            ch.ethz.ssh2.channel,
-                            ch.ethz.ssh2.crypto,
-                            ch.ethz.ssh2.crypto.cipher,
-                            ch.ethz.ssh2.crypto.dh,
-                            ch.ethz.ssh2.crypto.digest,
-                            ch.ethz.ssh2.log,
-                            ch.ethz.ssh2.packets,
-                            ch.ethz.ssh2.server,
-                            ch.ethz.ssh2.sftp,
-                            ch.ethz.ssh2.signature,
-                            ch.ethz.ssh2.transport,
-                            ch.ethz.ssh2.util,
-							org.jdom2,
-							org.jdom2.input,
-							org.jdom2.output,
-							org.jdom2.adapters,
-							org.jdom2.filter,
-							org.jdom2.internal,
-							org.jdom2.located,
-							org.jdom2.transform,
-							org.jdom2.util,
-							org.jdom2.xpath,
-							org.jdom2.input.sax,
-							org.jdom2.input.stax,
-							org.jdom2.output.support,
-							org.jdom2.xpath.jaxen,
-							org.jdom2.xpath.util
-                        </Export-Package>
-                    </instructions>
-                </configuration>				
-			</plugin>
-			<plugin>
-				<groupId>org.onosproject</groupId>
-				<artifactId>onos-maven-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</build>
-	<dependencies>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.compendium</artifactId>
-		</dependency>
-		 <dependency>
-            <groupId>ch.ethz.ganymed</groupId>
-            <artifactId>ganymed-ssh2</artifactId>
-            <version>262</version>
-        </dependency>
-        <dependency>
-            <!-- TODO: change this appropriately when the official TailF JNC is available -->
+        <parent>
             <groupId>org.onosproject</groupId>
-            <artifactId>jnc</artifactId>
-            <version>1.0</version>
-        </dependency>
-		<dependency>
-			<groupId>org.jdom</groupId>
-			<artifactId>jdom2</artifactId>
-			<version>2.0.5</version>
-		</dependency>
-		<dependency>
-			<groupId>jaxen</groupId>
-			<artifactId>jaxen</artifactId>
-			<version>1.1.4</version>
-			<optional>true</optional>
-		</dependency>
-	</dependencies>
+            <artifactId>onos-netconf-providers</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+            <relativePath>../pom.xml</relativePath>
+        </parent>
+
+        <artifactId>onos-netconf-provider-device</artifactId>
+        <packaging>bundle</packaging>
+
+        <description>ONOS Netconf protocol device provider</description>
+        <build>
+           <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>2.3</version>
+                    <configuration>
+                        <filters>
+                            <filter>
+                                <artifact>com.tailf:JNC</artifact>
+                                <includes>
+                                    <include>com/tailf/jnc/**</include>
+                                </includes>
+                            </filter>
+                            <filter>
+                                <artifact>ch.ethz.ganymed:ganymed-ssh2</artifact>
+                                <includes>
+                                    <include>ch/ethz/ssh2/**</include>
+                                </includes>
+                            </filter>
+                            <filter>
+                                <artifact>org.jdom:jdom2</artifact>
+                                <includes>
+                                    <include>org/jdom2/**</include>
+                                </includes>
+                            </filter>
+                        </filters>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <phase>package</phase>
+                            <goals>
+                                <goal>shade</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-scr-plugin</artifactId>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <configuration>
+                        <instructions>
+                            <Export-Package>
+                                com.tailf.jnc,
+                                ch.ethz.ssh2,
+                                ch.ethz.ssh2.auth,
+                                ch.ethz.ssh2.channel,
+                                ch.ethz.ssh2.crypto,
+                                ch.ethz.ssh2.crypto.cipher,
+                                ch.ethz.ssh2.crypto.dh,
+                                ch.ethz.ssh2.crypto.digest,
+                                ch.ethz.ssh2.log,
+                                ch.ethz.ssh2.packets,
+                                ch.ethz.ssh2.server,
+                                ch.ethz.ssh2.sftp,
+                                ch.ethz.ssh2.signature,
+                                ch.ethz.ssh2.transport,
+                                ch.ethz.ssh2.util,
+                                org.jdom2,
+                                org.jdom2.input,
+                                org.jdom2.output,
+                                org.jdom2.adapters,
+                                org.jdom2.filter,
+                                org.jdom2.internal,
+                                org.jdom2.located,
+                                org.jdom2.transform,
+                                org.jdom2.util,
+                                org.jdom2.xpath,
+                                org.jdom2.input.sax,
+                                org.jdom2.input.stax,
+                                org.jdom2.output.support,
+                                org.jdom2.xpath.jaxen,
+                                org.jdom2.xpath.util
+                            </Export-Package>
+                        </instructions>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.onosproject</groupId>
+                    <artifactId>onos-maven-plugin</artifactId>
+                </plugin>
+            </plugins>
+        </build>
+        <dependencies>
+            <dependency>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.compendium</artifactId>
+            </dependency>
+            <dependency>
+                <groupId>ch.ethz.ganymed</groupId>
+                <artifactId>ganymed-ssh2</artifactId>
+                <version>262</version>
+            </dependency>
+            <dependency>
+                <!-- TODO: change this appropriately when the official TailF JNC is available -->
+                <groupId>org.onosproject</groupId>
+                <artifactId>jnc</artifactId>
+                <version>1.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jdom</groupId>
+                <artifactId>jdom2</artifactId>
+                <version>2.0.5</version>
+            </dependency>
+            <dependency>
+                <groupId>jaxen</groupId>
+                <artifactId>jaxen</artifactId>
+                <version>1.1.4</version>
+                <optional>true</optional>
+            </dependency>
+        </dependencies>
 </project>
