Upgrade sonar plugin
[vid.git] / vid-app-common / src / main / java / org / openecomp / vid / services / AaiServiceImpl.java
1 package org.openecomp.vid.services;
2
3 import org.ecomp.aai.model.AaiAICZones.AicZones;
4 import org.openecomp.portalsdk.core.util.SystemProperties;
5 import org.openecomp.vid.aai.*;
6 import org.openecomp.vid.aai.model.AaiGetServicesRequestModel.*;
7 import org.openecomp.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
8 import org.openecomp.vid.model.*;
9 import org.openecomp.vid.roles.RoleValidator;
10 import org.openecomp.vid.scheduler.SchedulerProperties;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.http.ResponseEntity;
13
14 import javax.ws.rs.core.Response;
15
16 import java.util.List;
17
18 /**
19  * Created by Oren on 7/4/17.
20  */
21 public class AaiServiceImpl implements AaiService {
22
23
24     @Autowired
25     private AaiClientInterface aaiClient;
26
27
28     @Override
29     public SubscriberFilteredResults getFullSubscriberList(RoleValidator roleValidator) {
30         AaiResponse<SubscriberList> subscriberResponse = aaiClient.getAllSubscribers();
31         SubscriberFilteredResults subscriberFilteredResults =
32                 new SubscriberFilteredResults(roleValidator,subscriberResponse.getT(),
33                         subscriberResponse.getErrorMessage(),
34                         subscriberResponse.getHttpCode());
35
36         return subscriberFilteredResults;
37     }
38
39     @Override
40     public AaiResponse getSubscriberData(String subscriberId, RoleValidator roleProvider) {
41         AaiResponse<Services> subscriberResponse = aaiClient.getSubscriberData(subscriberId);
42         String subscriberGlobalId = subscriberResponse.getT().globalCustomerId;
43         for (ServiceSubscription serviceSubscription : subscriberResponse.getT().serviceSubscriptions.serviceSubscription) {
44             String serviceType = serviceSubscription.serviceType;
45             serviceSubscription.isPermitted = roleProvider.isServicePermitted(subscriberGlobalId,serviceType);
46         }
47         return subscriberResponse;
48
49     }
50
51     @Override
52     public Response getVersionByInvariantId(List<String> modelInvariantId) {
53         try {
54             return aaiClient.getVersionByInvariantId(modelInvariantId);
55         }catch (Exception e){
56             e.printStackTrace();
57         }
58         return null;
59     }
60
61     @Override
62     public AaiResponse getServices(RoleValidator roleValidator) {
63         AaiResponse<GetServicesAAIRespone> subscriberResponse = aaiClient.getServices();
64         for (org.openecomp.vid.aai.model.AaiGetServicesRequestModel.Service service :subscriberResponse.getT().service){
65             service.isPermitted = true;
66         }
67         return subscriberResponse;
68     }
69
70     @Override
71     public AaiResponse<GetTenantsResponse[]> getTenants(String globalCustomerId, String serviceType, RoleValidator roleValidator) {
72         AaiResponse<GetTenantsResponse[]> aaiGetTenantsResponse = aaiClient.getTenants(globalCustomerId,serviceType);
73         GetTenantsResponse[] tenants = aaiGetTenantsResponse.getT();
74         for (int i=0;i<tenants.length;i++){
75             tenants[i].isPermitted = roleValidator.isTenantPermitted(globalCustomerId,serviceType, tenants[i].tenantID);
76         }
77         return aaiGetTenantsResponse;
78     }
79
80     @Override
81     public AaiResponse getVNFData(String globalSubscriberId, String serviceType, String serviceInstanceId) {
82         return aaiClient.getVNFData(globalSubscriberId,serviceType,serviceInstanceId);
83     }
84
85     @Override
86     public Response getVNFData(String globalSubscriberId, String serviceType) {
87         return aaiClient.getVNFData(globalSubscriberId,serviceType);
88     }
89
90     @Override
91         public AaiResponse getAaiZones() {
92                 AaiResponse<AicZones> response = aaiClient.getAllAicZones();
93                 return response;
94         }
95
96         @Override
97         public AaiResponse getAicZoneForPnf(String globalCustomerId , String serviceType , String serviceId) {
98                 AaiResponse<AicZones> response = aaiClient.getAicZoneForPnf(globalCustomerId , serviceType , serviceId);
99                 return response;
100         }
101 }