http://git-wip-us.apache.org/repos/asf/marmotta/blob/c6d0cc13/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/externalizer/ExternalizerTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/externalizer/ExternalizerTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/externalizer/ExternalizerTest.java deleted file mode 100644 index 9e57267..0000000 --- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/externalizer/ExternalizerTest.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * 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.marmotta.kiwi.test.externalizer; - -import org.apache.commons.lang3.RandomStringUtils; -import org.apache.marmotta.kiwi.caching.*; -import org.apache.marmotta.kiwi.model.rdf.KiWiAnonResource; -import org.apache.marmotta.kiwi.model.rdf.KiWiIntLiteral; -import org.apache.marmotta.kiwi.model.rdf.KiWiStringLiteral; -import org.apache.marmotta.kiwi.model.rdf.KiWiUriResource; -import org.apache.marmotta.kiwi.test.TestValueFactory; -import org.infinispan.commons.marshall.AdvancedExternalizer; -import org.infinispan.commons.marshall.StreamingMarshaller; -import org.infinispan.configuration.cache.CacheMode; -import org.infinispan.configuration.cache.Configuration; -import org.infinispan.configuration.cache.ConfigurationBuilder; -import org.infinispan.configuration.global.GlobalConfiguration; -import org.infinispan.configuration.global.GlobalConfigurationBuilder; -import org.infinispan.manager.DefaultCacheManager; -import org.infinispan.manager.EmbeddedCacheManager; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.openrdf.model.Value; -import org.openrdf.model.ValueFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.*; -import java.util.Random; - -/** - * Test the different externalizer implementations we provide for Infinispan - * - * @author Sebastian Schaffert ([email protected]) - */ -public class ExternalizerTest { - - private static ValueFactory valueFactory = new TestValueFactory(); - - private static Random rnd = new Random(); - - private static Logger log = LoggerFactory.getLogger(ExternalizerTest.class); - - private static StreamingMarshaller marshaller; - - - @BeforeClass - public static void setup() { - AdvancedExternalizer[] externalizers = new AdvancedExternalizer[] { - new UriExternalizer(), - new BNodeExternalizer(), - new StringLiteralExternalizer(), - new DateLiteralExternalizer(), - new BooleanLiteralExternalizer(), - new IntLiteralExternalizer(), - new DoubleLiteralExternalizer() - }; - - - GlobalConfiguration globalConfiguration = new GlobalConfigurationBuilder() - .transport() - .defaultTransport() - .serialization() - .addAdvancedExternalizer(externalizers) - .build(); - - Configuration defaultConfiguration = new ConfigurationBuilder() - .clustering() - .cacheMode(CacheMode.DIST_ASYNC) - .build(); - - EmbeddedCacheManager cacheManager = new DefaultCacheManager(globalConfiguration, defaultConfiguration, true); - - marshaller = cacheManager.getCache().getAdvancedCache().getComponentRegistry().getCacheMarshaller(); - - } - - - @Test - public void testUriResource() throws Exception { - marshall((KiWiUriResource) valueFactory.createURI("http://localhost/" + RandomStringUtils.randomAlphanumeric(8)), new UriExternalizer()); - } - - @Test - public void testBNode() throws Exception { - marshall((KiWiAnonResource) valueFactory.createBNode(), new BNodeExternalizer()); - } - - @Test - public void testStringLiteral() throws Exception { - marshall((KiWiStringLiteral) valueFactory.createLiteral(RandomStringUtils.randomAscii(40)), new StringLiteralExternalizer()); - } - - @Test - public void testLangLiteral() throws Exception { - marshall((KiWiStringLiteral) valueFactory.createLiteral(RandomStringUtils.randomAscii(40),"en"), new StringLiteralExternalizer()); - } - - @Test - public void testTypeLiteral() throws Exception { - marshall((KiWiStringLiteral) valueFactory.createLiteral(RandomStringUtils.randomAscii(40),valueFactory.createURI("http://localhost/" + RandomStringUtils.randomAlphanumeric(8))), new StringLiteralExternalizer()); - } - - - @Test - public void testIntLiteral() throws Exception { - marshall((KiWiIntLiteral) valueFactory.createLiteral(rnd.nextInt()), new IntLiteralExternalizer()); - } - - - /** - * Run the given object through the marshaller using an in-memory stream. - * @param origin - * @param <T> - * @return - */ - private <T> void marshall(T origin, AdvancedExternalizer<T> externalizer) throws IOException, ClassNotFoundException, InterruptedException { - log.info("- testing externalizer directly ..."); - ByteArrayOutputStream outBytes = new ByteArrayOutputStream(); - ObjectOutputStream out = new ObjectOutputStream(outBytes); - - externalizer.writeObject(out, origin); - out.close(); - - log.info(" object {}: serialized with {} bytes", origin, outBytes.size()); - - ByteArrayInputStream inBytes = new ByteArrayInputStream(outBytes.toByteArray()); - ObjectInputStream in = new ObjectInputStream(inBytes); - - T destination1 = externalizer.readObject(in); - - Assert.assertEquals(origin,destination1); - - log.info("- testing externalizer with infinispan marshaller ..."); - - byte[] bytes = marshaller.objectToByteBuffer(origin); - log.info(" object {}: serialized with {} bytes", origin, bytes.length); - - Object destination2 = marshaller.objectFromByteBuffer(bytes); - - Assert.assertEquals(origin, destination2); - - } - - - /** - * Return a random RDF value, either a reused object (10% chance) or of any other kind. - * @return - */ - protected Value randomNode() { - Value object; - switch(rnd.nextInt(6)) { - case 0: object = valueFactory.createURI("http://localhost/" + RandomStringUtils.randomAlphanumeric(8)); - break; - case 1: object = valueFactory.createBNode(); - break; - case 2: object = valueFactory.createLiteral(RandomStringUtils.randomAscii(40)); - break; - case 3: object = valueFactory.createLiteral(rnd.nextInt()); - break; - case 4: object = valueFactory.createLiteral(rnd.nextDouble()); - break; - case 5: object = valueFactory.createLiteral(rnd.nextBoolean()); - break; - default: object = valueFactory.createURI("http://localhost/" + RandomStringUtils.randomAlphanumeric(8)); - break; - - } - return object; - } - -}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/c6d0cc13/libraries/kiwi/pom.xml ---------------------------------------------------------------------- diff --git a/libraries/kiwi/pom.xml b/libraries/kiwi/pom.xml index 9e7aa42..c244567 100644 --- a/libraries/kiwi/pom.xml +++ b/libraries/kiwi/pom.xml @@ -111,6 +111,8 @@ <modules> <module>kiwi-triplestore</module> + <module>kiwi-caching-infinispan</module> + <module>kiwi-caching-hazelcast</module> <module>kiwi-versioning</module> <module>kiwi-reasoner</module> <module>kiwi-sparql</module> http://git-wip-us.apache.org/repos/asf/marmotta/blob/c6d0cc13/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index 4c03406..f2c11d6 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -1049,6 +1049,14 @@ <version>6.0.1.Final</version> </dependency> + + <dependency> + <groupId>com.hazelcast</groupId> + <artifactId>hazelcast</artifactId> + <version>3.1.6</version> + </dependency> + + <!-- use stable versions for some dependencies --> <dependency> <groupId>org.jboss.spec.javax.annotation</groupId>
