Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-sdc-vendor-license-lib / openecomp-sdc-vendor-license-core / src / main / java / org / openecomp / sdc / vendorlicense / dao / impl / zusammen / convertor / ElementToLimitConvertor.java
1 package org.openecomp.sdc.vendorlicense.dao.impl.zusammen.convertor;
2
3 import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
4 import org.openecomp.convertor.ElementConvertor;
5 import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity;
6 import org.openecomp.sdc.vendorlicense.dao.types.LimitType;
7
8 /**
9  * Created by ayalaben on 9/26/2017
10  */
11 public class ElementToLimitConvertor extends ElementConvertor {
12   @Override
13   public Object convert(Element element) {
14     if (element == null) {
15       return null;
16     }
17     return mapElementToLimitEntity(element);
18   }
19
20   private LimitEntity mapElementToLimitEntity(Element element) {
21     LimitEntity limit = new LimitEntity();
22     limit.setId(element.getElementId().getValue());
23     limit.setName(element.getInfo().getName());
24     limit.setDescription(element.getInfo().getDescription());
25     limit.setUnit(element.getInfo().getProperty("unit"));
26     limit.setMetric(element.getInfo().getProperty("metric"));
27     limit.setValue(element.getInfo().getProperty("value"));
28     limit.setTime(element.getInfo().getProperty("time"));
29     limit.setAggregationFunction(element.getInfo().getProperty("aggregationFunction"));
30     setLimitType(limit,element.getInfo().getProperty("type"));
31
32     return limit;
33   }
34
35   private void setLimitType(LimitEntity limit, String type) {
36     switch (LimitType.valueOf(type)) {
37       case ServiceProvider:
38         limit.setType(LimitType.ServiceProvider);
39         break;
40       case Vendor:
41         limit.setType(LimitType.Vendor);
42     }
43   }
44 }