Skip to content

Commit

Permalink
ISPN-8952 Support wildcard parsers
Browse files Browse the repository at this point in the history
  • Loading branch information
tristantarrant authored and Gustavo Fernandes committed Mar 28, 2018
1 parent 82aa647 commit 8aa1043
Show file tree
Hide file tree
Showing 18 changed files with 87 additions and 155 deletions.
@@ -1,5 +1,6 @@
package org.infinispan.configuration.parsing; package org.infinispan.configuration.parsing;


import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;


Expand All @@ -12,6 +13,7 @@
* @since 6.0 * @since 6.0
*/ */
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Repeatable(Namespaces.class)
public @interface Namespace { public @interface Namespace {
/** /**
* The URI of the namespace. Defaults to the empty string. * The URI of the namespace. Defaults to the empty string.
Expand All @@ -22,4 +24,16 @@
* The root element of this namespace. * The root element of this namespace.
*/ */
String root(); String root();

/**
* The first version of the schema where this is supported. Defaults to 7.0. Only considered if {@link #uri()} ends
* with a wildcard
*/
String since() default "7.0";

/**
* The last version of the schema where this is supported. Defaults to the current release. Only considered if {@link #uri()} ends
* with a wildcard
*/
String until() default "";
} }
Expand Up @@ -93,20 +93,9 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({
@Namespace(uri = "urn:infinispan:config:9.2", root = "infinispan"), @Namespace(root = "infinispan")
@Namespace(uri = "urn:infinispan:config:9.1", root = "infinispan"), @Namespace(uri = "urn:infinispan:config:*", root = "infinispan")
@Namespace(uri = "urn:infinispan:config:9.0", root = "infinispan"),
@Namespace(root = "infinispan"),

@Namespace(uri = "urn:infinispan:config:8.0", root = "infinispan"),
@Namespace(uri = "urn:infinispan:config:8.1", root = "infinispan"),
@Namespace(uri = "urn:infinispan:config:8.2", root = "infinispan"),

@Namespace(uri = "urn:infinispan:config:7.0", root = "infinispan"),
@Namespace(uri = "urn:infinispan:config:7.1", root = "infinispan"),
@Namespace(uri = "urn:infinispan:config:7.2", root = "infinispan"),
})
public class Parser implements ConfigurationParser { public class Parser implements ConfigurationParser {


static final Log log = LogFactory.getLog(Parser.class); static final Log log = LogFactory.getLog(Parser.class);
Expand Down
Expand Up @@ -27,6 +27,7 @@
import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter; import javax.xml.stream.XMLStreamWriter;


import org.infinispan.Version;
import org.infinispan.commons.CacheConfigurationException; import org.infinispan.commons.CacheConfigurationException;
import org.infinispan.commons.util.CollectionFactory; import org.infinispan.commons.util.CollectionFactory;
import org.infinispan.commons.util.FileLookup; import org.infinispan.commons.util.FileLookup;
Expand Down Expand Up @@ -56,7 +57,7 @@
public class ParserRegistry implements NamespaceMappingParser { public class ParserRegistry implements NamespaceMappingParser {
private static final Log log = LogFactory.getLog(ParserRegistry.class); private static final Log log = LogFactory.getLog(ParserRegistry.class);
private final WeakReference<ClassLoader> cl; private final WeakReference<ClassLoader> cl;
private final ConcurrentMap<QName, ConfigurationParser> parserMappings; private final ConcurrentMap<QName, NamespaceParserPair> parserMappings;


public ParserRegistry() { public ParserRegistry() {
this(Thread.currentThread().getContextClassLoader()); this(Thread.currentThread().getContextClassLoader());
Expand Down Expand Up @@ -90,9 +91,9 @@ public ParserRegistry(ClassLoader classLoader, boolean defaultOnly) {
if (!skipParser) { if (!skipParser) {
for (Namespace ns : namespaces) { for (Namespace ns : namespaces) {
QName qName = new QName(ns.uri(), ns.root()); QName qName = new QName(ns.uri(), ns.root());
ConfigurationParser existingParser = parserMappings.putIfAbsent(qName, parser); NamespaceParserPair existing = parserMappings.putIfAbsent(qName, new NamespaceParserPair(ns, parser));
if (existingParser != null && !parser.getClass().equals(existingParser.getClass())) { if (existing != null && !parser.getClass().equals(existing.parser.getClass())) {
log.parserRootElementAlreadyRegistered(qName, parser.getClass().getName(), existingParser.getClass().getName()); log.parserRootElementAlreadyRegistered(qName, parser.getClass().getName(), existing.parser.getClass().getName());
} }
} }
} }
Expand Down Expand Up @@ -161,16 +162,32 @@ public void parse(XMLExtendedStreamReader reader, ConfigurationBuilderHolder hol
@Override @Override
public void parseElement(XMLExtendedStreamReader reader, ConfigurationBuilderHolder holder) throws XMLStreamException { public void parseElement(XMLExtendedStreamReader reader, ConfigurationBuilderHolder holder) throws XMLStreamException {
QName name = reader.getName(); QName name = reader.getName();
ConfigurationParser parser = parserMappings.get(name); // First we attempt to get the direct name
NamespaceParserPair parser = parserMappings.get(name);
if (parser == null) { if (parser == null) {
throw log.unsupportedConfiguration(name.getLocalPart(), name.getNamespaceURI()); // Next we strip off the version from the URI and look for a wildcard match
String uri = name.getNamespaceURI();
int lastColon = uri.lastIndexOf(':');
String baseUri = uri.substring(0, lastColon + 1) + "*";
parser = parserMappings.get(new QName(baseUri, name.getLocalPart()));
if (parser == null || !isSupportedNamespaceVersion(parser.namespace, uri.substring(lastColon + 1)))
throw log.unsupportedConfiguration(name.getLocalPart(), name.getNamespaceURI());
} }
Schema oldSchema = reader.getSchema(); Schema oldSchema = reader.getSchema();
reader.setSchema(Schema.fromNamespaceURI(name.getNamespaceURI())); reader.setSchema(Schema.fromNamespaceURI(name.getNamespaceURI()));
parser.readElement(reader, holder); parser.parser.readElement(reader, holder);
reader.setSchema(oldSchema); reader.setSchema(oldSchema);
} }


private boolean isSupportedNamespaceVersion(Namespace namespace, String version) {
short reqVersion = Version.getVersionShort(version);
if (reqVersion < Version.getVersionShort(namespace.since())) {
return false;
}
short untilVersion = namespace.until().length() > 0 ? Version.getVersionShort(namespace.until()) : Version.getVersionShort();
return reqVersion <= untilVersion;
}

/** /**
* Serializes a full configuration to an {@link OutputStream} * Serializes a full configuration to an {@link OutputStream}
* *
Expand Down Expand Up @@ -229,4 +246,14 @@ public String serialize(String name, Configuration configuration) {
throw new CacheConfigurationException(e); throw new CacheConfigurationException(e);
} }
} }

public static class NamespaceParserPair {
Namespace namespace;
ConfigurationParser parser;

NamespaceParserPair(Namespace namespace, ConfigurationParser parser) {
this.namespace = namespace;
this.parser = parser;
}
}
} }
Expand Up @@ -8,7 +8,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.ParserScope; import org.infinispan.configuration.parsing.ParserScope;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -19,10 +18,8 @@
* @author Tristan Tarrant * @author Tristan Tarrant
* @since 5.2 * @since 5.2
*/ */
@Namespaces({ @Namespace(uri = "urn:infinispan:config:mymodule", root = "sample-element")
@Namespace(uri = "urn:infinispan:config:mymodule", root = "sample-element"), @Namespace(root = "sample-element")
@Namespace(root = "sample-element")
})
public class MyParserExtension implements ConfigurationParser { public class MyParserExtension implements ConfigurationParser {


@Override @Override
Expand Down
Expand Up @@ -18,7 +18,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.ParserScope; import org.infinispan.configuration.parsing.ParserScope;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -33,12 +32,8 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({ @Namespace(root = "counters")
@Namespace(root = "counters"), @Namespace(uri = "urn:infinispan:config:counters:*", root = "counters", since = "9.0")
@Namespace(uri = "urn:infinispan:config:counters:9.2", root = "counters"),
@Namespace(uri = "urn:infinispan:config:counters:9.1", root = "counters"),
@Namespace(uri = "urn:infinispan:config:counters:9.0", root = "counters")
})
public class CounterConfigurationParser implements ConfigurationParser { public class CounterConfigurationParser implements ConfigurationParser {


private static final Log log = LogFactory.getLog(CounterConfigurationParser.class, Log.class); private static final Log log = LogFactory.getLog(CounterConfigurationParser.class, Log.class);
Expand Down
Expand Up @@ -9,7 +9,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.Parser; import org.infinispan.configuration.parsing.Parser;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -22,17 +21,8 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({ @Namespace(root = "cli-loader")
@Namespace(root = "cli-loader"), @Namespace(uri = "urn:infinispan:config:store:cli:*", root = "cli-loader")
@Namespace(uri = "urn:infinispan:config:store:cli:9.2", root = "cli-loader"),
@Namespace(uri = "urn:infinispan:config:store:cli:9.1", root = "cli-loader"),
@Namespace(uri = "urn:infinispan:config:store:cli:9.0", root = "cli-loader"),
@Namespace(uri = "urn:infinispan:config:store:cli:8.0", root = "cli-loader"),
@Namespace(uri = "urn:infinispan:config:store:cli:7.2", root = "cli-loader"),
@Namespace(uri = "urn:infinispan:config:store:cli:7.1", root = "cli-loader"),
@Namespace(uri = "urn:infinispan:config:store:cli:7.0", root = "cli-loader"),

})
public class CLInterfaceLoaderConfigurationParser implements ConfigurationParser { public class CLInterfaceLoaderConfigurationParser implements ConfigurationParser {


@Override @Override
Expand Down
@@ -1,7 +1,6 @@
package org.infinispan.persistence.jdbc.configuration; package org.infinispan.persistence.jdbc.configuration;


import static org.infinispan.commons.util.StringPropertyReplacer.replaceProperties; import static org.infinispan.commons.util.StringPropertyReplacer.replaceProperties;
import static org.infinispan.persistence.jdbc.configuration.Element.MIXED_KEYED_JDBC_STORE;


import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamException;
Expand All @@ -12,7 +11,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.Parser; import org.infinispan.configuration.parsing.Parser;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -26,28 +24,12 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({ @Namespace(root = "string-keyed-jdbc-store")
@Namespace(root = "string-keyed-jdbc-store"), @Namespace(root = "binary-keyed-jdbc-store")
@Namespace(root = "binary-keyed-jdbc-store"), @Namespace(root = "mixed-keyed-jdbc-store")
@Namespace(root = "mixed-keyed-jdbc-store"), @Namespace(uri = "urn:infinispan:config:store:jdbc:*", root = "string-keyed-jdbc-store")
@Namespace(uri = "urn:infinispan:config:store:jdbc:9.2", root = "string-keyed-jdbc-store"), @Namespace(uri = "urn:infinispan:config:store:jdbc:*", root = "binary-keyed-jdbc-store", until = "9.0")
@Namespace(uri = "urn:infinispan:config:store:jdbc:9.1", root = "string-keyed-jdbc-store"), @Namespace(uri = "urn:infinispan:config:store:jdbc:*", root = "mixed-keyed-jdbc-store", until = "9.0")
@Namespace(uri = "urn:infinispan:config:store:jdbc:9.0", root = "string-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:9.0", root = "binary-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:9.0", root = "mixed-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:8.0", root = "string-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:8.0", root = "binary-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:8.0", root = "mixed-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.0", root = "string-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.1", root = "string-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.2", root = "string-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.0", root = "binary-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.1", root = "binary-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.2", root = "binary-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.0", root = "mixed-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.1", root = "mixed-keyed-jdbc-store"),
@Namespace(uri = "urn:infinispan:config:store:jdbc:7.2", root = "mixed-keyed-jdbc-store"),
})
public class JdbcStoreConfigurationParser implements ConfigurationParser { public class JdbcStoreConfigurationParser implements ConfigurationParser {


public JdbcStoreConfigurationParser() { public JdbcStoreConfigurationParser() {
Expand Down
Expand Up @@ -9,7 +9,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.Parser; import org.infinispan.configuration.parsing.Parser;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -20,16 +19,9 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({
@Namespace(root = "jpa-store"), @Namespace(root = "jpa-store")
@Namespace(uri = "urn:infinispan:config:store:jpa:9.2", root = "jpa-store"), @Namespace(uri = "urn:infinispan:config:store:jpa:*", root = "jpa-store")
@Namespace(uri = "urn:infinispan:config:store:jpa:9.1", root = "jpa-store"),
@Namespace(uri = "urn:infinispan:config:store:jpa:9.0", root = "jpa-store"),
@Namespace(uri = "urn:infinispan:config:store:jpa:8.0", root = "jpa-store"),
@Namespace(uri = "urn:infinispan:config:store:jpa:7.2", root = "jpa-store"),
@Namespace(uri = "urn:infinispan:config:store:jpa:7.1", root = "jpa-store"),
@Namespace(uri = "urn:infinispan:config:store:jpa:7.0", root = "jpa-store"),
})
public class JpaStoreConfigurationParser implements ConfigurationParser { public class JpaStoreConfigurationParser implements ConfigurationParser {
@Override @Override
public void readElement(XMLExtendedStreamReader reader, public void readElement(XMLExtendedStreamReader reader,
Expand Down
Expand Up @@ -8,7 +8,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.Parser; import org.infinispan.configuration.parsing.Parser;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -24,13 +23,8 @@
*/ */
@Deprecated @Deprecated
@MetaInfServices @MetaInfServices
@Namespaces({ @Namespace(root = "leveldb-store")
@Namespace(root = "leveldb-store"), @Namespace(uri = "urn:infinispan:config:store:leveldb:*", root = "leveldb-store", until = "8.0")
@Namespace(uri = "urn:infinispan:config:store:leveldb:8.0", root = "leveldb-store"),
@Namespace(uri = "urn:infinispan:config:store:leveldb:7.2", root = "leveldb-store"),
@Namespace(uri = "urn:infinispan:config:store:leveldb:7.1", root = "leveldb-store"),
@Namespace(uri = "urn:infinispan:config:store:leveldb:7.0", root = "leveldb-store"),
})
public class LevelDBStoreConfigurationParser implements ConfigurationParser { public class LevelDBStoreConfigurationParser implements ConfigurationParser {


private static final Log log = LogFactory.getLog(LevelDBStoreConfigurationParser.class); private static final Log log = LogFactory.getLog(LevelDBStoreConfigurationParser.class);
Expand Down
Expand Up @@ -12,7 +12,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.Parser; import org.infinispan.configuration.parsing.Parser;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -27,16 +26,8 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({ @Namespace(root = "remote-store")
@Namespace(root = "remote-store"), @Namespace(uri = "urn:infinispan:config:store:remote:*", root = "remote-store")
@Namespace(uri = "urn:infinispan:config:store:remote:9.2", root = "remote-store"),
@Namespace(uri = "urn:infinispan:config:store:remote:9.1", root = "remote-store"),
@Namespace(uri = "urn:infinispan:config:store:remote:9.0", root = "remote-store"),
@Namespace(uri = "urn:infinispan:config:store:remote:8.0", root = "remote-store"),
@Namespace(uri = "urn:infinispan:config:store:remote:7.2", root = "remote-store"),
@Namespace(uri = "urn:infinispan:config:store:remote:7.1", root = "remote-store"),
@Namespace(uri = "urn:infinispan:config:store:remote:7.0", root = "remote-store"),
})
public class RemoteStoreConfigurationParser implements ConfigurationParser { public class RemoteStoreConfigurationParser implements ConfigurationParser {


private static final Log log = LogFactory.getLog(RemoteStoreConfigurationParser.class, Log.class); private static final Log log = LogFactory.getLog(RemoteStoreConfigurationParser.class, Log.class);
Expand Down
Expand Up @@ -10,7 +10,6 @@
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder; import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.ConfigurationParser; import org.infinispan.configuration.parsing.ConfigurationParser;
import org.infinispan.configuration.parsing.Namespace; import org.infinispan.configuration.parsing.Namespace;
import org.infinispan.configuration.parsing.Namespaces;
import org.infinispan.configuration.parsing.ParseUtils; import org.infinispan.configuration.parsing.ParseUtils;
import org.infinispan.configuration.parsing.Parser; import org.infinispan.configuration.parsing.Parser;
import org.infinispan.configuration.parsing.XMLExtendedStreamReader; import org.infinispan.configuration.parsing.XMLExtendedStreamReader;
Expand All @@ -25,16 +24,8 @@
* @since 9.0 * @since 9.0
*/ */
@MetaInfServices @MetaInfServices
@Namespaces({ @Namespace(root = "rest-store")
@Namespace(root = "rest-store"), @Namespace(uri = "urn:infinispan:config:store:rest:*", root = "rest-store")
@Namespace(uri = "urn:infinispan:config:store:rest:9.2", root = "rest-store"),
@Namespace(uri = "urn:infinispan:config:store:rest:9.1", root = "rest-store"),
@Namespace(uri = "urn:infinispan:config:store:rest:9.0", root = "rest-store"),
@Namespace(uri = "urn:infinispan:config:store:rest:8.0", root = "rest-store"),
@Namespace(uri = "urn:infinispan:config:store:rest:7.2", root = "rest-store"),
@Namespace(uri = "urn:infinispan:config:store:rest:7.1", root = "rest-store"),
@Namespace(uri = "urn:infinispan:config:store:rest:7.0", root = "rest-store"),
})
public class RestStoreConfigurationParser implements ConfigurationParser { public class RestStoreConfigurationParser implements ConfigurationParser {


private static final Log log = LogFactory.getLog(RestStoreConfigurationParser.class, Log.class); private static final Log log = LogFactory.getLog(RestStoreConfigurationParser.class, Log.class);
Expand Down

0 comments on commit 8aa1043

Please sign in to comment.