ONOS-2622
Fix error of north app and update onos-app-vtnrsc package

Change-Id: I375002ff26d2ab3ada879a92a1d47bcdb8980054
diff --git a/apps/vtnrsc/src/main/java/org/onosproject/vtnrsc/web/VirtualPortCodec.java b/apps/vtnrsc/src/main/java/org/onosproject/vtnrsc/web/VirtualPortCodec.java
new file mode 100644
index 0000000..aa3c0c7
--- /dev/null
+++ b/apps/vtnrsc/src/main/java/org/onosproject/vtnrsc/web/VirtualPortCodec.java
@@ -0,0 +1,57 @@
+/*

+ * Copyright 2015 Open Networking Laboratory

+ *

+ * 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.

+ */

+package org.onosproject.vtnrsc.web;

+

+import static com.google.common.base.Preconditions.checkNotNull;

+

+import org.onosproject.codec.CodecContext;

+import org.onosproject.codec.JsonCodec;

+import org.onosproject.vtnrsc.VirtualPort;

+

+import com.fasterxml.jackson.databind.node.ObjectNode;

+

+/**

+ * VirtualPort JSON codec.

+ */

+public final class VirtualPortCodec extends JsonCodec<VirtualPort> {

+    @Override

+    public ObjectNode encode(VirtualPort vPort, CodecContext context) {

+        checkNotNull(vPort, "VPort cannot be null");

+        ObjectNode result = context

+                .mapper()

+                .createObjectNode()

+                .put("id", vPort.portId().toString())

+                .put("network_id", vPort.networkId().toString())

+                .put("admin_state_up", vPort.adminStateUp())

+                .put("name", vPort.name().toString())

+                .put("status", vPort.state().toString())

+                .put("mac_address", vPort.macAddress().toString())

+                .put("tenant_id", vPort.tenantId().toString())

+                .put("device_id", vPort.deviceId().toString())

+                .put("device_owner", vPort.deviceOwner().toString())

+                .put("binding:vnic_type", vPort.bindingVnicType().toString())

+                .put("binding:Vif_type", vPort.bindingVifType().toString())

+                .put("binding:host_id", vPort.bindingHostId().toString())

+                .put("binding:vif_details", vPort.bindingVifDetails().toString());

+        result.set("allowed_address_pairs", new AllowedAddressPairCodec().encode(

+                                                                               vPort.allowedAddressPairs(), context));

+        result.set("fixed_ips", new FixedIpCodec().encode(

+                                                        vPort.fixedIps(), context));

+        result.set("security_groups", new SecurityGroupCodec().encode(

+                                                        vPort.securityGroups(), context));

+        return result;

+    }

+}