You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/02/24 17:14:57 UTC
svn commit: r1074197 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/model/
main/java/org/apache/camel/model/dataformat/
main/java/org/apache/camel/model/language/
main/java/org/apache/camel/model/loadbalancer/
test/java/org/apache/camel/m...
Author: davsclaus
Date: Thu Feb 24 16:14:57 2011
New Revision: 1074197
URL: http://svn.apache.org/viewvc?rev=1074197&view=rev
Log:
CAMEL-3693: Added sanity checker test that ensures the model is consistent. Fixed the errors it reported.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RollbackDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/WeightedLoadBalancerDefinition.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java Thu Feb 24 16:14:57 2011
@@ -37,7 +37,6 @@ import org.apache.camel.spi.RouteContext
@XmlAccessorType(XmlAccessType.FIELD)
@Deprecated
public class AOPDefinition extends OutputDefinition<AOPDefinition> {
-
@XmlAttribute
private String beforeUri;
@XmlAttribute
@@ -57,14 +56,26 @@ public class AOPDefinition extends Outpu
return beforeUri;
}
+ public void setBeforeUri(String beforeUri) {
+ this.beforeUri = beforeUri;
+ }
+
public String getAfterUri() {
return afterUri;
}
+ public void setAfterUri(String afterUri) {
+ this.afterUri = afterUri;
+ }
+
public String getAfterFinallyUri() {
return afterFinallyUri;
}
+ public void setAfterFinallyUri(String afterFinallyUri) {
+ this.afterFinallyUri = afterFinallyUri;
+ }
+
@Override
public String getShortName() {
return "aop";
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java Thu Feb 24 16:14:57 2011
@@ -70,8 +70,8 @@ public class DynamicRouterDefinition<Typ
String delimiter = getUriDelimiter() != null ? getUriDelimiter() : DEFAULT_DELIMITER;
DynamicRouter dynamicRouter = new DynamicRouter(routeContext.getCamelContext(), expression, delimiter);
- if (getIgnoreInvalidEndpoint() != null) {
- dynamicRouter.setIgnoreInvalidEndpoints(getIgnoreInvalidEndpoint());
+ if (getIgnoreInvalidEndpoints() != null) {
+ dynamicRouter.setIgnoreInvalidEndpoints(getIgnoreInvalidEndpoints());
}
return dynamicRouter;
}
@@ -88,7 +88,7 @@ public class DynamicRouterDefinition<Typ
this.ignoreInvalidEndpoints = ignoreInvalidEndpoints;
}
- public Boolean getIgnoreInvalidEndpoint() {
+ public Boolean getIgnoreInvalidEndpoints() {
return ignoreInvalidEndpoints;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RollbackDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RollbackDefinition.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RollbackDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RollbackDefinition.java Thu Feb 24 16:14:57 2011
@@ -45,10 +45,6 @@ public class RollbackDefinition extends
this.message = message;
}
- public String getMessage() {
- return message;
- }
-
@Override
public String getShortName() {
return "rollback";
@@ -76,6 +72,14 @@ public class RollbackDefinition extends
return answer;
}
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
public Boolean getMarkRollbackOnly() {
return markRollbackOnly;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java Thu Feb 24 16:14:57 2011
@@ -81,8 +81,8 @@ public class RoutingSlipDefinition<Type
String delimiter = getUriDelimiter() != null ? getUriDelimiter() : DEFAULT_DELIMITER;
RoutingSlip routingSlip = new RoutingSlip(routeContext.getCamelContext(), expression, delimiter);
- if (getIgnoreInvalidEndpoint() != null) {
- routingSlip.setIgnoreInvalidEndpoints(getIgnoreInvalidEndpoint());
+ if (getIgnoreInvalidEndpoints() != null) {
+ routingSlip.setIgnoreInvalidEndpoints(getIgnoreInvalidEndpoints());
}
return routingSlip;
}
@@ -104,7 +104,7 @@ public class RoutingSlipDefinition<Type
this.ignoreInvalidEndpoints = ignoreInvalidEndpoints;
}
- public Boolean getIgnoreInvalidEndpoint() {
+ public Boolean getIgnoreInvalidEndpoints() {
return ignoreInvalidEndpoints;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java Thu Feb 24 16:14:57 2011
@@ -62,6 +62,14 @@ public class ThrowExceptionDefinition ex
return new ThrowExceptionProcessor(exception);
}
+ public String getRef() {
+ return ref;
+ }
+
+ public void setRef(String ref) {
+ this.ref = ref;
+ }
+
public Exception getException() {
return exception;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java Thu Feb 24 16:14:57 2011
@@ -43,14 +43,26 @@ public class BindyDataFormat extends Dat
public BindyDataFormat() {
}
- public void setPackages(String[] packages) {
- this.packages = packages;
+ public BindyType getType() {
+ return type;
}
public void setType(BindyType type) {
this.type = type;
}
+ public String[] getPackages() {
+ return packages;
+ }
+
+ public void setPackages(String[] packages) {
+ this.packages = packages;
+ }
+
+ public String getLocale() {
+ return locale;
+ }
+
public void setLocale(String locale) {
this.locale = locale;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java Thu Feb 24 16:14:57 2011
@@ -103,39 +103,75 @@ public class CryptoDataFormat extends Da
}
}
+ public String getAlgorithm() {
+ return algorithm;
+ }
+
public void setAlgorithm(String algorithm) {
this.algorithm = algorithm;
}
+ public String getCryptoProvider() {
+ return cryptoProvider;
+ }
+
public void setCryptoProvider(String cryptoProvider) {
this.cryptoProvider = cryptoProvider;
}
- public void setKeyReference(String keyReference) {
- this.keyRef = keyReference;
+ public String getKeyRef() {
+ return keyRef;
+ }
+
+ public void setKeyRef(String keyRef) {
+ this.keyRef = keyRef;
+ }
+
+ public String getInitVectorRef() {
+ return initVectorRef;
}
public void setInitVectorRef(String initVectorRef) {
this.initVectorRef = initVectorRef;
}
+ public String getAlgorithmParameterRef() {
+ return algorithmParameterRef;
+ }
+
public void setAlgorithmParameterRef(String algorithmParameterRef) {
this.algorithmParameterRef = algorithmParameterRef;
}
+ public Integer getBuffersize() {
+ return buffersize;
+ }
+
public void setBuffersize(Integer buffersize) {
this.buffersize = buffersize;
}
+ public String getMacAlgorithm() {
+ return macAlgorithm;
+ }
+
public void setMacAlgorithm(String macAlgorithm) {
this.macAlgorithm = macAlgorithm;
}
+ public Boolean getShouldAppendHMAC() {
+ return shouldAppendHMAC;
+ }
+
public void setShouldAppendHMAC(Boolean shouldAppendHMAC) {
this.shouldAppendHMAC = shouldAppendHMAC;
}
- public void setShouldInlineInitVector(Boolean inline) {
+ public Boolean getInline() {
+ return inline;
+ }
+
+ public void setInline(Boolean inline) {
this.inline = inline;
}
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java Thu Feb 24 16:14:57 2011
@@ -74,23 +74,31 @@ public class JaxbDataFormat extends Data
public void setPrettyPrint(Boolean prettyPrint) {
this.prettyPrint = prettyPrint;
}
-
+
public Boolean getIgnoreJAXBElement() {
return ignoreJAXBElement;
}
-
+
public void setIgnoreJAXBElement(Boolean ignoreJAXBElement) {
this.ignoreJAXBElement = ignoreJAXBElement;
}
-
+
public Boolean getFilterNonXmlChars() {
return filterNonXmlChars;
}
-
+
public void setFilterNonXmlChars(Boolean filterNonXmlChars) {
this.filterNonXmlChars = filterNonXmlChars;
}
+ public String getEncoding() {
+ return encoding;
+ }
+
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
public String getPartClass() {
return partClass;
}
@@ -99,16 +107,12 @@ public class JaxbDataFormat extends Data
this.partClass = partClass;
}
- public void setPartNamespace(String partNamespace) {
- this.partNamespace = partNamespace;
+ public String getPartNamespace() {
+ return partNamespace;
}
- public String getEncoding() {
- return encoding;
- }
-
- public void setEncoding(String encoding) {
- this.encoding = encoding;
+ public void setPartNamespace(String partNamespace) {
+ this.partNamespace = partNamespace;
}
@Override
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java Thu Feb 24 16:14:57 2011
@@ -75,6 +75,14 @@ public class JsonDataFormat extends Data
this.unmarshalType = unmarshalType;
}
+ public JsonLibrary getLibrary() {
+ return library;
+ }
+
+ public void setLibrary(JsonLibrary library) {
+ this.library = library;
+ }
+
@Override
protected DataFormat createDataFormat(RouteContext routeContext) {
if (library == JsonLibrary.XStream) {
@@ -90,7 +98,6 @@ public class JsonDataFormat extends Data
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
- Boolean answer = ObjectHelper.toBoolean(getPrettyPrint());
return super.createDataFormat(routeContext);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java Thu Feb 24 16:14:57 2011
@@ -47,15 +47,23 @@ public class ProtobufDataFormat extends
this();
setInstanceClass(instanceClass);
}
-
+
+ public String getInstanceClass() {
+ return instanceClass;
+ }
+
public void setInstanceClass(String instanceClass) {
this.instanceClass = instanceClass;
}
-
- public void setDefaultInstance(Object instance) {
- this.defaultInstance = instance;
+
+ public Object getDefaultInstance() {
+ return defaultInstance;
}
-
+
+ public void setDefaultInstance(Object defaultInstance) {
+ this.defaultInstance = defaultInstance;
+ }
+
@Override
protected void configureDataFormat(DataFormat dataFormat) {
if (this.instanceClass != null) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java Thu Feb 24 16:14:57 2011
@@ -91,6 +91,22 @@ public class MethodCallExpression extend
return "bean";
}
+ public String getBean() {
+ return bean;
+ }
+
+ public void setBean(String bean) {
+ this.bean = bean;
+ }
+
+ public String getRef() {
+ return ref;
+ }
+
+ public void setRef(String ref) {
+ this.ref = ref;
+ }
+
public String getMethod() {
return method;
}
@@ -99,6 +115,22 @@ public class MethodCallExpression extend
this.method = method;
}
+ public Class<?> getBeanType() {
+ return beanType;
+ }
+
+ public void setBeanType(Class<?> beanType) {
+ this.beanType = beanType;
+ }
+
+ public Object getInstance() {
+ return instance;
+ }
+
+ public void setInstance(Object instance) {
+ this.instance = instance;
+ }
+
@Override
public Expression createExpression(CamelContext camelContext) {
Expression answer;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/WeightedLoadBalancerDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/WeightedLoadBalancerDefinition.java?rev=1074197&r1=1074196&r2=1074197&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/WeightedLoadBalancerDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/WeightedLoadBalancerDefinition.java Thu Feb 24 16:14:57 2011
@@ -91,10 +91,18 @@ public class WeightedLoadBalancerDefinit
return distributionRatio;
}
- public void setDistributionRatioList(String distributionRatio) {
+ public void setDistributionRatio(String distributionRatio) {
this.distributionRatio = distributionRatio;
}
+ public String getDistributionRatioDelimiter() {
+ return distributionRatioDelimiter;
+ }
+
+ public void setDistributionRatioDelimiter(String distributionRatioDelimiter) {
+ this.distributionRatioDelimiter = distributionRatioDelimiter;
+ }
+
@Override
public String toString() {
if (!isRoundRobin()) {
Added: camel/trunk/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java?rev=1074197&view=auto
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java (added)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java Thu Feb 24 16:14:57 2011
@@ -0,0 +1,106 @@
+/**
+ * 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.camel.model;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.Set;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementRef;
+
+import junit.framework.TestCase;
+import org.apache.camel.impl.DefaultPackageScanClassResolver;
+import org.apache.camel.spi.PackageScanClassResolver;
+import org.apache.camel.util.IntrospectionSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Performs sanity check on the model classes that their JAXB annotations and getter/setter match up.
+ */
+public class ModelSanityCheckerTest extends TestCase {
+
+ private static final Logger LOG = LoggerFactory.getLogger(ModelSanityCheckerTest.class);
+
+ private Set<Class<?>> discoverJAxbClasses() {
+ PackageScanClassResolver resolver = new DefaultPackageScanClassResolver();
+ String[] packages = Constants.JAXB_CONTEXT_PACKAGES.split(":");
+ return resolver.findAnnotated(XmlAccessorType.class, packages);
+ }
+
+ public void testSanity() throws Exception {
+ Set<Class<?>> classes = discoverJAxbClasses();
+ assertNotNull(classes);
+ assertTrue("There should be > 140 classes, was: " + classes.size(), classes.size() > 140);
+
+ // check each class is okay
+ for (Class clazz : classes) {
+
+ // skip ProcessorDefinition as its special
+ if (clazz == ProcessorDefinition.class) {
+ continue;
+ }
+ // skip RouteDefinition as its special
+ if (clazz == RouteDefinition.class) {
+ continue;
+ }
+
+ // check each declared field in the class
+ for (Field field : clazz.getDeclaredFields()) {
+ LOG.debug("Class {} has field {}", clazz.getName(), field.getName());
+
+ // does the field have a jaxb annotation?
+ boolean attribute = field.getAnnotation(XmlAttribute.class) != null;
+ boolean element = field.getAnnotation(XmlElement.class) != null;
+ boolean elementRef = field.getAnnotation(XmlElementRef.class) != null;
+
+ // only one of those 3 is allowed, so check that we don't have 2+ of them
+ if ((attribute && element) || (attribute && elementRef) || (element && elementRef)) {
+ fail("Class " + clazz.getName() + " has field " + field.getName() + " which has 2+ annotations that are not allowed together.");
+ }
+
+ // check getter/setter
+ if (attribute || element || elementRef) {
+ // check for getter/setter
+ Method getter = IntrospectionSupport.getPropertyGetter(clazz, field.getName());
+ Method setter = IntrospectionSupport.getPropertySetter(clazz, field.getName());
+
+ assertNotNull("Getter " + field.getName() + " on class " + clazz.getName() + " is missing", getter);
+ assertNotNull("Setter " + field.getName() + " on class " + clazz.getName() + " is missing", setter);
+ }
+ }
+
+ // we do not expect any JAXB annotations on methods
+ for (Method method : clazz.getDeclaredMethods()) {
+ LOG.debug("Class {} has method {}", clazz.getName(), method.getName());
+
+ // does the field have a jaxb annotation?
+ boolean attribute = method.getAnnotation(XmlAttribute.class) != null;
+ boolean element = method.getAnnotation(XmlElement.class) != null;
+ boolean elementRef = method.getAnnotation(XmlElementRef.class) != null;
+
+ assertFalse("Class " + clazz.getName() + " has method " + method.getName() + " should not have @XmlAttribute annotation", attribute);
+ assertFalse("Class " + clazz.getName() + " has method " + method.getName() + " should not have @XmlElement annotation", element);
+ assertFalse("Class " + clazz.getName() + " has method " + method.getName() + " should not have @XmlElementRef annotation", elementRef);
+ }
+ }
+
+ }
+
+}