diff options
Diffstat (limited to 'model/utilities/src/main/java')
3 files changed, 0 insertions, 244 deletions
diff --git a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/ClassBuilder.java b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/ClassBuilder.java deleted file mode 100644 index 8d1ed9497..000000000 --- a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/ClassBuilder.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2020 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.model.utilities.typeutils; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.List; - -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * This class is a utility class that builds a class with a set of user defined fields. It is used to get the Type of - * fields in Java schemas<br> For more information see:<br> <a - * href="http://stackoverflow.com/questions/39401083/class-forname-equivalent-for-creating-parameterizedtypes-from-string"> - * http://stackoverflow.com/questions/39401083/class-forname-equivalent-for-creating-parameterizedtypes-from-string</a><br> - * <a href="https://github.com/KetothXupack/stackoverflow-answers/tree/master/q39401083"> - * https://github.com/KetothXupack/stackoverflow-answers/tree/master/q39401083</a><br> - */ -public class ClassBuilder { - // Logger for this class - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ClassBuilder.class); - - private final Class<?> clazz; - private final List<ClassBuilder> parameters = new ArrayList<>(); - - /** - * Constructor that sets the class for the class builder. - * - * @param clazz the class of the class builder - */ - public ClassBuilder(final Class<?> clazz) { - this.clazz = clazz; - } - - /** - * Creates a {@link ClassBuilder} instance for a class with the given class name. - * - * @param className the class name of the class builder to create - * @return the class builder that is created - */ - public static ClassBuilder parse(final String className) { - try { - return new ClassBuilder(Class.forName(className)); - } catch (ClassNotFoundException e) { - try { - return new ClassBuilder(Class.forName("java.lang." + className)); - } catch (Exception classFindException) { - LOGGER.warn("class not found", classFindException); - throw new IllegalArgumentException("Class '" + className - + "' not found. Also looked for a class called 'java.lang." + className + "'", e); - } - } - } - - /** - * Adds a field to the class builder. Each field is itself a class builder. - * - * @param fieldBuilder the class builder for the field - */ - public void add(final ClassBuilder fieldBuilder) { - parameters.add(fieldBuilder); - } - - /** - * Builds the {@link Type} of the class. - * - * @return the {@link Type} of the class - */ - public Type build() { - // class is not parameterized - if (parameters.isEmpty()) { - return clazz; - } - Type[] paramTypes = new Type[parameters.size()]; - int paramTypeIndex = 0; - for (ClassBuilder classBuilder : parameters) { - paramTypes[paramTypeIndex++] = classBuilder.build(); - } - // TODO: Fix this for parameterized types if needed or adapt to work with generic types only - // return ParameterizedTypeImpl.make(clazz, paramTypes, null); - return null; - } -} diff --git a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/TypeBuilder.java b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/TypeBuilder.java deleted file mode 100644 index 5f75bca1c..000000000 --- a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/TypeBuilder.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.model.utilities.typeutils; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - -import org.antlr.v4.runtime.BailErrorStrategy; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.CharStreams; -import org.antlr.v4.runtime.CommonTokenStream; -import org.antlr.v4.runtime.TokenStream; - -/** - * This class builds a type from a grammar using ANTLR. - */ -public final class TypeBuilder { - /** - * Private constructor used to prevent sub class instantiation. - */ - private TypeBuilder() { - } - - /** - * Builds the Type of the Type string that was input. - * - * @param type the java Type as a string - * @return the Type of the string that was input - */ - public static Type build(final String type) { - if (type == null || type.length() == 0) { - throw new IllegalArgumentException( - "Blank type string passed to " + TypeBuilder.class.getName() + ".build(String type)"); - } - - try { - final CharStream stream = CharStreams.fromString(type); - final TokenStream tokenStream = new CommonTokenStream(new ParametrizedTypeLexer(stream)); - - final ParametrizedTypeParser parser = new ParametrizedTypeParser(tokenStream); - parser.removeErrorListeners(); - parser.setErrorHandler(new BailErrorStrategy()); - parser.setBuildParseTree(true); - return parser.type().value.build(); - } catch (final Exception e) { - throw new IllegalArgumentException("Failed to build type '" + type + "': " + e, e); - } - } - - /** - * Gets the class of Java Type. - * - * @param type the java Type as a string - * @return the java Type - */ - public static Class<?> getJavaTypeClass(final String type) { - return getJavaTypeClass(build(type)); - } - - /** - * Gets the class of Java Type. - * - * @param type the java Type as a Type - * @return the java Type - */ - public static Class<?> getJavaTypeClass(final Type type) { - if (type instanceof Class<?>) { - return (Class<?>) type; - } else if (type instanceof ParameterizedType) { - final Type raw = ((ParameterizedType) type).getRawType(); - if (!(raw instanceof Class<?>)) { - throw new IllegalArgumentException("The Parameterised javatype " + type + " with base type " + raw - + " is not a Java 'Class' that can be instantiated"); - } - return (Class<?>) raw; - } - throw new IllegalArgumentException( - "The Parameterised javatype " + type + " is not a Java 'Type' that has a 'Class'"); - } - - /** - * Gets the parameters of a Java Type. - * - * @param type the Java Type - * @return the parameters of the java Type - */ - public static Type[] getJavaTypeParameters(final Type type) { - if (type instanceof Class<?>) { - return new Type[0]; - } else if (type instanceof ParameterizedType) { - return ((ParameterizedType) type).getActualTypeArguments(); - } - throw new IllegalArgumentException( - "\"The Parameterised javatype \" + type + \" is not a Java 'Type' that has parameter types"); - } -} diff --git a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/package-info.java b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/package-info.java deleted file mode 100644 index ed4b079bf..000000000 --- a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/typeutils/package-info.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/** - * Provides utility classes that operate on and work with Java Types. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -package org.onap.policy.apex.model.utilities.typeutils; |