/*- | |
* ============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.core; | |
import org.onap.osam.external.aai.AaiClient; | |
import org.onap.osam.external.aai.model.PNF; | |
import org.onap.osam.model.dao.AccessPod; | |
import org.onap.osam.common.exception.NotFoundException; | |
import org.onap.osam.model.repository.AccessPodRepository; | |
import org.onap.osam.api.service.AccessPodService; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.stereotype.Service; | |
import java.util.List; | |
import java.util.Optional; | |
/** | |
* Created by cemturker on 26.09.2018. | |
*/ | |
@Service | |
public class AccessPodServiceImpl extends AbstractBaseServiceImpl implements AccessPodService { | |
private AccessPodRepository accessPodRepository; | |
private AaiClient aaiClient; | |
@Autowired | |
public AccessPodServiceImpl(AccessPodRepository accessPodRepository, AaiClient aaiClient) { | |
this.accessPodRepository = accessPodRepository; | |
this.aaiClient = aaiClient; | |
} | |
@Override | |
public AccessPod addOrUpdate(AccessPod value) { | |
//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()); | |
} | |
add(value,accessPodRepository); | |
//TODO need to update connection to grpc!! | |
return value; | |
} | |
@Override | |
public void removeById(Long key) { | |
remove(key,accessPodRepository,AccessPod.class); | |
} | |
@Override | |
public AccessPod getById(Long key) { | |
return get(key,accessPodRepository); | |
} | |
@Override | |
public List<AccessPod> getAll() { | |
return getAll(accessPodRepository); | |
} | |
@Override | |
public AccessPod findByPnfId(String pnfId) { | |
Optional<AccessPod> accessPodOp = accessPodRepository.findByPnfId(pnfId); | |
if (!accessPodOp.isPresent()) { | |
log.error("Access POD with pnfId : {} is not found", pnfId); | |
throw new NotFoundException("Access POD with pnfId : {} is not found", pnfId); | |
} | |
return accessPodOp.get(); | |
} | |
@Override | |
public void removeByPnfId(String pnfId) { | |
accessPodRepository.removeByPnfId(pnfId); | |
} | |
} |