MatomoProviderConfiguration.java
/*
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community 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://opensource.org/licenses/ecl2.txt
*
* 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.opencastproject.statistics.provider.matomo.provider;
import org.opencastproject.statistics.api.DataResolution;
import org.opencastproject.statistics.api.ProviderConfiguration;
import org.opencastproject.statistics.api.ResourceType;
import com.google.gson.Gson;
import java.util.Set;
public class MatomoProviderConfiguration extends ProviderConfiguration {
private static final Gson gson = new Gson();
public static class MatomoProviderSource {
private String siteId;
private String method;
private String dimensionId;
private String aggregation;
private String aggregationVariable;
private Set<DataResolution> resolutions;
public MatomoProviderSource() {
// needed for gson
}
public MatomoProviderSource(
String siteId,
String method,
String dimensionId,
String aggregation,
String aggregationVariable,
Set<DataResolution> resolutions
) {
this.siteId = siteId;
this.method = method;
this.dimensionId = dimensionId;
this.aggregation = aggregation;
this.aggregationVariable = aggregationVariable;
this.resolutions = resolutions;
}
public String getSiteId() {
return siteId;
}
public String getMethod() {
return method;
}
public String getDimensionId() {
return dimensionId;
}
public String getAggregation() {
return aggregation;
}
public String getAggregationVariable() {
return aggregationVariable;
}
public Set<DataResolution> getResolutions() {
return resolutions;
}
}
private Set<MatomoProviderSource> sources;
public MatomoProviderConfiguration() {
// needed for gson
}
public MatomoProviderConfiguration(
String id,
String title,
String description,
ResourceType resourceType,
String type,
Set<MatomoProviderSource> sources
) {
super(id, title, description, resourceType, type);
this.sources = sources;
}
public Set<MatomoProviderSource> getSources() {
return sources;
}
public static MatomoProviderConfiguration fromJson(String json) {
return gson.fromJson(json, MatomoProviderConfiguration.class);
}
}