[jboss-cvs] JBossAS SVN: r91798 - projects/logging-service-metadata/trunk/src/main/java/org/jboss/logging/metadata.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jul 29 21:02:16 EDT 2009


Author: david.lloyd at jboss.com
Date: 2009-07-29 21:02:16 -0400 (Wed, 29 Jul 2009)
New Revision: 91798

Modified:
   projects/logging-service-metadata/trunk/src/main/java/org/jboss/logging/metadata/LoggingMetaDataHelper.java
Log:
Fix problems with filter installation

Modified: projects/logging-service-metadata/trunk/src/main/java/org/jboss/logging/metadata/LoggingMetaDataHelper.java
===================================================================
--- projects/logging-service-metadata/trunk/src/main/java/org/jboss/logging/metadata/LoggingMetaDataHelper.java	2009-07-30 00:32:47 UTC (rev 91797)
+++ projects/logging-service-metadata/trunk/src/main/java/org/jboss/logging/metadata/LoggingMetaDataHelper.java	2009-07-30 01:02:16 UTC (rev 91798)
@@ -132,7 +132,7 @@
         }
         final FilterMetaData filterMetaData = abstractLoggerMetaData.getFilterMetaData();
         if (filterMetaData != null) {
-            builder.addPropertyMetaData("filter", getValue(context, filterMetaData));
+            builder.addPropertyMetaData("filter", getValue(beanMetaDataList, context, filterMetaData));
         }
         final BeanMetaData loggerBeanMetaData = builder.getBeanMetaData();
         // now install handlers
@@ -229,7 +229,7 @@
         // filter
         final FilterMetaData filter = handlerMetaData.getFilterMetaData();
         if (filter != null) {
-            builder.addPropertyMetaData("filter", getValue(context, filter));
+            builder.addPropertyMetaData("filter", getValue(beanMetaDataList, context, filter));
         }
         // formatter
         final FormatterMetaData formatter = handlerMetaData.getFormatterMetaData();
@@ -306,7 +306,6 @@
             throw new NullPointerException("name is null");
         }
         final AbstractValueFactoryMetaData avfmd = new AbstractValueFactoryMetaData(getContextName(context), "getLevelForName");
-        avfmd.setBean(Level.class.getName());
         final List<ParameterMetaData> parameterList = new ArrayList<ParameterMetaData>(1);
         avfmd.setParameters(parameterList);
         parameterList.add(new AbstractParameterMetaData(String.class.getName(), name));
@@ -321,21 +320,20 @@
             throw new NullPointerException("category is null");
         }
         final AbstractValueFactoryMetaData avfmd = new AbstractValueFactoryMetaData(getContextName(context), "getLogger");
-        avfmd.setBean(Logger.class.getName());
         final List<ParameterMetaData> parameterList = new ArrayList<ParameterMetaData>(1);
         avfmd.setParameters(parameterList);
         parameterList.add(new AbstractParameterMetaData(String.class.getName(), category));
         return avfmd;
     }
 
-    private static ValueMetaData getValue(final String context, final FilterMetaData filterMetaData) {
+    private static ValueMetaData getValue(final List<BeanMetaData> beanMetaDataList, final String context, final FilterMetaData filterMetaData) {
         final String name = filterMetaData.getName();
         final String beanName = name == null ? getAnonymousName(context, Kind.FILTER) : getName(context, Kind.FILTER, name);
         final Object value = filterMetaData.getValue();
-        return getFilterValue(beanName, context, value);
+        return getFilterValue(beanMetaDataList, beanName, context, value);
     }
 
-    private static ValueMetaData getFilterValue(final String beanName, final String context, final Object value) {
+    private static ValueMetaData getFilterValue(final List<BeanMetaData> beanMetaDataList, final String beanName, final String context, final Object value) {
         if (value instanceof ValueMetaData) {
             return (ValueMetaData) value;
         } else if (value instanceof RefMetaData) {
@@ -350,36 +348,46 @@
             }
             final List<ValueMetaData> filterList = builder.createArray();
             for (Object filterValue : metaData.getFilterMetaDataList()) {
-                filterList.add(getFilterValue(getAnonymousName(context, Kind.FILTER), context, filterValue));
+                filterList.add(getFilterValue(beanMetaDataList, getAnonymousName(context, Kind.FILTER), context, filterValue));
             }
             builder.addConstructorParameter(Filter[].class.getName(), (ValueMetaData) filterList);
-            return builder.getBeanMetaData();
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         } else if (value instanceof AcceptFilterMetaData) {
             return new AbstractValueMetaData(AcceptAllFilter.getInstance());
         } else if (value instanceof DenyFilterMetaData) {
             return new AbstractValueMetaData(DenyAllFilter.getInstance());
         } else if (value instanceof NotFilterMetaData) {
             final BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanName, InvertFilter.class.getName());
-            builder.addPropertyMetaData("target", getFilterValue(getAnonymousName(context, Kind.FILTER), context, ((NotFilterMetaData)value).getValue()));
-            return builder.getBeanMetaData();
+            builder.addPropertyMetaData("target", getFilterValue(beanMetaDataList, getAnonymousName(context, Kind.FILTER), context, ((NotFilterMetaData)value).getValue()));
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         } else if (value instanceof PatternFormatterMetaData) {
             final PatternFormatterMetaData metaData = (PatternFormatterMetaData) value;
             final String pattern = metaData.getPattern();
             final BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanName, RegexFilter.class.getName());
             builder.addConstructorParameter(String.class.getName(), pattern);
-            return builder.getBeanMetaData();
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         } else if (value instanceof ReplaceFilterMetaData) {
             final BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanName, SubstituteFilter.class.getName());
             final ReplaceFilterMetaData metaData = (ReplaceFilterMetaData) value;
             builder.addConstructorParameter(String.class.getName(), metaData.getPattern());
             builder.addConstructorParameter(String.class.getName(), metaData.getReplacement());
             builder.addConstructorParameter(boolean.class.getName(), Boolean.valueOf(metaData.isReplaceAll()));
-            return builder.getBeanMetaData();
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         } else if (value instanceof LevelFilterMetaData) {
             final BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanName, LevelFilter.class.getName());
             final LevelFilterMetaData metaData = (LevelFilterMetaData) value;
             builder.addConstructorParameter(Level.class.getName(), getLevelInjectValue(context, metaData.getLevel()));
-            return builder.getBeanMetaData();
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         } else if (value instanceof LevelRangeFilterMetaData) {
             final BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanName, LevelRangeFilter.class.getName());
             final LevelRangeFilterMetaData metaData = (LevelRangeFilterMetaData) value;
@@ -387,12 +395,16 @@
             builder.addConstructorParameter(boolean.class.getName(), Boolean.valueOf(metaData.isMinInclusive()));
             builder.addConstructorParameter(Level.class.getName(), getLevelInjectValue(context, metaData.getMaxLevel()));
             builder.addConstructorParameter(boolean.class.getName(), Boolean.valueOf(metaData.isMaxInclusive()));
-            return builder.getBeanMetaData();
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         } else if (value instanceof LevelChangeFilterMetaData) {
             final BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanName, LevelChangingFilter.class.getName());
             final LevelChangeFilterMetaData metaData = (LevelChangeFilterMetaData) value;
             builder.addConstructorParameter(Level.class.getName(), getLevelInjectValue(context, metaData.getLevel()));
-            return builder.getBeanMetaData();
+            final BeanMetaData beanMetaData = builder.getBeanMetaData();
+            beanMetaDataList.add(beanMetaData);
+            return beanMetaData;
         }
         throw new IllegalStateException();
     }




More information about the jboss-cvs-commits mailing list