--- /dev/null
+/*
+ * Copyright © 2017 Orange, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.common.fixedflex;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public final class FixedFlexImpl implements FixedFlexInterface {
+ private static final Logger LOG = LoggerFactory.getLogger(FixedFlexImpl.class);
+ private long index;
+ private double centerFrequency;
+ private double start;
+ private double stop;
+ private double wavelength;
+
+ public FixedFlexImpl(Long index, double centreFrequency, double start, double stop, double wavelength) {
+ this.index = index;
+ this.centerFrequency = centreFrequency;
+ this.start = start;
+ this.stop = stop;
+ this.wavelength = wavelength;
+ }
+
+ public FixedFlexImpl() {
+ this.index = 0L;
+ this.centerFrequency = 0;
+ this.start = 0;
+ this.stop = 0;
+ this.wavelength = 0;
+ }
+
+ @Override
+ /**
+ * @param index Wavelength number
+ * @return Returns FixedFlexImp object with the calculated result.
+ **/
+ public FixedFlexImpl getFixedFlexWaveMapping(long wlIndex) {
+ FixedFlexImpl fixedFlex = new FixedFlexImpl();
+ fixedFlex.centerFrequency = 196.1 - (wlIndex - 1) * 0.05;
+ fixedFlex.wavelength = 1528.77 + ((wlIndex - 1) * 0.39);
+ fixedFlex.start = fixedFlex.centerFrequency - 0.025;
+ fixedFlex.stop = fixedFlex.centerFrequency + 0.025;
+ return fixedFlex;
+ }
+
+ public double getCenterFrequency() {
+ return centerFrequency;
+ }
+
+ public double getStart() {
+ return start;
+ }
+
+ public long getIndex() {
+ return index;
+ }
+
+ public double getStop() {
+ return stop;
+ }
+
+ public double getWavelength() {
+ return wavelength;
+ }
+}