blob: 921bf66d56862b043700efb7ec9010c9d1360db9 [file] [log] [blame]
Aharoni, Pavel (pa0916)ca3cb012018-10-22 15:29:57 +03001/*-
2 * ============LICENSE_START=======================================================
3 * OSAM Core
4 * ================================================================================
5 * Copyright (C) 2018 Netsia
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
19 */
20
21
22
23package org.onap.osam.api.service;
24
25import org.onap.osam.model.dao.Chassis;
26import org.onap.osam.model.dao.OLTPort;
27import org.onap.osam.model.dao.OLTSlot;
28import org.onap.osam.model.dao.ONTDevice;
29
30import java.util.List;
31
32/**
33 * Created by Zafer Kaban on 18.09.2018.
34 */
35public interface DeviceService {
36
Zafer Kabanb0a16682018-12-04 11:16:24 +030037 enum OntProvisioningType {
38 PREPROVISION,
39 FULL,
40 PROVISION
41 }
42
Aharoni, Pavel (pa0916)ca3cb012018-10-22 15:29:57 +030043
44/*
45Chassis Related Functionality
46---------------------------------------------------------------------------------------
47*/
48
49 /**
50 *
51 * @param chassis
52 */
53 Chassis addChassis(Chassis chassis);
54
55 /**
56 *
57 * @param id
58 */
59 void deleteChassis(Long id);
60
61 /**
62 *
63 * @param clli
64 */
65 public void deleteChassisByClli(String clli);
66
67 /**
68 *
69 * @param id
70 * @return Chassis
71 */
72 Chassis getChassisById(Long id);
73
74 /**
75 *
76 * @param clli
77 * @return Chassis
78 */
79 Chassis getChassisByClli(String clli);
80
81 /**
82 *
83 * @return Long
84 */
85 Long getChassisCount();
86
87 List<Chassis> getByPnfId(String pnfId);
88
89 List<Chassis> getAllChassis();
90
91/*
92oltSlot Related Functionality
93---------------------------------------------------------------------------------------
94*/
95
96 /**
97 *
98 *
99 * @param oltSlot
100 * @param chassis
101 */
102 OLTSlot addOLTSlot(OLTSlot oltSlot, Chassis chassis);
103
104 /**
105 *
106 * @param id
107 */
108 void deleteOLTSlot(Long id);
109
110 /**
111 *
112 * @param id
113 * @return oltSlot
114 */
115 OLTSlot getOLTSlotById(Long id);
116
117 /**
118 *
119 * @param serialNumber
120 * @return oltSlot
121 */
122 OLTSlot getOLTSlotBySerialNumber(String serialNumber);
123
124
125 /**
126 *
127 * @return all OLT slots
128 */
129 List<OLTSlot> getAllOLTSlots();
130
131/*
132OLTPort Related Functionality
133---------------------------------------------------------------------------------------
134*/
135
136 /**
137 *
138 * @param id
139 */
140 void deleteOLTPort(Long id);
141
142 /**
143 *
144 * @param id
145 * @return OLTPort
146 */
147 OLTPort getOLTPortById(Long id);
148
149/*
150ONTDevice Related Functionality
151---------------------------------------------------------------------------------------
152*/
153
154 /**
155 *
Zafer Kabanb0a16682018-12-04 11:16:24 +0300156 * @param ontDevice
157 * @param provisioningType
Aharoni, Pavel (pa0916)ca3cb012018-10-22 15:29:57 +0300158 */
Zafer Kabanb0a16682018-12-04 11:16:24 +0300159 ONTDevice provisionONTDevice(ONTDevice ontDevice, OntProvisioningType provisioningType);
Aharoni, Pavel (pa0916)ca3cb012018-10-22 15:29:57 +0300160
161 /**
162 *
163 * @param id
164 */
165 void deleteONTDevice(Long id);
166
167 /**
168 *
169 * @param id
170 * @return ONTDevice
171 */
172 ONTDevice getONTDeviceById(Long id);
173
174 /**
175 *
176 * @param serialNumber
177 * @return ONTDevice
178 */
179 ONTDevice getONTDeviceBySerialNumber(String serialNumber);
180
181 /**
182 *
183 * @return all ONT devices
184 */
185 List<ONTDevice> getAllONTDevices();
186
187}