swagger expose Northbound endpoints

Change-Id: I8c19590e24fdf45655386f4abeee2828cc9cb30a
diff --git a/osam-core/common/pom.xml b/osam-core/common/pom.xml
index 8c0fc70..cdb1e2f 100644
--- a/osam-core/common/pom.xml
+++ b/osam-core/common/pom.xml
@@ -30,5 +30,13 @@
     <modelVersion>4.0.0</modelVersion>

     <artifactId>common</artifactId>

 

+    <dependencies>

+        <dependency>

+            <groupId>${project.groupId}</groupId>

+            <artifactId>osam-common</artifactId>

+            <version>${project.version}</version>

+        </dependency>

+    </dependencies>

+

 

 </project>
\ No newline at end of file
diff --git a/osam-core/core/src/main/java/org/onap/osam/core/AccessPodServiceImpl.java b/osam-core/core/src/main/java/org/onap/osam/core/AccessPodServiceImpl.java
index 1ba8bad..4113d1b 100644
--- a/osam-core/core/src/main/java/org/onap/osam/core/AccessPodServiceImpl.java
+++ b/osam-core/core/src/main/java/org/onap/osam/core/AccessPodServiceImpl.java
@@ -53,8 +53,9 @@
 

     @Override

     public AccessPod addOrUpdate(AccessPod value) {

-        PNF pnf = aaiClient.queryPnf(value.getPnfId());

-        Optional<AccessPod> accessPodOptional = accessPodRepository.findByPnfId(pnf.getPnfId());

+        //aai logic is commented out, to allow manual registering of SEBA PODs in OSAM Core

+        //PNF pnf = aaiClient.queryPnf(value.getPnfId());

+        Optional<AccessPod> accessPodOptional = accessPodRepository.findByPnfId(value.getPnfId());

         if (accessPodOptional.isPresent()) {

             AccessPod tmp = accessPodOptional.get();

             value.setId(tmp.getId());

diff --git a/osam-core/external/src/main/java/org/onap/osam/external/grpc/AbstractOLTClient.java b/osam-core/external/src/main/java/org/onap/osam/external/grpc/AbstractOLTClient.java
index 27c697d..81f2851 100644
--- a/osam-core/external/src/main/java/org/onap/osam/external/grpc/AbstractOLTClient.java
+++ b/osam-core/external/src/main/java/org/onap/osam/external/grpc/AbstractOLTClient.java
@@ -88,6 +88,7 @@
 

   @PostConstruct

   private void init() {

+      log.info("Abstract OLT connection properties - host: {}, port: {}", host, port);

       ManagedChannel managedChannel = ManagedChannelBuilder

                 .forAddress(host, port).usePlaintext().build();

 

@@ -117,6 +118,8 @@
               .setXOSPassword(pass)

               .build();

 

+      log.info("AddChassisMessage message: {}", request);

+

       AddChassisReturn response = blockingStub.createChassis(request);

       if(!StringUtils.isEmpty(response.getDeviceID())) {

           log.info("Chassis created in AbstractOLT with clli : {}",clli);

@@ -146,6 +149,7 @@
                     .setType(oltType)

                     .build();

 

+            log.info("AddOLTChassisMessage message: {}", request);

             AddOLTChassisReturn response = blockingStub.createOLTChassis(request);

             deviceID = response.getDeviceID();

             chassisDeviceId = response.getChassisDeviceID();

@@ -177,14 +181,12 @@
             log.error("preProvisionOnt RPC failed", e);

             throw new AbstractOLTException("preProvisionOnt failed for ont : {}", ontDevice);

         }

-

       return result;

     }

 

     public boolean provisionONT(ONTDevice ontDevice) {

 

         boolean result = false;

-

         try {

             AddOntMessage request = OntMessageFactory.getOntMessage(ontDevice);

             AddOntReturn response = blockingStub.provisionOnt(request);

diff --git a/osam-core/model/src/main/resources/application.properties b/osam-core/model/src/main/resources/application.properties
index 81ed287..3d2b5cb 100644
--- a/osam-core/model/src/main/resources/application.properties
+++ b/osam-core/model/src/main/resources/application.properties
@@ -4,7 +4,7 @@
 

 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

 spring.jpa.hibernate.ddl-auto=update

-

+server.port=8888

 logging.level.org.onap.osam=DEBUG

 #logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

 #logging.level.org.hibernate.type=TRACE
\ No newline at end of file
diff --git a/osam-core/web/src/main/java/org/onap/osam/controller/AccessPodRestController.java b/osam-core/web/src/main/java/org/onap/osam/controller/AccessPodRestController.java
index ad901c5..46b21f7 100644
--- a/osam-core/web/src/main/java/org/onap/osam/controller/AccessPodRestController.java
+++ b/osam-core/web/src/main/java/org/onap/osam/controller/AccessPodRestController.java
@@ -23,7 +23,7 @@
 package org.onap.osam.controller;

 

 import lombok.extern.slf4j.Slf4j;

-import org.onap.osam.dto.AccessPodDTO;

+import org.onap.osam.common.dto.AccessPodDTO;

 import org.onap.osam.helper.DTOMapper;

 import org.onap.osam.model.dao.AccessPod;

 import org.onap.osam.api.service.AccessPodService;

diff --git a/osam-core/web/src/main/java/org/onap/osam/controller/DeviceController.java b/osam-core/web/src/main/java/org/onap/osam/controller/DeviceController.java
index b5b0103..f6c7aec 100644
--- a/osam-core/web/src/main/java/org/onap/osam/controller/DeviceController.java
+++ b/osam-core/web/src/main/java/org/onap/osam/controller/DeviceController.java
@@ -24,9 +24,9 @@
 

 import lombok.extern.slf4j.Slf4j;

 import org.onap.osam.api.service.DeviceService;

-import org.onap.osam.dto.ChassisDTO;

-import org.onap.osam.dto.OLTChassisDTO;

-import org.onap.osam.dto.ONTDTO;

+import org.onap.osam.common.dto.ChassisDTO;

+import org.onap.osam.common.dto.OLTChassisDTO;

+import org.onap.osam.common.dto.ONTDTO;

 import org.onap.osam.helper.DTOMapper;

 import org.onap.osam.model.dao.*;

 import org.springframework.beans.factory.annotation.Autowired;

diff --git a/osam-core/web/src/main/java/org/onap/osam/controller/TopologyController.java b/osam-core/web/src/main/java/org/onap/osam/controller/TopologyController.java
index 6f760ee..18ea729 100644
--- a/osam-core/web/src/main/java/org/onap/osam/controller/TopologyController.java
+++ b/osam-core/web/src/main/java/org/onap/osam/controller/TopologyController.java
@@ -25,7 +25,7 @@
 import lombok.extern.slf4j.Slf4j;

 import org.onap.osam.api.service.AccessPodService;

 import org.onap.osam.api.service.DeviceService;

-import org.onap.osam.dto.AccessPodDTO;

+import org.onap.osam.common.dto.AccessPodDTO;

 import org.onap.osam.helper.DTOMapper;

 import org.onap.osam.model.dao.AccessPod;

 import org.onap.osam.model.dao.Chassis;

diff --git a/osam-core/web/src/main/java/org/onap/osam/dto/AccessPodDTO.java b/osam-core/web/src/main/java/org/onap/osam/dto/AccessPodDTO.java
deleted file mode 100644
index 52570c7..0000000
--- a/osam-core/web/src/main/java/org/onap/osam/dto/AccessPodDTO.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*-

- * ============LICENSE_START=======================================================

- * OSAM Core

- * ================================================================================

- * Copyright (C) 2018 Netsia

- * ================================================================================

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

- * ============LICENSE_END=========================================================

- */

-

-

-

-package org.onap.osam.dto;

-

-import com.fasterxml.jackson.annotation.JsonInclude;

-import com.fasterxml.jackson.annotation.JsonRootName;

-import lombok.AllArgsConstructor;

-import lombok.Getter;

-import lombok.NoArgsConstructor;

-import lombok.Setter;

-

-import java.util.List;

-

-/**

- * Created by cemturker on 01.10.2018.

- */

-@Getter

-@Setter

-@NoArgsConstructor

-@AllArgsConstructor

-@JsonRootName("AccessPod")

-@JsonInclude(JsonInclude.Include.NON_NULL)

-public class AccessPodDTO {

-    private Long id;

-    private String pnfId;

-    private String ip;

-    private String port;

-    private String coreIp;

-    private String corePort;

-    private String username;

-    private String password;

-    private List<ChassisDTO> chassises;

-

-    @Override

-    public String toString() {

-        final StringBuilder sb = new StringBuilder("AccessPodDTO{");

-        sb.append("id=").append(id);

-        sb.append(", pnfId='").append(pnfId).append('\'');

-        sb.append(", ip='").append(ip).append('\'');

-        sb.append(", port='").append(port).append('\'');

-        sb.append(", coreIp='").append(coreIp).append('\'');

-        sb.append(", corePort='").append(corePort).append('\'');

-        sb.append(", username='").append(username).append('\'');

-        sb.append(", password='").append(password).append('\'');

-        sb.append(", chassises=").append(chassises);

-        sb.append('}');

-        return sb.toString();

-    }

-}

diff --git a/osam-core/web/src/main/java/org/onap/osam/dto/ChassisDTO.java b/osam-core/web/src/main/java/org/onap/osam/dto/ChassisDTO.java
deleted file mode 100644
index 96462cf..0000000
--- a/osam-core/web/src/main/java/org/onap/osam/dto/ChassisDTO.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-

- * ============LICENSE_START=======================================================

- * OSAM Core

- * ================================================================================

- * Copyright (C) 2018 Netsia

- * ================================================================================

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

- * ============LICENSE_END=========================================================

- */

-

-

-

-package org.onap.osam.dto;

-

-import com.fasterxml.jackson.annotation.JsonInclude;

-import com.fasterxml.jackson.annotation.JsonRootName;

-import lombok.AllArgsConstructor;

-import lombok.Data;

-import lombok.NoArgsConstructor;

-

-import java.util.List;

-

-@Data

-@AllArgsConstructor

-@NoArgsConstructor

-@JsonRootName("Chassis")

-@JsonInclude(JsonInclude.Include.NON_NULL)

-public class ChassisDTO {

-    private Long id;

-    private String clli;

-    private String pnfId;

-    private int shelf;

-    private int rack;

-    private List<OLTChassisDTO> olts;

-}

diff --git a/osam-core/web/src/main/java/org/onap/osam/dto/OLTChassisDTO.java b/osam-core/web/src/main/java/org/onap/osam/dto/OLTChassisDTO.java
deleted file mode 100644
index 1937e35..0000000
--- a/osam-core/web/src/main/java/org/onap/osam/dto/OLTChassisDTO.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-

- * ============LICENSE_START=======================================================

- * OSAM Core

- * ================================================================================

- * Copyright (C) 2018 Netsia

- * ================================================================================

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

- * ============LICENSE_END=========================================================

- */

-

-

-

-package org.onap.osam.dto;

-

-import com.fasterxml.jackson.annotation.JsonInclude;

-import com.fasterxml.jackson.annotation.JsonRootName;

-import lombok.AllArgsConstructor;

-import lombok.Data;

-import lombok.NoArgsConstructor;

-

-import java.util.List;

-

-@Data

-@AllArgsConstructor

-@NoArgsConstructor

-@JsonRootName("OLT")

-@JsonInclude(JsonInclude.Include.NON_NULL)

-public class OLTChassisDTO {

-    private String clli;

-    private String oltDriver;

-    private String oltType;

-    private int portNumber;

-    private String ipAddress;

-    private String name;

-    private List<OLTPortDTO> oltPorts;

-    private Long id;

-}

diff --git a/osam-core/web/src/main/java/org/onap/osam/dto/OLTPortDTO.java b/osam-core/web/src/main/java/org/onap/osam/dto/OLTPortDTO.java
deleted file mode 100644
index 1a376fa..0000000
--- a/osam-core/web/src/main/java/org/onap/osam/dto/OLTPortDTO.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-

- * ============LICENSE_START=======================================================

- * OSAM Core

- * ================================================================================

- * Copyright (C) 2018 Netsia

- * ================================================================================

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

- * ============LICENSE_END=========================================================

- */

-

-

-

-package org.onap.osam.dto;

-

-import com.fasterxml.jackson.annotation.JsonInclude;

-import com.fasterxml.jackson.annotation.JsonRootName;

-import lombok.AllArgsConstructor;

-import lombok.Getter;

-import lombok.NoArgsConstructor;

-import lombok.Setter;

-import org.onap.osam.model.dao.ActivityState;

-import org.onap.osam.model.dao.AdminState;

-

-import java.util.List;

-

-/**

- * Created by cemturker on 03.10.2018.

- */

-@Getter

-@Setter

-@NoArgsConstructor

-@AllArgsConstructor

-@JsonRootName("OLTPort")

-@JsonInclude(JsonInclude.Include.NON_NULL)

-public class OLTPortDTO {

-    private Long id;

-    private Integer portNumber;

-    private ActivityState portAuthState;

-    private AdminState adminState;

-    private List<ONTDTO> ontDevices;

-

-    @Override

-    public String toString() {

-        final StringBuilder sb = new StringBuilder("OLTPortDTO{");

-        sb.append("id=").append(id);

-        sb.append(", portNumber=").append(portNumber);

-        sb.append(", portAuthState=").append(portAuthState);

-        sb.append(", adminState=").append(adminState);

-        sb.append(", ontDevices=").append(ontDevices);

-        sb.append('}');

-        return sb.toString();

-    }

-}

diff --git a/osam-core/web/src/main/java/org/onap/osam/dto/ONTDTO.java b/osam-core/web/src/main/java/org/onap/osam/dto/ONTDTO.java
deleted file mode 100644
index d6fd982..0000000
--- a/osam-core/web/src/main/java/org/onap/osam/dto/ONTDTO.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-

- * ============LICENSE_START=======================================================

- * OSAM Core

- * ================================================================================

- * Copyright (C) 2018 Netsia

- * ================================================================================

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

- * ============LICENSE_END=========================================================

- */

-

-

-

-package org.onap.osam.dto;

-

-import com.fasterxml.jackson.annotation.JsonInclude;

-import com.fasterxml.jackson.annotation.JsonRootName;

-import lombok.AllArgsConstructor;

-import lombok.Data;

-import lombok.NoArgsConstructor;

-

-@Data

-@AllArgsConstructor

-@NoArgsConstructor

-@JsonRootName("ONTDevice")

-@JsonInclude(JsonInclude.Include.NON_NULL)

-public class ONTDTO {

-

-    private String clli;

-    private String serialNumber;

-    private int slotNumber;

-    private int portNumber;

-    private int ontNumber;

-    private Long id;

-    private int stag;

-    private int ctag;

-    private String nasPortId;

-    private String circuitId;

-    private String technologyProfile;

-    private String speedProfile;

-}

diff --git a/osam-core/web/src/main/java/org/onap/osam/helper/DTOMapper.java b/osam-core/web/src/main/java/org/onap/osam/helper/DTOMapper.java
index 81d14f5..8a941ee 100644
--- a/osam-core/web/src/main/java/org/onap/osam/helper/DTOMapper.java
+++ b/osam-core/web/src/main/java/org/onap/osam/helper/DTOMapper.java
@@ -23,11 +23,11 @@
 package org.onap.osam.helper;

 

 import com.google.common.collect.Lists;

-import org.onap.osam.dto.AccessPodDTO;

-import org.onap.osam.dto.ChassisDTO;

-import org.onap.osam.dto.OLTChassisDTO;

-import org.onap.osam.dto.OLTPortDTO;

-import org.onap.osam.dto.ONTDTO;

+import org.onap.osam.common.dto.AccessPodDTO;

+import org.onap.osam.common.dto.ChassisDTO;

+import org.onap.osam.common.dto.OLTChassisDTO;

+import org.onap.osam.common.dto.OLTPortDTO;

+import org.onap.osam.common.dto.ONTDTO;

 import org.onap.osam.model.dao.*;

 

 import java.util.ArrayList;

@@ -177,8 +177,8 @@
     private static OLTPortDTO convertOLTPortToDTO(OLTPort oltPort) {

         OLTPortDTO oltPortDTO = new OLTPortDTO();

         oltPortDTO.setId(oltPort.getId());

-        oltPortDTO.setAdminState(oltPort.getAdminState());

-        oltPortDTO.setPortAuthState(oltPort.getPortAuthState());

+        oltPortDTO.setAdminState(oltPort.getAdminState().name());

+        oltPortDTO.setPortAuthState(oltPort.getPortAuthState().name());

         oltPortDTO.setPortNumber(oltPort.getPortNumber());

         return oltPortDTO;

     }