예제 #1
0
  @Mapping(from = QoS.class, to = QosBase.class)
  public static QosBase map(QoS model, QosBase template) {
    QosBase entity = null;
    if (template != null) {
      entity = template;
    }
    QosType qosType =
        model.getType() != null
            ? QosType.valueOf(model.getType().toUpperCase())
            : entity != null
                ? QosType.valueOf(entity.getQosType().toString().toUpperCase())
                : QosType.STORAGE;
    switch (qosType) {
      case STORAGE:
        if (entity == null) {
          entity = new StorageQos();
        }
        if (model.isSetMaxThroughput()) {
          ((StorageQos) entity)
              .setMaxThroughput(IntegerMapper.mapMinusOneToNull(model.getMaxThroughput()));
        }
        if (model.isSetMaxReadThroughput()) {
          ((StorageQos) entity)
              .setMaxReadThroughput(IntegerMapper.mapMinusOneToNull(model.getMaxReadThroughput()));
        }
        if (model.isSetMaxWriteThroughput()) {
          ((StorageQos) entity)
              .setMaxWriteThroughput(
                  IntegerMapper.mapMinusOneToNull(model.getMaxWriteThroughput()));
        }
        if (model.isSetMaxIops()) {
          ((StorageQos) entity).setMaxIops(IntegerMapper.mapMinusOneToNull(model.getMaxIops()));
        }
        if (model.isSetMaxReadIops()) {
          ((StorageQos) entity)
              .setMaxReadIops(IntegerMapper.mapMinusOneToNull(model.getMaxReadIops()));
        }
        if (model.isSetMaxWriteIops()) {
          ((StorageQos) entity)
              .setMaxWriteIops(IntegerMapper.mapMinusOneToNull(model.getMaxWriteIops()));
        }
        break;
      case CPU:
        if (entity == null) {
          entity = new CpuQos();
        }
        if (model.isSetCpuLimit()) {
          ((CpuQos) entity).setCpuLimit(IntegerMapper.mapMinusOneToNull(model.getCpuLimit()));
        }
        break;
      case NETWORK:
        if (entity == null) {
          entity = new NetworkQoS();
        }
        if (model.isSetInboundAverage()) {
          ((NetworkQoS) entity)
              .setInboundAverage(IntegerMapper.mapMinusOneToNull(model.getInboundAverage()));
        }
        if (model.isSetInboundPeak()) {
          ((NetworkQoS) entity)
              .setInboundPeak(IntegerMapper.mapMinusOneToNull(model.getInboundPeak()));
        }
        if (model.isSetInboundBurst()) {
          ((NetworkQoS) entity)
              .setInboundBurst(IntegerMapper.mapMinusOneToNull(model.getInboundBurst()));
        }
        if (model.isSetOutboundAverage()) {
          ((NetworkQoS) entity)
              .setOutboundAverage(IntegerMapper.mapMinusOneToNull(model.getOutboundAverage()));
        }
        if (model.isSetOutboundPeak()) {
          ((NetworkQoS) entity)
              .setOutboundPeak(IntegerMapper.mapMinusOneToNull(model.getOutboundPeak()));
        }
        if (model.isSetOutboundBurst()) {
          ((NetworkQoS) entity)
              .setOutboundBurst(IntegerMapper.mapMinusOneToNull(model.getOutboundBurst()));
        }
        break;
      default:
        break;
    }

    if (model.isSetId()) {
      entity.setId(GuidUtils.asGuid(model.getId()));
    }
    if (model.isSetName()) {
      entity.setName(model.getName());
    }
    if (model.isSetDataCenter() && model.getDataCenter().isSetId()) {
      entity.setStoragePoolId(GuidUtils.asGuid(model.getDataCenter().getId()));
    }
    if (model.isSetDescription()) {
      entity.setDescription(model.getDescription());
    }

    return entity;
  }
예제 #2
0
  @Mapping(from = QosBase.class, to = QoS.class)
  public static QoS map(QosBase entity, QoS template) {
    QoS model = template != null ? template : new QoS();
    model.setId(entity.getId().toString());
    model.setName(entity.getName());
    model.setType(
        org.ovirt.engine.api.model.QosType.fromValue(entity.getQosType().toString())
            .name()
            .toLowerCase());
    model.setDataCenter(new DataCenter());
    model.getDataCenter().setId(entity.getStoragePoolId().toString());
    model.setDescription(entity.getDescription());
    switch (entity.getQosType()) {
      case STORAGE:
        StorageQos storageQos = null;
        // avoid findbugs error.
        if (entity instanceof StorageQos) {
          storageQos = (StorageQos) entity;
        }
        // avoid findbugs error.
        if (storageQos == null) {
          return model;
        }
        model.setMaxThroughput(storageQos.getMaxThroughput());
        model.setMaxReadThroughput(storageQos.getMaxReadThroughput());
        model.setMaxWriteThroughput(storageQos.getMaxWriteThroughput());
        model.setMaxIops(storageQos.getMaxIops());
        model.setMaxReadIops(storageQos.getMaxReadIops());
        model.setMaxWriteIops(storageQos.getMaxWriteIops());
        break;
      case CPU:
        CpuQos cpuQos = null;
        // avoid findbugs error.
        if (entity instanceof CpuQos) {
          cpuQos = (CpuQos) entity;
        }
        // avoid findbugs error.
        if (cpuQos == null) {
          return model;
        }
        model.setCpuLimit(cpuQos.getCpuLimit());
        break;
      case NETWORK:
        NetworkQoS networkQos = null;
        // avoid findbugs error.
        if (entity instanceof NetworkQoS) {
          networkQos = (NetworkQoS) entity;
        }
        // avoid findbugs error.
        if (networkQos == null) {
          return model;
        }
        model.setInboundAverage(networkQos.getInboundAverage());
        model.setInboundPeak(networkQos.getInboundPeak());
        model.setInboundBurst(networkQos.getInboundBurst());
        model.setOutboundAverage(networkQos.getOutboundAverage());
        model.setOutboundPeak(networkQos.getOutboundPeak());
        model.setOutboundBurst(networkQos.getOutboundBurst());
        break;
      default:
        break;
    }

    return model;
  }