You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2016/11/04 11:55:24 UTC
svn commit: r1768021 - in /qpid/java/branches/6.1.x: ./
broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryGenerator.java
broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java
Author: orudyy
Date: Fri Nov 4 11:55:23 2016
New Revision: 1768021
URL: http://svn.apache.org/viewvc?rev=1768021&view=rev
Log:
QPID-7495: Add support for condition expression into conditionally available configured objects
merged from trunk using
svn merge -c 1768016 ^/qpid/java/trunk
Modified:
qpid/java/branches/6.1.x/ (props changed)
qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryGenerator.java
qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java
Propchange: qpid/java/branches/6.1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Nov 4 11:55:23 2016
@@ -9,5 +9,5 @@
/qpid/branches/java-broker-vhost-refactor/java:1493674-1494547
/qpid/branches/java-network-refactor/qpid/java:805429-821809
/qpid/branches/qpid-2935/qpid/java:1061302-1072333
-/qpid/java/trunk:1766544,1766547,1766553,1766666,1766796-1766797,1766806,1767251,1767267-1767268,1767275,1767310,1767326,1767329,1767332,1767514,1767523,1767738,1767825,1767847-1767848,1767882,1767914
+/qpid/java/trunk:1766544,1766547,1766553,1766666,1766796-1766797,1766806,1767251,1767267-1767268,1767275,1767310,1767326,1767329,1767332,1767514,1767523,1767738,1767825,1767847-1767848,1767882,1767914,1768016
/qpid/trunk/qpid:796646-796653
Modified: qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryGenerator.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryGenerator.java?rev=1768021&r1=1768020&r2=1768021&view=diff
==============================================================================
--- qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryGenerator.java (original)
+++ qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryGenerator.java Fri Nov 4 11:55:23 2016
@@ -477,10 +477,11 @@ public class ConfiguredObjectFactoryGene
private String generateObjectFactory(final Filer filer, final ExecutableElement constructorElement)
{
TypeElement classElement = (TypeElement) constructorElement.getEnclosingElement();
- String factoryName = classElement.getQualifiedName().toString() + "Factory";
+ String objectQualifiedClassName = classElement.getQualifiedName().toString();
+ String factoryName = objectQualifiedClassName + "Factory";
String factorySimpleName = classElement.getSimpleName().toString() + "Factory";
String objectSimpleName = classElement.getSimpleName().toString();
- processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Generating factory file for " + classElement.getQualifiedName().toString());
+ processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Generating factory file for " + objectQualifiedClassName);
final ManagedObjectFactoryConstructor annotation =
constructorElement.getAnnotation(ManagedObjectFactoryConstructor.class);
PackageElement packageElement = (PackageElement) classElement.getEnclosingElement();
@@ -544,13 +545,32 @@ public class ConfiguredObjectFactoryGene
pw.println(" }");
if(annotation.conditionallyAvailable())
{
+ final String condition = annotation.condition();
pw.println();
pw.println(" @Override");
pw.println(" public boolean isAvailable()");
pw.println(" {");
- pw.println(" return " + objectSimpleName + ".isAvailable();");
- pw.println(" }");
+ if ("".equals(condition))
+ {
+ pw.println(" return " + objectSimpleName + ".isAvailable();");
+ }
+ else
+ {
+ if (condition.matches("([\\w][\\w\\d_]+\\.)+[\\w][\\w\\d_\\$]*#[\\w\\d_]+\\s*\\(\\s*\\)"))
+ {
+ pw.println(" return " + condition.replace('#', '.') + ";");
+ }
+ else
+ {
+ processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
+ String.format(
+ "Invalid condition expression for '%s' : %s",
+ objectQualifiedClassName,
+ condition));
+ }
+ }
+ pw.println(" }");
}
pw.println("}");
Modified: qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java?rev=1768021&r1=1768020&r2=1768021&view=diff
==============================================================================
--- qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java (original)
+++ qpid/java/branches/6.1.x/broker-codegen/src/main/java/org/apache/qpid/server/model/ManagedObjectFactoryConstructor.java Fri Nov 4 11:55:23 2016
@@ -30,4 +30,6 @@ import java.lang.annotation.Target;
public @interface ManagedObjectFactoryConstructor
{
boolean conditionallyAvailable() default false;
+
+ String condition() default "";
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org