private BaseClientProperty parseRangePartition()

in fastmodel-transform/fastmodel-transform-api/src/main/java/com/aliyun/fastmodel/transform/api/extension/client/converter/ExtensionClientConverter.java [256:304]


    private BaseClientProperty parseRangePartition(PartitionDesc partitionDesc) {
        if (partitionDesc instanceof SingleRangePartition) {
            SingleRangePartition singleRangePartition = (SingleRangePartition)partitionDesc;
            SingleRangeClientPartition rangePartitionValue = new SingleRangeClientPartition();
            rangePartitionValue.setName(singleRangePartition.getName().getValue());
            rangePartitionValue.setIfNotExists(singleRangePartition.isIfNotExists());
            List<Property> propertyList = singleRangePartition.getPropertyList();
            if (propertyList != null && !propertyList.isEmpty()) {
                LinkedHashMap<String, String> linkedHashMap = Maps.newLinkedHashMap();
                for (Property p : propertyList) {
                    linkedHashMap.put(p.getName(), p.getValue());
                }
                rangePartitionValue.setProperties(linkedHashMap);
            }
            BaseClientPartitionKey partitionKey = toClientPartitionKey(singleRangePartition.getPartitionKey());
            rangePartitionValue.setPartitionKey(partitionKey);

            //property
            SingleRangePartitionProperty singleRangePartitionProperty = new SingleRangePartitionProperty();
            singleRangePartitionProperty.setValue(rangePartitionValue);
            return singleRangePartitionProperty;

        } else if (partitionDesc instanceof MultiRangePartition) {
            MultiRangePartition multiRangePartition = (MultiRangePartition)partitionDesc;
            MultiRangeClientPartition multiRangePartitionValue = new MultiRangeClientPartition();
            ListPartitionValue start = multiRangePartition.getStart();
            String startRaw = getRaw(start);
            multiRangePartitionValue.setStart(StringLiteralUtil.strip(startRaw));
            ListPartitionValue end = multiRangePartition.getEnd();
            String endRaw = getRaw(end);
            multiRangePartitionValue.setEnd(StringLiteralUtil.strip(endRaw));
            if (multiRangePartition.getLongLiteral() != null) {
                LongLiteral longLiteral = multiRangePartition.getLongLiteral();
                multiRangePartitionValue.setInterval(longLiteral.getValue());
            }
            IntervalLiteral intervalLiteral = multiRangePartition.getIntervalLiteral();
            if (intervalLiteral != null) {
                DateTimeEnum fromDateTime = intervalLiteral.getFromDateTime();
                multiRangePartitionValue.setDateTimeEnum(fromDateTime);
                LongLiteral value = (LongLiteral)intervalLiteral.getValue();
                multiRangePartitionValue.setInterval(value.getValue());
            }
            //property
            MultiRangePartitionProperty multiRangePartitionProperty = new MultiRangePartitionProperty();
            multiRangePartitionProperty.setValue(multiRangePartitionValue);
            return multiRangePartitionProperty;
        }
        return null;
    }