Martin Mucha has uploaded a new change for review.

Change subject: restapi: rest part for UnmanagedNetworks.
......................................................................

restapi: rest part for UnmanagedNetworks.

Change-Id: Icfd30d340e7ec9e1da0f752a188dc4ba80211043
Signed-off-by: Martin Mucha <[email protected]>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/HostResource.java
A 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworkResource.java
A 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworksResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/jyaml.yml
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
A 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworkResource.java
A 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworksResource.java
A 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UnmanagedNetworkMapper.java
12 files changed, 337 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/78/37878/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/HostResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/HostResource.java
index 3e85aa5..465f468 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/HostResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/HostResource.java
@@ -99,6 +99,9 @@
     @Path("permissions")
     public AssignedPermissionsResource getPermissionsResource();
 
+    @Path("unmanagednetworks")
+    public UnmanagedNetworksResource getUnmanagedNetworksResource();
+
     @POST
     @Consumes({ ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML })
     @Actionable
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworkResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworkResource.java
new file mode 100644
index 0000000..83264d9
--- /dev/null
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworkResource.java
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Red Hat, Inc.
+*
+* 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.ovirt.engine.api.resource;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Produces;
+
+import org.ovirt.engine.api.model.UnmanagedNetwork;
+
+@Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
+public interface UnmanagedNetworkResource {
+
+    @GET
+    public UnmanagedNetwork get();
+}
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworksResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworksResource.java
new file mode 100644
index 0000000..c64e142
--- /dev/null
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/UnmanagedNetworksResource.java
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2010 Red Hat, Inc.
+*
+* 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.ovirt.engine.api.resource;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+import org.ovirt.engine.api.model.UnmanagedNetworks;
+
+@Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, 
ApiMediaType.APPLICATION_X_YAML})
+public interface UnmanagedNetworksResource {
+
+    @GET
+    public UnmanagedNetworks list();
+
+    @DELETE
+    @Path("{id}")
+    public Response remove(@PathParam("id") String id);
+
+    @Path("{id}")
+    public UnmanagedNetworkResource 
getUnmanagedNetworkSubResource(@PathParam("id") String id);
+}
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
index 64bac15..1485451 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
@@ -95,6 +95,7 @@
 import org.ovirt.engine.api.model.StorageDomain;
 import org.ovirt.engine.api.model.Tag;
 import org.ovirt.engine.api.model.Template;
+import org.ovirt.engine.api.model.UnmanagedNetwork;
 import org.ovirt.engine.api.model.Url;
 import org.ovirt.engine.api.model.User;
 import org.ovirt.engine.api.model.VM;
@@ -200,6 +201,8 @@
 import org.ovirt.engine.api.resource.TemplateDisksResource;
 import org.ovirt.engine.api.resource.TemplateResource;
 import org.ovirt.engine.api.resource.TemplatesResource;
+import org.ovirt.engine.api.resource.UnmanagedNetworkResource;
+import org.ovirt.engine.api.resource.UnmanagedNetworksResource;
 import org.ovirt.engine.api.resource.UpdatableRoleResource;
 import org.ovirt.engine.api.resource.VmApplicationResource;
 import org.ovirt.engine.api.resource.VmApplicationsResource;
@@ -475,6 +478,9 @@
         map.add(NetworkAttachmentResource.class, 
NetworkAttachmentsResource.class, HostNIC.class);
         TYPES.put(NetworkAttachment.class, map);
 
+        map = new ParentToCollectionMap(UnmanagedNetworkResource.class, 
UnmanagedNetworksResource.class, Host.class);
+        TYPES.put(UnmanagedNetwork.class, map);
+
         map = new ParentToCollectionMap(AffinityGroupResource.class, 
AffinityGroupsResource.class, Cluster.class);
         TYPES.put(AffinityGroup.class, map);
 
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
index 6aff4af..43d6b86 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
@@ -3781,6 +3781,37 @@
     </xs:complexContent>
   </xs:complexType>
 
+  <xs:element name="unmanaged_networks" type="UnmanagedNetworks"/>
+
+  <xs:complexType name="UnmanagedNetworks">
+    <xs:complexContent>
+      <xs:extension base="BaseResources">
+        <xs:sequence>
+          <xs:element ref="unmanaged_network" minOccurs="0" 
maxOccurs="unbounded">
+            <xs:annotation>
+              <xs:appinfo>
+                <jaxb:property name="unmanagedNetworks"/>
+              </xs:appinfo>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:element name="unmanaged_network" type="UnmanagedNetwork"/>
+
+  <xs:complexType name="UnmanagedNetwork">
+    <xs:complexContent>
+      <xs:extension base="BaseResource">
+        <xs:sequence>
+          <xs:element ref="host_nic" minOccurs="0" maxOccurs="1"/>
+          <xs:element ref="host" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
   <xs:complexType name="HostNics">
     <xs:complexContent>
       <xs:extension base="BaseResources">
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/jyaml.yml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/jyaml.yml
index 504eb76..6ce6b45 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/jyaml.yml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/jyaml.yml
@@ -81,6 +81,8 @@
   instance_types: org.ovirt.engine.api.model.InstanceTypes
   ticket: org.ovirt.engine.api.model.Ticket
   transparent_hugepages: org.ovirt.engine.api.model.TransparentHugePages
+  unmanaged_network: org.ovirt.engine.api.model.UnmanagedNetwork
+  unmanaged_networks: org.ovirt.engine.api.model.UnmanagedNetworks
   user: org.ovirt.engine.api.model.User
   users: org.ovirt.engine.api.model.Users
   value: org.ovirt.engine.api.model.Value
@@ -194,6 +196,8 @@
   org.ovirt.engine.api.model.TransparentHugePages: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
   org.ovirt.engine.api.model.User: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
   org.ovirt.engine.api.model.Users: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
+  org.ovirt.engine.api.model.UnmanagedNetwork: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
+  org.ovirt.engine.api.model.UnmanagedNetworks: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
   org.ovirt.engine.api.model.Value: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
   org.ovirt.engine.api.model.Values: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
   org.ovirt.engine.api.model.VersionCaps: 
org.ovirt.engine.api.resteasy.yaml.CustomBeanWrapper
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
index 00d97cc..cdd7129 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
@@ -3384,6 +3384,34 @@
       Content-Type: {value: application/xml|json, required: true}
       Expect: {value: 201-created, required: false}
       Correlation-Id: {value: 'any string', required: false}
+- name: /hosts/{host:id}/unmanagednetworks|rel=get
+  description: get a list of unmanaged networks
+  request:
+    body:
+      parameterType: null
+      signatures: []
+    urlparams:
+      max: {context: matrix, type: 'xs:int', value: 'max results', required: 
false}
+    headers: {}
+- name: /hosts/{host:id}/unmanagednetworks/{unmanagednetwork:id}|rel=get
+  description: get the details of the specified unmanaged network
+  request:
+    body:
+      parameterType: null
+      signatures: []
+    urlparams: {}
+    headers: {}
+- name: /hosts/{host:id}/unmanagednetworks/{unmanagednetwork:id}|rel=delete
+  description: delete the specified unmanaged network
+  request:
+    body:
+      required: false
+      parameterType: Action
+      signatures: []
+    urlparams:
+      async: {context: matrix, type: 'xs:boolean', value: true|false, 
required: false}
+    headers:
+      Correlation-Id: {value: 'any string', required: false}
 - name: /hosts/{host:id}/permissions|rel=get
   description: get the list of permissions for the host
   request:
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
index 66c7201..d78e87a 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
@@ -29,6 +29,7 @@
 import org.ovirt.engine.api.resource.HostStorageResource;
 import org.ovirt.engine.api.resource.NetworkAttachmentsResource;
 import org.ovirt.engine.api.resource.StatisticsResource;
+import org.ovirt.engine.api.resource.UnmanagedNetworksResource;
 import org.ovirt.engine.api.restapi.model.AuthenticationMethod;
 import org.ovirt.engine.api.restapi.types.Mapper;
 import org.ovirt.engine.core.common.VdcObjectType;
@@ -436,6 +437,11 @@
     }
 
     @Override
+    public UnmanagedNetworksResource getUnmanagedNetworksResource() {
+        return inject(new BackendUnmanagedNetworksResource(guid));
+    }
+
+    @Override
     public NetworkAttachmentsResource getNetworkAttachmentsResource() {
         return inject(new BackendHostNetworkAttachmentsResource(guid));
     }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
index 6779f2d..43ab24a 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
@@ -41,7 +41,7 @@
     private static final Logger log = 
LoggerFactory.getLogger(BackendHostsResource.class);
     private static final String DEFAULT_NAME = "Default";
     static final String[] SUB_COLLECTIONS = { "storage", "nics", "numanodes", 
"tags", "permissions", "statistics",
-            "hooks", "networkattachments" };
+            "hooks", "networkattachments", "unmanagednetworks" };
     static final String GLUSTERONLY_MODE_COLLECTIONS_TO_HIDE = "storage";
 
     public BackendHostsResource() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworkResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworkResource.java
new file mode 100644
index 0000000..1f700f8
--- /dev/null
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworkResource.java
@@ -0,0 +1,47 @@
+package org.ovirt.engine.api.restapi.resource;
+
+import org.ovirt.engine.api.model.Host;
+import org.ovirt.engine.api.resource.UnmanagedNetworkResource;
+import org.ovirt.engine.core.common.businessentities.UnmanagedNetwork;
+import org.ovirt.engine.core.common.queries.UnmanagedNetworkParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.compat.Guid;
+
+public class BackendUnmanagedNetworkResource extends 
AbstractBackendSubResource<org.ovirt.engine.api.model.UnmanagedNetwork,
+        UnmanagedNetwork> implements UnmanagedNetworkResource {
+
+    private final Guid hostId;
+
+    public BackendUnmanagedNetworkResource(String id, Guid hostId) {
+        super(id, org.ovirt.engine.api.model.UnmanagedNetwork.class, 
UnmanagedNetwork.class);
+        this.hostId = hostId;
+    }
+
+    @Override
+    protected org.ovirt.engine.api.model.UnmanagedNetwork 
doPopulate(org.ovirt.engine.api.model.UnmanagedNetwork model, UnmanagedNetwork 
entity) {
+        return model;
+    }
+
+    @Override
+    public org.ovirt.engine.api.model.UnmanagedNetwork get() {
+        return performGet(VdcQueryType.GetUnmanagedNetworkByVdsIdAndName, new 
UnmanagedNetworkParameters(hostId, id), Host.class);
+    }
+
+    @Override
+    protected Guid asGuidOr404(String id) {
+        // The identifier isn't a UUID.
+        return null;
+    }
+
+    @Override
+    protected org.ovirt.engine.api.model.UnmanagedNetwork 
addParents(org.ovirt.engine.api.model.UnmanagedNetwork model) {
+        Host host = new Host();
+        model.setHost(host);
+        model.getHost().setId(hostId.toString());
+        if (model.isSetHostNic()) {
+            model.getHostNic().setHost(host);
+        }
+
+        return model;
+    }
+}
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworksResource.java
new file mode 100644
index 0000000..066b351
--- /dev/null
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUnmanagedNetworksResource.java
@@ -0,0 +1,82 @@
+package org.ovirt.engine.api.restapi.resource;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.ws.rs.core.Response;
+
+import org.ovirt.engine.api.model.Host;
+import org.ovirt.engine.api.model.UnmanagedNetworks;
+import org.ovirt.engine.api.resource.UnmanagedNetworkResource;
+import org.ovirt.engine.api.resource.UnmanagedNetworksResource;
+import org.ovirt.engine.api.restapi.utils.HexUtils;
+import org.ovirt.engine.core.common.action.HostSetupNetworksParameters;
+import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.businessentities.UnmanagedNetwork;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.compat.Guid;
+
+public class BackendUnmanagedNetworksResource extends 
AbstractBackendCollectionResource<org.ovirt.engine.api.model.UnmanagedNetwork, 
UnmanagedNetwork>
+        implements UnmanagedNetworksResource {
+
+    private Guid hostId;
+
+    public BackendUnmanagedNetworksResource(Guid hostId) {
+        super(org.ovirt.engine.api.model.UnmanagedNetwork.class, 
UnmanagedNetwork.class);
+        this.hostId = hostId;
+    }
+
+    @Override
+    public UnmanagedNetworks list() {
+        return mapCollection(getAllUnmanagedNetworksByVdsId());
+    }
+
+    private List<UnmanagedNetwork> getAllUnmanagedNetworksByVdsId() {
+        return 
getBackendCollection(VdcQueryType.GetAllUnmanagedNetworksByVdsId, new 
IdQueryParameters(hostId));
+    }
+
+    private UnmanagedNetworks mapCollection(List<UnmanagedNetwork> 
unmanagedNetworks) {
+        UnmanagedNetworks result = new UnmanagedNetworks();
+        for (UnmanagedNetwork unmanagedNetwork : unmanagedNetworks) {
+            
result.getUnmanagedNetworks().add(addLinks(populate(map(unmanagedNetwork), 
null), Host.class));
+        }
+        return result;
+    }
+
+    @Override
+    public Response remove(String id) {
+        return super.remove(HexUtils.hex2string(id));
+    }
+
+    @SingleEntityResource
+    @Override
+    public UnmanagedNetworkResource getUnmanagedNetworkSubResource(String id) {
+        return inject(new 
BackendUnmanagedNetworkResource(HexUtils.hex2string(id), hostId));
+
+    }
+
+    @Override
+    protected Response performRemove(String id) {
+        HostSetupNetworksParameters parameters = new 
HostSetupNetworksParameters(hostId);
+        parameters.setRemovedUnmanagedNetworks(Collections.singletonList(id));
+        return performAction(VdcActionType.HostSetupNetworks, parameters);
+    }
+
+    @Override
+    protected org.ovirt.engine.api.model.UnmanagedNetwork 
doPopulate(org.ovirt.engine.api.model.UnmanagedNetwork model, UnmanagedNetwork 
entity) {
+        return model;
+    }
+
+    @Override
+    protected org.ovirt.engine.api.model.UnmanagedNetwork 
addParents(org.ovirt.engine.api.model.UnmanagedNetwork model) {
+        Host host = new Host();
+        model.setHost(host);
+        model.getHost().setId(hostId.toString());
+        if (model.isSetHostNic()) {
+            model.getHostNic().setHost(host);
+        }
+
+        return model;
+    }
+}
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UnmanagedNetworkMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UnmanagedNetworkMapper.java
new file mode 100644
index 0000000..6cdfb9e
--- /dev/null
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/UnmanagedNetworkMapper.java
@@ -0,0 +1,60 @@
+package org.ovirt.engine.api.restapi.types;
+
+import org.ovirt.engine.api.model.HostNIC;
+import org.ovirt.engine.api.model.UnmanagedNetwork;
+import org.ovirt.engine.api.restapi.utils.GuidUtils;
+import org.ovirt.engine.api.restapi.utils.HexUtils;
+
+public class UnmanagedNetworkMapper {
+    @Mapping(from = UnmanagedNetwork.class, to = 
org.ovirt.engine.core.common.businessentities.UnmanagedNetwork.class)
+    public static 
org.ovirt.engine.core.common.businessentities.UnmanagedNetwork 
map(UnmanagedNetwork model, 
org.ovirt.engine.core.common.businessentities.UnmanagedNetwork template) {
+        if (model == null) {
+            return template;
+        }
+
+        org.ovirt.engine.core.common.businessentities.UnmanagedNetwork entity 
= template == null ? new 
org.ovirt.engine.core.common.businessentities.UnmanagedNetwork() : template;
+
+        if (model.isSetId()) {
+            entity.setId(HexUtils.hex2string(model.getName()));
+        }
+
+        if (model.isSetName()) {
+            entity.setNetworkName(model.getName());
+        }
+
+        if (model.isSetHostNic()) {
+            HostNIC hostNic = model.getHostNic();
+            if (hostNic.isSetId()) {
+                entity.setNicId(GuidUtils.asGuid(hostNic.getId()));
+            }
+
+            if (hostNic.isSetName()) {
+                entity.setNicName(hostNic.getName());
+            }
+        }
+
+        return entity;
+    }
+
+    @Mapping(from = 
org.ovirt.engine.core.common.businessentities.UnmanagedNetwork.class, to = 
UnmanagedNetwork.class)
+    public static UnmanagedNetwork 
map(org.ovirt.engine.core.common.businessentities.UnmanagedNetwork entity, 
UnmanagedNetwork template) {
+        if (entity == null) {
+            return template;
+        }
+
+        UnmanagedNetwork model = template == null ? new UnmanagedNetwork() : 
template;
+
+        model.setId(HexUtils.string2hex(entity.getId()));
+
+        if (entity.getNicId() != null) {
+            HostNIC hostNic = new HostNIC();
+            hostNic.setId(entity.getNicId().toString());
+            hostNic.setName(entity.getNicName());
+            model.setHostNic(hostNic);
+        }
+
+        model.setName(entity.getNetworkName());
+
+        return model;
+    }
+}


-- 
To view, visit http://gerrit.ovirt.org/37878
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icfd30d340e7ec9e1da0f752a188dc4ba80211043
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Mucha <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to