/*- | |
* ============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.api.service; | |
import org.onap.osam.model.dao.Chassis; | |
import org.onap.osam.model.dao.OLTPort; | |
import org.onap.osam.model.dao.OLTSlot; | |
import org.onap.osam.model.dao.ONTDevice; | |
import java.util.List; | |
/** | |
* Created by Zafer Kaban on 18.09.2018. | |
*/ | |
public interface DeviceService { | |
enum OntProvisioningType { | |
PREPROVISION, | |
FULL, | |
PROVISION | |
} | |
/* | |
Chassis Related Functionality | |
--------------------------------------------------------------------------------------- | |
*/ | |
/** | |
* | |
* @param chassis | |
*/ | |
Chassis addChassis(Chassis chassis); | |
/** | |
* | |
* @param id | |
*/ | |
void deleteChassis(Long id); | |
/** | |
* | |
* @param clli | |
*/ | |
public void deleteChassisByClli(String clli); | |
/** | |
* | |
* @param id | |
* @return Chassis | |
*/ | |
Chassis getChassisById(Long id); | |
/** | |
* | |
* @param clli | |
* @return Chassis | |
*/ | |
Chassis getChassisByClli(String clli); | |
/** | |
* | |
* @return Long | |
*/ | |
Long getChassisCount(); | |
List<Chassis> getByPnfId(String pnfId); | |
List<Chassis> getAllChassis(); | |
/* | |
oltSlot Related Functionality | |
--------------------------------------------------------------------------------------- | |
*/ | |
/** | |
* | |
* | |
* @param oltSlot | |
* @param chassis | |
*/ | |
OLTSlot addOLTSlot(OLTSlot oltSlot, Chassis chassis); | |
/** | |
* | |
* @param id | |
*/ | |
void deleteOLTSlot(Long id); | |
/** | |
* | |
* @param id | |
* @return oltSlot | |
*/ | |
OLTSlot getOLTSlotById(Long id); | |
/** | |
* | |
* @param serialNumber | |
* @return oltSlot | |
*/ | |
OLTSlot getOLTSlotBySerialNumber(String serialNumber); | |
/** | |
* | |
* @return all OLT slots | |
*/ | |
List<OLTSlot> getAllOLTSlots(); | |
/* | |
OLTPort Related Functionality | |
--------------------------------------------------------------------------------------- | |
*/ | |
/** | |
* | |
* @param id | |
*/ | |
void deleteOLTPort(Long id); | |
/** | |
* | |
* @param id | |
* @return OLTPort | |
*/ | |
OLTPort getOLTPortById(Long id); | |
/* | |
ONTDevice Related Functionality | |
--------------------------------------------------------------------------------------- | |
*/ | |
/** | |
* | |
* @param ontDevice | |
* @param provisioningType | |
*/ | |
ONTDevice provisionONTDevice(ONTDevice ontDevice, OntProvisioningType provisioningType); | |
/** | |
* | |
* @param id | |
*/ | |
void deleteONTDevice(Long id); | |
/** | |
* | |
* @param id | |
* @return ONTDevice | |
*/ | |
ONTDevice getONTDeviceById(Long id); | |
/** | |
* | |
* @param serialNumber | |
* @return ONTDevice | |
*/ | |
ONTDevice getONTDeviceBySerialNumber(String serialNumber); | |
/** | |
* | |
* @return all ONT devices | |
*/ | |
List<ONTDevice> getAllONTDevices(); | |
} |