aboutsummaryrefslogtreecommitdiffstats
path: root/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java')
-rw-r--r--common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java78
1 files changed, 0 insertions, 78 deletions
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
deleted file mode 100644
index d1b2fb1d11..0000000000
--- a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.mso.openpojo.rules;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeDiagnosingMatcher;
-import org.openecomp.mso.logger.MsoLogger;
-
-import com.openpojo.reflection.PojoField;
-
-public class HasAnnotationPropertyWithValueMatcher<T extends PojoField> extends TypeSafeDiagnosingMatcher<T> {
- private MsoLogger logger=MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL);
- private final String attribute;
- private final Matcher<?> annotationMatcher;
- private final Class<? extends Annotation> annotationClass;
- public HasAnnotationPropertyWithValueMatcher(Class<? extends Annotation> clazz, String attribute, final Matcher<?> annotationMatcher) {
- this.attribute = attribute;
- this.annotationMatcher = annotationMatcher;
- this.annotationClass = clazz;
- }
-
- @Override
- protected boolean matchesSafely(T obj, final Description mismatchDescription) {
- final PojoField temp = (PojoField)obj;
- final Method method;
- try {
- Annotation a = temp.getAnnotation(this.annotationClass);
- if (a == null) {
- mismatchDescription.appendText("does not have annotation ").appendText(this.annotationClass.getSimpleName());
- return false;
- }
- method = a.getClass().getMethod(attribute);
- final Object result = method.invoke(a);
- if (!this.annotationMatcher.matches(result)) {
- this.annotationMatcher.describeMismatch(result, mismatchDescription);
- return false;
- }
- } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- mismatchDescription.appendText("does not have property ").appendText(attribute);
- logger.debug("Error occured", e);
- return false;
- }
- return true;
- }
-
- @Override
- public void describeTo(final Description description) {
- // Intentionally left blank.
- }
-
- public static <T extends PojoField> Matcher<T> hasAnnotationPropertyWithValue(Class<? extends Annotation> clazz, String attribute, final Matcher<?> annotationMatcher) {
- return new HasAnnotationPropertyWithValueMatcher<T>(clazz, attribute, annotationMatcher);
- }
-}