From b731e2f1dd0972409b136aebc7b463dd72c9cfad Mon Sep 17 00:00:00 2001 From: CNlucius Date: Tue, 13 Sep 2016 11:40:12 +0800 Subject: ONOSFW-171 O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius --- .../ovsdb/rfc/schema/type/ColumnTypeFactory.java | 123 --------------------- 1 file changed, 123 deletions(-) delete mode 100644 framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java (limited to 'framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java') diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java deleted file mode 100644 index 47b34a6b..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import org.onosproject.ovsdb.rfc.exception.AbnormalJsonNodeException; -import org.onosproject.ovsdb.rfc.utils.ObjectMapperUtil; - -import com.fasterxml.jackson.databind.JsonNode; - -/** - * ColumnType Factory class. - */ -public final class ColumnTypeFactory { - - /** - * Constructs a ColumnTypeFactory object. This class should not be - * instantiated. - */ - private ColumnTypeFactory() { - } - - /** - * Those Json's key/value pairs. - */ - public enum Type { - KEY("key"), VALUE("value"); - - private final String type; - - private Type(String type) { - this.type = type; - } - - /** - * Returns the type for Type. - * @return the type - */ - public String type() { - return type; - } - } - - /** - * JsonNode like - * "flow_tables":{"type":{"key":{"maxInteger":254,"minInteger":0,"type": - * "integer"},"min":0,"value":{"type":"uuid","refTable":"Flow_Table"},"max": - * "unlimited"}}. - * @param columnTypeJson the ColumnType JsonNode - * @return ColumnType - */ - public static ColumnType getColumnTypeFromJson(JsonNode columnTypeJson) { - if (!columnTypeJson.isObject() || !columnTypeJson.has(Type.VALUE.type())) { - return createAtomicColumnType(columnTypeJson); - } else if (!columnTypeJson.isValueNode() && columnTypeJson.has(Type.VALUE.type())) { - return createKeyValuedColumnType(columnTypeJson); - } - String message = "Abnormal ColumnType JsonNode, it should be AtomicColumnType or KeyValuedColumnType" - + ObjectMapperUtil.convertToString(columnTypeJson); - throw new AbnormalJsonNodeException(message); - } - - /** - * Create AtomicColumnType entity. - * @param json JsonNode - * @return AtomicColumnType entity - */ - private static AtomicColumnType createAtomicColumnType(JsonNode json) { - BaseType baseType = BaseTypeFactory.getBaseTypeFromJson(json, Type.KEY.type()); - int min = 1; - int max = 1; - JsonNode node = json.get("min"); - if (node != null && node.isNumber()) { - min = node.asInt(); - } - node = json.get("max"); - if (node != null) { - if (node.isNumber()) { - max = node.asInt(); - } else if (node.isTextual() && "unlimited".equals(node.asText())) { - max = Integer.MAX_VALUE; - } - } - return new AtomicColumnType(baseType, min, max); - } - - /** - * Create KeyValuedColumnType entity. - * @param json JsonNode - * @return KeyValuedColumnType entity - */ - private static KeyValuedColumnType createKeyValuedColumnType(JsonNode json) { - BaseType keyType = BaseTypeFactory.getBaseTypeFromJson(json, Type.KEY.type()); - BaseType valueType = BaseTypeFactory.getBaseTypeFromJson(json, Type.VALUE.type()); - int min = 1; - int max = 1; - JsonNode node = json.get("min"); - if (node != null && node.isNumber()) { - min = node.asInt(); - } - node = json.get("max"); - if (node != null) { - if (node.isNumber()) { - max = node.asInt(); - } else if (node.isTextual() && "unlimited".equals(node.asText())) { - max = Integer.MAX_VALUE; - } - } - return new KeyValuedColumnType(keyType, valueType, min, max); - } -} -- cgit 1.2.3-korg