[infinispan-commits] Infinispan SVN: r571 - in trunk/core/src/main/java/org/infinispan: config/parsing and 1 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Wed Jul 15 05:49:28 EDT 2009


Author: vblagojevic at jboss.com
Date: 2009-07-15 05:49:28 -0400 (Wed, 15 Jul 2009)
New Revision: 571

Removed:
   trunk/core/src/main/java/org/infinispan/config/parsing/CustomIntereceptorsSchemaWriter.java
Modified:
   trunk/core/src/main/java/org/infinispan/config/Configuration.java
   trunk/core/src/main/java/org/infinispan/config/ConfigurationElement.java
   trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java
   trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
   trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStoreConfig.java
Log:
schema creation final touches

Modified: trunk/core/src/main/java/org/infinispan/config/Configuration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/Configuration.java	2009-07-14 18:12:36 UTC (rev 570)
+++ trunk/core/src/main/java/org/infinispan/config/Configuration.java	2009-07-15 09:49:28 UTC (rev 571)
@@ -32,7 +32,6 @@
 import org.infinispan.factories.annotations.Inject;
 import org.infinispan.factories.annotations.NonVolatile;
 import org.infinispan.factories.annotations.Start;
-import org.infinispan.config.parsing.CustomIntereceptorsSchemaWriter;
 import org.infinispan.util.ReflectionUtil;
 import org.infinispan.util.concurrent.IsolationLevel;
 
@@ -40,6 +39,8 @@
  * Encapsulates the configuration of a Cache.
  *
  * @author <a href="mailto:manik at jboss.org">Manik Surtani (manik at jboss.org)</a>
+ * @author Vladimir Blagojevic
+ * @version $Id$
  * @since 4.0
  */
 @NonVolatile
@@ -61,8 +62,7 @@
          @ConfigurationElement(name = "expiration", parent = "default", description = ""),
          @ConfigurationElement(name = "unsafe", parent = "default", description = ""),
          @ConfigurationElement(name = "customInterceptors", parent = "default", 
-                  customReader=CustomInterceptorConfigReader.class,
-                  customWriter=CustomIntereceptorsSchemaWriter.class)         
+                  customReader=CustomInterceptorConfigReader.class)         
 })
 public class Configuration extends AbstractNamedCacheConfigurationBean {
    private static final long serialVersionUID = 5553791890144997466L;


Property changes on: trunk/core/src/main/java/org/infinispan/config/Configuration.java
___________________________________________________________________
Name: svn:keywords
   - Id Revision
   + Id

Modified: trunk/core/src/main/java/org/infinispan/config/ConfigurationElement.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/ConfigurationElement.java	2009-07-14 18:12:36 UTC (rev 570)
+++ trunk/core/src/main/java/org/infinispan/config/ConfigurationElement.java	2009-07-15 09:49:28 UTC (rev 571)
@@ -37,9 +37,13 @@
 @Target( { ElementType.TYPE})
 public @interface ConfigurationElement {
    
+   public enum Cardinality{ONE, UNBOUNDED};
+   
     String name();
 
     String parent();
+    
+    Cardinality cardinalityInParent() default Cardinality.ONE;
 
     String description() default "";
     


Property changes on: trunk/core/src/main/java/org/infinispan/config/ConfigurationElement.java
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java	2009-07-14 18:12:36 UTC (rev 570)
+++ trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java	2009-07-15 09:49:28 UTC (rev 571)
@@ -22,19 +22,27 @@
 package org.infinispan.config;
 
 import java.util.Locale;
+import java.util.Properties;
 
 import net.jcip.annotations.Immutable;
+
+import org.infinispan.config.ConfigurationElement.Cardinality;
 import org.infinispan.interceptors.base.CommandInterceptor;
+import org.infinispan.util.TypedProperties;
 
 /**
  * Holds information about the custom interceptors defined in the configuration file.
  *
  * @author Mircea.Markus at jboss.com
+ * @author Vladimir Blagojevic
+ * @version $Id$
  * @since 4.0
  */
 @Immutable
- at ConfigurationElement(name = "interceptor", parent = "customInterceptors")
+ at ConfigurationElement(name = "interceptor", parent = "customInterceptors" ,
+         cardinalityInParent=Cardinality.UNBOUNDED)
 public class CustomInterceptorConfig extends AbstractNamedCacheConfigurationBean {
+   
    private CommandInterceptor interceptor;
    private boolean isFirst;
    private boolean isLast;
@@ -43,6 +51,7 @@
    private String before;
    private Position position;   
    private String className;
+   private TypedProperties properties = EMPTY_PROPERTIES;
 
    public CustomInterceptorConfig() {
       super();
@@ -96,6 +105,15 @@
    public CustomInterceptorConfig(CommandInterceptor interceptor) {
       this.interceptor = interceptor;
    }
+   
+   public Properties getProperties() {
+      return properties;
+   }
+   
+   @ConfigurationProperty(name = "anyCustomProperty", parentElement = "interceptor")  
+   public void setProperties(Properties properties) {
+      this.properties = toTypedProperties(properties);
+   }
 
    public Position getPosition() {
       return position;


Property changes on: trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java
___________________________________________________________________
Name: svn:keywords
   - Id Revision
   + Id

Modified: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java	2009-07-14 18:12:36 UTC (rev 570)
+++ trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java	2009-07-15 09:49:28 UTC (rev 571)
@@ -21,6 +21,8 @@
  * Configuration component that encapsulates the global configuration.
  *
  * @author Manik Surtani
+ * @author Vladimir Blagojevic
+ * @version $Id$
  * @since 4.0
  */
 @NonVolatile
@@ -225,15 +227,15 @@
       return transportProperties;
    }
 
+   @ConfigurationProperties(elements = {
+            @ConfigurationProperty(name = "configurationString", parentElement = "transport"),
+            @ConfigurationProperty(name = "configurationFile", parentElement = "transport"),
+            @ConfigurationProperty(name = "configurationXml", parentElement = "transport") })
    public void setTransportProperties(Properties transportProperties) {
       testImmutability("transportProperties");
       this.transportProperties = toTypedProperties(transportProperties);
    }
-
-   @ConfigurationProperties(elements = {
-            @ConfigurationProperty(name = "configurationString", parentElement = "transport"),
-            @ConfigurationProperty(name = "configurationFile", parentElement = "transport"),
-            @ConfigurationProperty(name = "configurationXml", parentElement = "transport") })
+   
    public void setTransportProperties(String transportPropertiesString) {
       testImmutability("transportProperties");
       this.transportProperties = toTypedProperties(transportPropertiesString);


Property changes on: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
___________________________________________________________________
Name: svn:keywords
   - Id Revision
   + Id

Deleted: trunk/core/src/main/java/org/infinispan/config/parsing/CustomIntereceptorsSchemaWriter.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/parsing/CustomIntereceptorsSchemaWriter.java	2009-07-14 18:12:36 UTC (rev 570)
+++ trunk/core/src/main/java/org/infinispan/config/parsing/CustomIntereceptorsSchemaWriter.java	2009-07-15 09:49:28 UTC (rev 571)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.infinispan.config.parsing;
-
-import org.infinispan.config.parsing.ConfigurationElementWriter;
-import org.infinispan.config.parsing.TreeNode;
-import org.w3c.dom.Document;
-
-public class CustomIntereceptorsSchemaWriter implements ConfigurationElementWriter{
-
-   public void process(TreeNode node, Document c) {
-      
-      /*<xs:complexType name="customInterceptorsType">
-      <xs:sequence>
-         <xs:element name="interceptor" maxOccurs="unbounded">
-            <xs:complexType>
-               <xs:sequence>
-                  <xs:element name="property" maxOccurs="unbounded" type="tns:propertyType" minOccurs="0"/>
-               </xs:sequence>
-               <xs:attribute name="class" type="xs:string"/>
-               <xs:attribute name="position">
-                  <xs:simpleType>
-                     <xs:restriction base="xs:string">
-                        <xs:pattern value="[Ff][Ii][Rr][Ss][Tt]|[Ll][Aa][Ss][Tt]"/>
-                     </xs:restriction>
-                  </xs:simpleType>
-               </xs:attribute>
-               <xs:attribute name="before" type="xs:string"/>
-               <xs:attribute name="after" type="xs:string"/>
-               <xs:attribute name="index" type="tns:positiveNumber"/>
-            </xs:complexType>
-         </xs:element>
-      </xs:sequence>
-   </xs:complexType>*/
-   }
-
-}

Modified: trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStoreConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStoreConfig.java	2009-07-14 18:12:36 UTC (rev 570)
+++ trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStoreConfig.java	2009-07-15 09:49:28 UTC (rev 571)
@@ -3,6 +3,7 @@
 import org.infinispan.config.ConfigurationElement;
 import org.infinispan.config.ConfigurationElements;
 import org.infinispan.config.ConfigurationProperty;
+import org.infinispan.config.ConfigurationElement.Cardinality;
 import org.infinispan.loaders.LockSupportCacheStoreConfig;
 
 /**
@@ -21,10 +22,14 @@
  * before timing out and throwing an exception.  By default, this is set to <tt>60000</tt>.</li> </ul>
  *
  * @author Manik Surtani
+ * @autor Vladimir Blagojevic
+ * @version $Id$
  * @since 4.0
  */
 @ConfigurationElements(elements = {
-         @ConfigurationElement(name = "loader", parent = "loaders", description = "org.infinispan.loaders.file.FileCacheStore"),
+         @ConfigurationElement(name = "loader", parent = "loaders", 
+                  description = "org.infinispan.loaders.file.FileCacheStore",
+                  cardinalityInParent=Cardinality.UNBOUNDED),
          @ConfigurationElement(name = "properties", parent = "loader") })
 public class FileCacheStoreConfig extends LockSupportCacheStoreConfig {
    String location = "Infinispan-FileCacheStore";


Property changes on: trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStoreConfig.java
___________________________________________________________________
Name: svn:keywords
   - Id Revision
   + Id




More information about the infinispan-commits mailing list