class GCTopologyOperationRequestMapper {

    public GenericResourceApiGcTopologyOperationInformation deactivateOrUnassignVnrReqMapper(SDNCSvcAction svcAction,
            ServiceInstance serviceInstance, RequestContext requestContext, Configuration vnrConfiguration,
            String sdncReqId, URI callbackUri) {

        String msoRequestId = null;
        if (requestContext != null) {
            msoRequestId = requestContext.getMsoRequestId();
        }
        GenericResourceApiGcTopologyOperationInformation req = new GenericResourceApiGcTopologyOperationInformation();
        GenericResourceApiSdncrequestheaderSdncRequestHeader sdncRequestHeader =
                generalTopologyObjectMapper.buildSdncRequestHeader(svcAction, sdncReqId, callbackUri.toString());
        GenericResourceApiRequestinformationRequestInformation requestInformation =
                generalTopologyObjectMapper.buildGenericResourceApiRequestinformationRequestInformation(msoRequestId,
                        GenericResourceApiRequestActionEnumeration.DELETEGENERICCONFIGURATIONINSTANCE);
        GenericResourceApiServiceinformationServiceInformation serviceInformation =
                new GenericResourceApiServiceinformationServiceInformation();
        serviceInformation.setServiceInstanceId(serviceInstance.getServiceInstanceId());
        GenericResourceApiConfigurationinformationConfigurationInformation configurationInformation =
                new GenericResourceApiConfigurationinformationConfigurationInformation();
        configurationInformation.setConfigurationId(vnrConfiguration.getConfigurationId());
        configurationInformation.setConfigurationType(vnrConfiguration.getConfigurationType());
        req.setRequestInformation(requestInformation);
        req.setSdncRequestHeader(sdncRequestHeader);
        req.setServiceInformation(serviceInformation);
        req.setConfigurationInformation(configurationInformation);
        return req;

    }

}