This is an automated email from the ASF dual-hosted git repository. kaspersor pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/metamodel.git
commit 5e9f2b32eae189f59ea1fc0d9a9db650a60b93e8 Author: Kasper Sørensen <[email protected]> AuthorDate: Thu Mar 28 12:26:21 2019 -0700 Added a DataContextFactory for the new .arff file module. --- .../metamodel/arff/ArffDataContextFactory.java | 51 ++++++++++++++++++++++ ...org.apache.metamodel.factory.DataContextFactory | 1 + 2 files changed, 52 insertions(+) diff --git a/arff/src/main/java/org/apache/metamodel/arff/ArffDataContextFactory.java b/arff/src/main/java/org/apache/metamodel/arff/ArffDataContextFactory.java new file mode 100644 index 0000000..632479a --- /dev/null +++ b/arff/src/main/java/org/apache/metamodel/arff/ArffDataContextFactory.java @@ -0,0 +1,51 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.apache.metamodel.arff; + +import java.io.File; + +import org.apache.metamodel.ConnectionException; +import org.apache.metamodel.DataContext; +import org.apache.metamodel.factory.AbstractDataContextFactory; +import org.apache.metamodel.factory.DataContextFactory; +import org.apache.metamodel.factory.DataContextProperties; +import org.apache.metamodel.factory.ResourceFactoryRegistry; +import org.apache.metamodel.factory.UnsupportedDataContextPropertiesException; +import org.apache.metamodel.util.Resource; + +/** + * {@link DataContextFactory} for {@link ArffDataContext} which reads .arff files. + */ +public class ArffDataContextFactory extends AbstractDataContextFactory { + + @Override + protected String getType() { + return "arff"; + } + + @Override + public DataContext create(DataContextProperties properties, ResourceFactoryRegistry resourceFactoryRegistry) + throws UnsupportedDataContextPropertiesException, ConnectionException { + assert accepts(properties, resourceFactoryRegistry); + + final Resource resource = resourceFactoryRegistry.createResource(properties.getResourceProperties()); + + return new ArffDataContext(resource); + } +} diff --git a/arff/src/main/resources/META-INF/services/org.apache.metamodel.factory.DataContextFactory b/arff/src/main/resources/META-INF/services/org.apache.metamodel.factory.DataContextFactory new file mode 100644 index 0000000..5626525 --- /dev/null +++ b/arff/src/main/resources/META-INF/services/org.apache.metamodel.factory.DataContextFactory @@ -0,0 +1 @@ +org.apache.metamodel.arff.ArffDataContextFactory
