@@ -0,0 +1,2539 @@
+/*%0A * Copyright (c) 2018, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.%0A *%0A * WSO2 Inc. licenses this file to you under the Apache License,%0A * Version 2.0 (the %22License%22); you may not use this file except%0A * in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied. See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.wso2.carbon.siddhi.editor.core.util.designview.deserializers.types;%0A%0Aimport com.google.gson.JsonDeserializationContext;%0Aimport com.google.gson.JsonDeserializer;%0Aimport com.google.gson.JsonElement;%0Aimport com.google.gson.JsonObject;%0Aimport com.google.gson.JsonParseException;%0Aimport com.google.gson.JsonPrimitive;%0Aimport org.wso2.carbon.siddhi.editor.core.util.designview.beans.configs.siddhielements.aggregation.aggregationbytimeperiod.aggregationbytimerange.AggregateByTimeInterval;%0Aimport org.wso2.carbon.siddhi.editor.core.util.designview.beans.configs.siddhielements.aggregation.aggregationbytimeperiod.aggregationbytimerange.AggregateByTimeRange;%0Aimport org.wso2.carbon.siddhi.editor.core.util.designview.constants.AggregationByTimeType;%0A%0Aimport java.lang.reflect.Type;%0A%0A/**%0A * De-serializer for AggregateByTimePeriod class%0A */%0Apublic class AggregateByTimePeriodDeSerializer implements JsonDeserializer %7B%0A    private static final String TYPE = %22type%22;%0A%0A    @Override%0A    public Object deserialize(%0A            JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) %7B%0A        JsonObject jsonObject = jsonElement.getAsJsonObject();%0A        JsonPrimitive jsonPrimitive = (JsonPrimitive) jsonObject.get(TYPE);%0A        String attributesSelectionType = jsonPrimitive.getAsString();%0A        if (attributesSelectionType.equalsIgnoreCase(AggregationByTimeType.RANGE.toString())) %7B%0A            return jsonDeserializationContext.deserialize(jsonObject, AggregateByTimeRange.class);%0A        %7D else if (attributesSelectionType.equalsIgnoreCase(AggregationByTimeType.INTERVAL.toString())) %7B%0A            return jsonDeserializationContext.deserialize(jsonObject, AggregateByTimeInterval.class);%0A        %7D%0A        throw new JsonParseException(%22Unable to parse the AggregateByTimePeriod JSON since its type is unknown%22);%0A    %7D%0A%7D%0A

Implement deserializer for AggregateByTimePeriod