You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2013/10/21 17:27:43 UTC
[2/6] reorganize platform modules to give more overview over
different backends
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-backend-kiwi/src/main/resources/web/admin/js/widgets/database.js
----------------------------------------------------------------------
diff --git a/platform/marmotta-backend-kiwi/src/main/resources/web/admin/js/widgets/database.js b/platform/marmotta-backend-kiwi/src/main/resources/web/admin/js/widgets/database.js
deleted file mode 100644
index 42efb8e..0000000
--- a/platform/marmotta-backend-kiwi/src/main/resources/web/admin/js/widgets/database.js
+++ /dev/null
@@ -1,303 +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.
- */
-(function( $ ){
- $.fn.lmf_database = function(options) {
- var settings = {
- host: 'http://localhost:8080/LMF/',
- anker_name: 'database',
- title: 'Database Configuration',
- loading_img: '../public/img/loader/ajax-loader_small.gif',
- toplink:true
- }
-
- //jquery elements
- var table;
-
- //basically there are 2 functions
- //1. getValues from server and write it to inputFields
- //2. storeValues after testing Configuration
- var functions = {
- input_fields:undefined,
- getValues : function(callback) {
-
- var writeValues = function(databases, values) {
- table.html("");
- this.input_fields={};
-
- //DB Type
- var tr1 = $("<tr/>");
- var td11 = $("<td/>").css({"font-weight":"bold"}).text("Database: ");
- var td12 = $("<td/>");
- this.input_fields.db_select = $("<select/>").css({'width':'200px'});
- for (value in databases) {
- this.input_fields.db_select.append("<option>" + databases[value] + "</option>");
- }
- this.input_fields.db_select.val(values["database.type"]);
- td12.append(this.input_fields.db_select);
- this.input_fields.l_div = $("<div style='float:right;margin-top: -55px;'></div>");
- table.parent().append(this.input_fields.l_div);
- td11.appendTo(tr1);
- td12.appendTo(tr1);
- tr1.appendTo(table);
-
- //DBHost
- var tr2 = $("<tr/>");
- var td21 = $("<td/>").css({"font-weight":"bold"}).text("Host: ");
- var td22 = $("<td/>");
- this.input_fields.db_host = $("<input type='text' style='width:100%'/>");
- this.input_fields.db_host.val(values["database.url"]);
- td22.append(this.input_fields.db_host);
- td21.appendTo(tr2);
- td22.appendTo(tr2);
- tr2.appendTo(table);
-
- //DBUser
- var tr3 = $("<tr/>");
- var td31 = $("<td/>").css({"font-weight":"bold"}).text("User: ");
- var td32 = $("<td/>");
- this.input_fields.db_user = $("<input type='text' style='width:100%'/>");
- this.input_fields.db_user.val(values["database.user"]);
- td32.append(this.input_fields.db_user);
- td31.appendTo(tr3);
- td32.appendTo(tr3);
- tr3.appendTo(table);
-
- //DB password
- var tr4 = $("<tr/>");
- var td41 = $("<td/>").css({"font-weight":"bold"}).text("Password: ");
- var td42 = $("<td/>");
- this.input_fields.db_pass = $("<input type='password' style='width:100%'/>");
- this.input_fields.db_pass.val(values["database.password"]);
- td42.append(this.input_fields.db_pass);
- td41.appendTo(tr4);
- td42.appendTo(tr4);
- tr4.appendTo(table);
-
- this.input_fields.db_select.change(function() {
- getUrlValue();
- });
-
- if (callback) callback();
- };
-
- var getDatabases = function() {
- //get prefixes
- var url = settings.host+"config/list?prefix=database";
- var that = this;
- $.getJSON(url,function(data) {
- var values = [];
- var databases = new Array();
- for(var property in data) {
- property = property.substring(property.indexOf('.')+1);
- property = property.substring(0,property.indexOf('.'));
- if(property!="") {
- if($.inArray(property,databases)==-1) {
- databases.push(property);
- }
- }
- }
- getDBType(databases,new Array());
- });
- };
-
- var getDBType = function(databases,values) {
- var cid = "database.type";
- var url = settings.host+"config/data/"+cid;
- $.getJSON(url,function(data) {
- values[cid] = data[cid];
- getDBHost(databases,values);
- });
- };
-
- var getDBHost = function(databases,values) {
- var cid = "database.url";
- var url = settings.host+"config/data/"+cid;
- $.getJSON(url,function(data) {
- values[cid] = data[cid];
- getDBUser(databases,values);
- });
- };
-
- var getDBUser = function(databases,values) {
- var cid = "database.user";
- var url = settings.host+"config/data/"+cid;
- $.getJSON(url,function(data) {
- values[cid] = data[cid];
- getDBPass(databases,values);
- });
- };
-
- var getDBPass = function(databases,values) {
- var cid = "database.password";
- var url = settings.host+"config/data/"+cid;
- $.getJSON(url,function(data) {
- values[cid] = data[cid];
- writeValues(databases,values);
- });
-
- };
- getDatabases();
-
- //helper
- function getUrlValue() {
- var that = this;
- $.getJSON(settings.host+"config/data/"+"database."+this.input_fields.db_select.val()+".url",function(data){
- that.input_fields.db_host.val(data["database."+that.input_fields.db_select.val()+".url"]);
- })
- }
- },
-
- ping:function() {
- var that = this;
- var dburl = input_fields.db_host.val();
- if (input_fields.db_host.val().indexOf(";") > 0) {
- dburl = input_fields.db_host.val().substring(0, input_fields.db_host.val().indexOf(";"));
- }
- var url = settings.host + "storage-kiwi/ping?type=" + input_fields.db_select.val() + "&url=" + dburl + "&user=" + input_fields.db_user.val() + "&pwd=" + input_fields.db_pass.val();
- $.ajax({
- type:"POST",
- url: url,
- success: function() {
- if(confirm("Configuration Test successfully! Save values?")){
- that.saveValues();
- }
- },
- error: function(jqXHR, statusText, errorThrown) {
- alert(errorThrown + "(" + jqXHR.status + "):\n"+jqXHR.responseText)
- }
- });
- },
-
- saveValues: function(callback) {
-
- var saveDatabase = function() {
- $.ajax({
- type:"POST",
- contentType: "application/json",
- url: settings.host + "config/data/database.type",
- data: '["' + input_fields.db_select.val() + '"]',
- success: function() {
- saveUrl();
- },
- error: function(jqXHR, statusText, errorThrown) {
- that.input_fields.l_div.html("");
- alert("Error: " + errorThrown + "(" + jqXHR.status + ")" + jqXHR.responseText);
- }
- });
- }
-
- function saveUrl() {
- $.ajax({
- type:"POST",
- contentType: "application/json",
- url: settings.host + "config/data/database.url",
- data: '["' + input_fields.db_host.val() + '"]',
- success: function() {
- saveUser();
- },
- error: function(jqXHR, statusText, errorThrown) {
- that.input_fields.l_div.html("");
- alert("Error: " + errorThrown + "(" + jqXHR.status + ")" + jqXHR.responseText);
- }
- });
- }
-
- function saveUser() {
- $.ajax({
- type:"POST",
- contentType: "application/json",
- url: settings.host + "config/data/database.user",
- data: '["' + input_fields.db_user.val() + '"]',
- success: function() {
- savePwd();
- },
- error: function(jqXHR, statusText, errorThrown) {
- that.input_fields.l_div.html("");
- alert("Error: " + errorThrown + "(" + jqXHR.status + ")" + jqXHR.responseText);
- }
- });
- }
-
- function savePwd() {
- $.ajax({
- type:"POST",
- contentType: "application/json",
- url: settings.host + "config/data/database.password",
- data: '["' + input_fields.db_pass.val() + '"]',
- success: function() {
- reinit();
- },
- error: function(jqXHR, statusText, errorThrown) {
- that.input_fields.l_div.html("");
- alert("Error: " + errorThrown + "(" + jqXHR.status + ")" + jqXHR.responseText);
- }
- });
- }
-
- function reinit() {
- var that = this;
- input_fields.l_div.html("<span>Reinitialize Database </span><img src='" + settings.loading_img + "'/>");
- $.ajax({
- type:"POST",
- url: settings.host + "system/database/reinit",
- success: function() {
- that.input_fields.l_div.html("");
- alert("Successfully reloaded!")
- },
- error: function(jqXHR, statusText, errorThrown) {
- that.input_fields.l_div.html("");
- alert("Error: " + errorThrown + "(" + jqXHR.status + ")" + jqXHR.responseText);
- }
- });
- }
- saveDatabase();
- }
- }
-
- /**
- * main method
- */
- return this.each(function() {
- // merge options
- if ( options ) {
- $.extend( settings, options );
- }
- //build skeleton
-
- //get Values
- functions.getValues();
- var top="";
- if(settings.toplink)top='<a href="#" target="_top" style="position:absolute;right:5px;font-size:12px;top:7px;text-decoration:none;">top</a>';
- //build basic view elements
- var title = $("<h2 style='position:relative;margin-bottom:10px'><a style='text-decoration:none' name='"+settings.anker_name+"'>"+settings.title+"</a><span style='margin-left:10px;display:none;' class='tiny_text,lmf_configurator_loader'><img src='"+settings.loading_img+"' alt='loading...'></span>"+top+"</h2>");
- table = $("<table style='margin:0px auto;background-color:#eeeeee;padding:20px;border:1px solid gray;-webkit-border-radius: 3px;border-radius: 3px;'></table>");
- var buttons = $("<div style='width:100%;text-align:center;padding-top:10px;margin-bottom:30px;'></div>");
- var b1 = $("<button>Reload</button>").click(function(){if(confirm("Discard all changes?"))functions.getValues()});
- var b3 = $("<button style='margin-left:10px;'>Test Configuration</button>").click(function(){functions.ping()});
- buttons.append(b1);
- buttons.append(b3);
-
- //append elements
- $(this).html("");
- $(this).append(title);
- $(this).append(table);
- $(this).append(buttons);
- });
- };
-})( jQuery );
-
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-backend-native/pom.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-backend-native/pom.xml b/platform/marmotta-backend-native/pom.xml
deleted file mode 100644
index 735c3ff..0000000
--- a/platform/marmotta-backend-native/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-parent</artifactId>
- <version>3.2.0-incubating-SNAPSHOT</version>
- <relativePath>../../parent</relativePath>
- </parent>
-
- <groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-backend-native</artifactId>
-
- <name>Apache Marmotta Platform: Sesame Native Backend</name>
- <description>
- This module provides an Apache Marmotta backend using a Sesame Native Store. This is a suitable backend in
- case no database is available or no advanced features like rule-based reasoning or versioning are required.
- </description>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin> <!-- generate JRebel Configuration -->
- <groupId>org.zeroturnaround</groupId>
- <artifactId>jrebel-maven-plugin</artifactId>
- <version>1.1.3</version>
- <executions>
- <execution>
- <id>generate-rebel-xml</id>
- <phase>process-resources</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <relativePath>../../</relativePath>
- <rootPath>$${rebel.root}</rootPath>
- <classpath>
- <resources>
- <resource><!-- default resource --></resource>
- <resource><directory>src/main/resources</directory></resource>
- </resources>
- </classpath>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>buildinfo-maven-plugin</artifactId>
- <configuration>
- <systemProperties>
- <systemProperty>user.name</systemProperty>
- <systemProperty>user.timezone</systemProperty>
- <systemProperty>java.vm.vendor</systemProperty>
- <systemProperty>java.vm.version</systemProperty>
- <systemProperty>java.vm.name</systemProperty>
- <systemProperty>java.runtime.version</systemProperty>
- <systemProperty>os.name</systemProperty>
- <systemProperty>os.version</systemProperty>
- <systemProperty>os.arch</systemProperty>
- </systemProperties>
- </configuration>
- <executions>
- <execution>
- <phase>process-resources</phase>
- <goals>
- <goal>extract</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <!--
- <execution>
- <id>aggregate</id>
- <goals>
- <goal>aggregate</goal>
- </goals>
- <phase>site</phase>
- </execution>
- -->
- <execution>
- <!-- configure how the REST API documentation will be produced -->
- <id>restapi</id>
- <configuration>
- <doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
-
- <name>REST API</name>
- <description>REST API for LMF Webservices</description>
-
- <outputDirectory>${project.build.outputDirectory}/doc</outputDirectory>
- <reportOutputDirectory>${project.build.outputDirectory}/web/doc</reportOutputDirectory>
- <destDir>rest</destDir>
-
- <docletArtifact>
- <groupId>com.lunatech.jax-doclets</groupId>
- <artifactId>doclets</artifactId>
- <version>0.10.0</version>
- </docletArtifact>
- <additionalparam>
- -jaxrscontext {BASE}
- -charset UTF-8
- </additionalparam>
-
- <!--
- <stylesheetfile>${project.parent.basedir}/config/doc/doclet.css</stylesheetfile>
- -->
-
- <header><![CDATA[<!--###BEGIN_CONTENT###--><div class="javadoc">]]></header>
- <footer><![CDATA[</div><!--###END_CONTENT###-->]]></footer>
- <encoding>UTF-8</encoding>
- <detectOfflineLinks>false</detectOfflineLinks>
-
- <!-- For the project-reports page -->
- </configuration>
- <goals>
- <goal>javadoc</goal>
- </goals>
- <phase>generate-resources</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>kiwi-transactions</artifactId>
- </dependency>
- <dependency>
- <groupId>org.openrdf.sesame</groupId>
- <artifactId>sesame-sail-nativerdf</artifactId>
- </dependency>
- </dependencies>
-
-
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-backend-native/src/main/java/org/apache/marmotta/platform/backend/sesame/NativeStoreProvider.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-backend-native/src/main/java/org/apache/marmotta/platform/backend/sesame/NativeStoreProvider.java b/platform/marmotta-backend-native/src/main/java/org/apache/marmotta/platform/backend/sesame/NativeStoreProvider.java
deleted file mode 100644
index 5aea749..0000000
--- a/platform/marmotta-backend-native/src/main/java/org/apache/marmotta/platform/backend/sesame/NativeStoreProvider.java
+++ /dev/null
@@ -1,94 +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.platform.backend.sesame;
-
-import org.apache.marmotta.platform.core.api.config.ConfigurationService;
-import org.apache.marmotta.platform.core.api.triplestore.StoreProvider;
-import org.openrdf.repository.sail.SailRepository;
-import org.openrdf.sail.NotifyingSail;
-import org.openrdf.sail.Sail;
-import org.openrdf.sail.nativerdf.NativeStore;
-import org.slf4j.Logger;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import java.io.File;
-
-/**
- * A store implementation using a Sesame NativeStore as backend for Marmotta. The triples are stored in the
- * Marmotta home directory in the subdirectory "triples".
- *
- * @author Sebastian Schaffert (sschaffert@apache.org)
- */
-@ApplicationScoped
-public class NativeStoreProvider implements StoreProvider {
-
- @Inject
- private Logger log;
-
- @Inject
- private ConfigurationService configurationService;
-
-
-
- /**
- * Create the store provided by this SailProvider
- *
- * @return a new instance of the store
- */
- @Override
- public NotifyingSail createStore() {
- log.info("Initializing Backend: Native Store");
-
- File dataDir = new File(configurationService.getHome() + File.separator + "triples");
- return new NativeStore(dataDir);
- }
-
- /**
- * Create the repository using the sail given as argument. This method is needed because some backends
- * use custom implementations of SailRepository.
- *
- * @param sail
- * @return
- */
- @Override
- public SailRepository createRepository(Sail sail) {
- return new SailRepository(sail);
- }
-
-
- /**
- * Return the name of the provider. Used e.g. for displaying status information or logging.
- *
- * @return
- */
- @Override
- public String getName() {
- return "Native Store";
- }
-
- /**
- * Return true if this sail provider is enabled in the configuration.
- *
- * @return
- */
- @Override
- public boolean isEnabled() {
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-backend-native/src/main/resources/META-INF/beans.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-backend-native/src/main/resources/META-INF/beans.xml b/platform/marmotta-backend-native/src/main/resources/META-INF/beans.xml
deleted file mode 100644
index 461858e..0000000
--- a/platform/marmotta-backend-native/src/main/resources/META-INF/beans.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<beans
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-
-</beans>
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-backend-native/src/main/resources/kiwi-module.properties
----------------------------------------------------------------------
diff --git a/platform/marmotta-backend-native/src/main/resources/kiwi-module.properties b/platform/marmotta-backend-native/src/main/resources/kiwi-module.properties
deleted file mode 100644
index 5dc4a7b..0000000
--- a/platform/marmotta-backend-native/src/main/resources/kiwi-module.properties
+++ /dev/null
@@ -1,41 +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.
-#
-
-name=Storage Backend: Native
-
-container=Generic
-container.weight = 10
-
-subtitle = Configure Native Backend
-weight = 10
-
-icon_small = /admin/img/config_small.png
-
-#do not change!!!
-baseurl=/storage-native
-
-adminpage.0.title=About
-adminpage.0.link=/admin/about.html
-
-adminpage.1.title=Configuration
-adminpage.1.link=/admin/configuration.html
-
-adminpage.2.title=Database
-adminpage.2.link=/admin/database.html
-
-webservices=
-
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-core/src/test/java/org/apache/marmotta/platform/core/test/base/TestStoreProvider.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-core/src/test/java/org/apache/marmotta/platform/core/test/base/TestStoreProvider.java b/platform/marmotta-core/src/test/java/org/apache/marmotta/platform/core/test/base/TestStoreProvider.java
index 24eb658..c12684b 100644
--- a/platform/marmotta-core/src/test/java/org/apache/marmotta/platform/core/test/base/TestStoreProvider.java
+++ b/platform/marmotta-core/src/test/java/org/apache/marmotta/platform/core/test/base/TestStoreProvider.java
@@ -25,7 +25,6 @@ import org.openrdf.sail.memory.MemoryStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.annotation.PostConstruct;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Alternative;
@@ -40,10 +39,6 @@ public class TestStoreProvider implements StoreProvider {
private static Logger log = LoggerFactory.getLogger(TestStoreProvider.class);
- @PostConstruct
- public void initialise() {
- log.warn("using in-memory triple store - no persistence");
- }
/**
* Create the repository using the sail given as argument. This method is needed because some backends
@@ -54,6 +49,7 @@ public class TestStoreProvider implements StoreProvider {
*/
@Override
public SailRepository createRepository(Sail sail) {
+ log.warn("using in-memory triple store - no persistence");
return new SailRepository(sail);
}
@@ -74,7 +70,7 @@ public class TestStoreProvider implements StoreProvider {
*/
@Override
public String getName() {
- return "Dummy Store";
+ return "Test Store";
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/pom.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/pom.xml b/platform/marmotta-ldcache-common/pom.xml
deleted file mode 100644
index 788b2fc..0000000
--- a/platform/marmotta-ldcache-common/pom.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-parent</artifactId>
- <version>3.2.0-incubating-SNAPSHOT</version>
- <relativePath>../../parent</relativePath>
- </parent>
-
- <artifactId>marmotta-ldcache-common</artifactId>
- <packaging>jar</packaging>
-
- <name>Apache Marmotta Platform: Linked Data Caching (Common)</name>
- <description>
- Provides transparent Linked Data Caching in the LMF triple store. When a resource is queried using e.g. LDPath
- or SPARQL and it represents an external resource (e.g. on DBPedia or GeoNames), the resource is transparently
- fetched on demand and cached locally. This module contains the backend-independent services.
- </description>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin> <!-- generate JRebel Configuration -->
- <groupId>org.zeroturnaround</groupId>
- <artifactId>jrebel-maven-plugin</artifactId>
- <version>1.1.3</version>
- <executions>
- <execution>
- <id>generate-rebel-xml</id>
- <phase>process-resources</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <relativePath>../../</relativePath>
- <rootPath>$${rebel.root}</rootPath>
- <classpath>
- <resources>
- <resource><!-- default resource --></resource>
- <resource><directory>src/main/resources</directory></resource>
- </resources>
- </classpath>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>buildinfo-maven-plugin</artifactId>
- <configuration>
- <systemProperties>
- <systemProperty>user.name</systemProperty>
- <systemProperty>user.timezone</systemProperty>
- <systemProperty>java.vm.vendor</systemProperty>
- <systemProperty>java.vm.version</systemProperty>
- <systemProperty>java.vm.name</systemProperty>
- <systemProperty>java.runtime.version</systemProperty>
- <systemProperty>os.name</systemProperty>
- <systemProperty>os.version</systemProperty>
- <systemProperty>os.arch</systemProperty>
- </systemProperties>
- </configuration>
- <executions>
- <execution>
- <phase>process-resources</phase>
- <goals>
- <goal>extract</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <!--
- <execution>
- <id>aggregate</id>
- <goals>
- <goal>aggregate</goal>
- </goals>
- <phase>site</phase>
- </execution>
- -->
- <execution>
- <!-- configure how the REST API documentation will be produced -->
- <id>restapi</id>
- <configuration>
- <doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
-
- <name>REST API</name>
- <description>REST API for LMF Webservices</description>
-
- <outputDirectory>${project.build.outputDirectory}/doc</outputDirectory>
- <reportOutputDirectory>${project.build.outputDirectory}/web/doc</reportOutputDirectory>
- <destDir>rest</destDir>
-
- <docletArtifact>
- <groupId>com.lunatech.jax-doclets</groupId>
- <artifactId>doclets</artifactId>
- <version>0.10.0</version>
- </docletArtifact>
- <additionalparam>
- -jaxrscontext {BASE}
- -charset UTF-8
- </additionalparam>
-
- <!--
- <stylesheetfile>${project.parent.basedir}/config/doc/doclet.css</stylesheetfile>
- -->
-
- <header><![CDATA[<!--###BEGIN_CONTENT###--><div class="javadoc">]]></header>
- <footer><![CDATA[</div><!--###END_CONTENT###-->]]></footer>
- <encoding>UTF-8</encoding>
- <detectOfflineLinks>false</detectOfflineLinks>
-
- <!-- For the project-reports page -->
- </configuration>
- <goals>
- <goal>javadoc</goal>
- </goals>
- <phase>generate-resources</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-core</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldclient-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldclient-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldclient-provider-rdf</artifactId>
- </dependency>
- <!--
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldclient-provider-xml</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldclient-provider-html</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldclient-provider-ldap</artifactId>
- </dependency>
- -->
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldcache-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.marmotta</groupId>
- <artifactId>ldcache-core</artifactId>
- </dependency>
-
-
- </dependencies>
-
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/endpoint/LinkedDataEndpointService.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/endpoint/LinkedDataEndpointService.java b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/endpoint/LinkedDataEndpointService.java
deleted file mode 100644
index b6bd8cd..0000000
--- a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/endpoint/LinkedDataEndpointService.java
+++ /dev/null
@@ -1,87 +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.platform.ldcache.api.endpoint;
-
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.openrdf.model.URI;
-
-import java.util.List;
-
-/**
- * A service for managing Linked Data endpoints.
- * <p/>
- * User: sschaffe
- */
-public interface LinkedDataEndpointService {
-
- /**
- * Add a new endpoint to the system. The endpoint will be persisted in the database.
- *
- * @param endpoint
- */
- public void addEndpoint(Endpoint endpoint);
-
- /**`
- * Update the endpoint passed as argument in the database.
- *
- * @param endpoint
- */
- public void updateEndpoint(Endpoint endpoint);
-
- /**
- * List all endpoints registered in the system.
- *
- * @return a list of endpoints in the order they were added to the database.
- */
- public List<Endpoint> listEndpoints();
-
- /**
- * Remove the endpoint given as argument. The endpoint will be deleted in the database.
- *
- * @param endpoint
- */
- public void removeEndpoint(Endpoint endpoint);
-
- /**
- * Return the endpoint with the given ID.
- *
- * @param id ID of the endpoint to return.
- * @return
- */
- public Endpoint getEndpoint(String id);
-
-
-
- /**
- * Retrieve the endpoint matching the KiWiUriResource passed as argument. The endpoint is determined by
- * matching the endpoint's URI prefix with the resource URI. If no matching endpoint exists, returns null.
- * The LinkedDataClientService can then decide (based on configuration) whether to try with a standard
- * LinkedDataRequest or ignore the request.
- *
- * @param resource the KiWiUriResource to check.
- */
- public Endpoint getEndpoint(URI resource);
-
- /**
- * Test whether an endpoint definition for the given url pattern already exists.
- *
- * @param urlPattern
- * @return
- */
- public boolean hasEndpoint(String urlPattern);
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/ldcache/LDCacheSailProvider.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/ldcache/LDCacheSailProvider.java b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/ldcache/LDCacheSailProvider.java
deleted file mode 100644
index 2cc597d..0000000
--- a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/api/ldcache/LDCacheSailProvider.java
+++ /dev/null
@@ -1,191 +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.platform.ldcache.api.ldcache;
-
-import org.apache.marmotta.ldcache.services.LDCache;
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.apache.marmotta.ldclient.api.ldclient.LDClientService;
-import org.apache.marmotta.ldclient.model.ClientConfiguration;
-import org.apache.marmotta.platform.core.api.config.ConfigurationService;
-import org.apache.marmotta.platform.core.api.http.HttpClientService;
-import org.apache.marmotta.platform.core.api.triplestore.NotifyingSailProvider;
-import org.apache.marmotta.platform.core.api.triplestore.SesameService;
-import org.apache.marmotta.platform.core.events.ConfigurationChangedEvent;
-import org.apache.marmotta.platform.ldcache.api.endpoint.LinkedDataEndpointService;
-import org.apache.marmotta.platform.ldcache.model.filter.LDCacheIgnoreFilter;
-import org.openrdf.model.URI;
-import org.openrdf.repository.RepositoryException;
-import org.slf4j.Logger;
-
-import javax.annotation.PostConstruct;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * A sail provider service that allows wrapping a transparent Linked Data caching component around the
- * main SAIL. This is the generic superclass for all LDCache backends.
- *
- * <p/>
- * Author: Sebastian Schaffert (sschaffert@apache.org)
- */
-public abstract class LDCacheSailProvider implements NotifyingSailProvider {
-
-
- public static final String LDCACHE_ENABLED = "ldcache.enabled";
-
- @Inject
- protected ConfigurationService configurationService;
-
- @Inject
- protected Instance<LDCacheIgnoreFilter> ignoreFilters;
-
- protected ClientConfiguration ldclientConfig;
-
- @Inject
- private Logger log;
-
- @Inject
- private LinkedDataEndpointService endpointService;
-
- @Inject
- private SesameService sesameService;
-
- @Inject
- private HttpClientService httpClientService;
-
- private Set<Endpoint> volatileEndpoints;
-
- /**
- * Return true in case the URI resource passed as argument is cached.
- * @param resource
- * @return
- */
- public boolean isCached(URI resource) throws RepositoryException {
- return getLDCache().isCached(resource.stringValue());
- }
-
- /**
- * Clear the currently configured Linked Data Sail.
- */
- public abstract void clearSail();
-
- /**
- * Return true if this sail provider is enabled in the configuration.
- *
- * @return
- */
- @Override
- public boolean isEnabled() {
- return configurationService.getBooleanConfiguration(LDCACHE_ENABLED,true);
- }
-
- public void configurationChanged(@Observes ConfigurationChangedEvent e) {
- if(e.containsChangedKey(LDCACHE_ENABLED)) {
- sesameService.restart();
-
- if(!isEnabled()) {
- clearSail();
- }
- }
- }
-
- @PostConstruct
- public void initialize() {
- volatileEndpoints = new HashSet<Endpoint>();
- ldclientConfig = new ClientConfiguration();
- updateConfig();
- }
-
- public void updateEndpoints() {
- HashSet<Endpoint> endpoints = new HashSet<Endpoint>();
- endpoints.addAll(endpointService.listEndpoints());
- endpoints.addAll(volatileEndpoints);
-
- ldclientConfig.setEndpoints(endpoints);
-
- if(getLDCache() != null) {
- getLDCache().reload();
- }
- }
-
- public void updateConfig() {
- ldclientConfig.setDefaultExpiry(configurationService.getLongConfiguration("ldcache.expiry", 86400L));
- ldclientConfig.setMinimumExpiry(configurationService.getLongConfiguration("ldcache.minexpiry", 3600L));
- ldclientConfig.setSocketTimeout(configurationService.getIntConfiguration("ldcache.so_timeout", 60000));
- ldclientConfig.setConnectionTimeout(configurationService.getIntConfiguration("ldcache.connection_timeout", 10000));
- ldclientConfig.setMaxParallelRequests(configurationService.getIntConfiguration("ldcache.max_parallel_requests",10));
-
- HashSet<Endpoint> endpoints = new HashSet<Endpoint>();
- endpoints.addAll(endpointService.listEndpoints());
- endpoints.addAll(volatileEndpoints);
- ldclientConfig.setEndpoints(endpoints);
-
- ldclientConfig.setHttpClient(httpClientService.getHttpClient());
-
- if(getLDCache() != null) {
- getLDCache().reload();
- }
- }
-
- /**
- * Return the Linked Data Client used by the caching system (e.g. for debugging).
- * @return
- */
- public abstract LDClientService getLDClient();
-
- /**
- * Return the caching backend used by the caching system (e.g. for debugging)
- * @return
- */
- public abstract LDCache getLDCache();
-
- /**
- * Add a volatile (in-memory) endpoint to the LDClient configuration. Can be used by other services for auto-registering
- * LDClient endpoints for special endpoints.
- *
- * @param endpoint
- */
- public void addVolatileEndpoint(Endpoint endpoint) {
- if(!volatileEndpoints.contains(endpoint)) {
- volatileEndpoints.add(endpoint);
- updateEndpoints();
- }
- }
-
- /**
- * Remove a volatile (in-memory) endpoint from the LDClient configuration.
- * @param endpoint
- */
- public void removeVolatileEndpoint(Endpoint endpoint) {
- if(volatileEndpoints.contains(endpoint)) {
- volatileEndpoints.remove(endpoint);
- updateEndpoints();
- }
- }
-
- /**
- * Return all configured volatile endpoints.
- * @return
- */
- public Set<Endpoint> getVolatileEndpoints() {
- return new HashSet<Endpoint>(volatileEndpoints);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/LDCacheIgnoreFilter.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/LDCacheIgnoreFilter.java b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/LDCacheIgnoreFilter.java
deleted file mode 100644
index 9e3614f..0000000
--- a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/LDCacheIgnoreFilter.java
+++ /dev/null
@@ -1,32 +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.platform.ldcache.model.filter;
-
-import org.apache.marmotta.commons.sesame.filter.resource.ResourceFilter;
-
-/**
- * This filter can be used to define as CDI services additional filters that allow to ignore resources when
- * caching. The advantage of this approach over "blacklisting" is that filters defined in this way do not even
- * create a cache entry, they ignore the resource early on.
- *
- * The filter should return true in case the resource should be ignored.
- *
- * @author Sebastian Schaffert (sschaffert@apache.org)
- */
-public interface LDCacheIgnoreFilter extends ResourceFilter {
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/MarmottaNotCachedFilter.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/MarmottaNotCachedFilter.java b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/MarmottaNotCachedFilter.java
deleted file mode 100644
index 5c40815..0000000
--- a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/model/filter/MarmottaNotCachedFilter.java
+++ /dev/null
@@ -1,85 +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.platform.ldcache.model.filter;
-
-import org.apache.marmotta.commons.sesame.filter.resource.ResourceFilter;
-import org.apache.marmotta.platform.core.model.filter.MarmottaLocalFilter;
-import org.apache.marmotta.platform.core.util.CDIContext;
-import org.apache.marmotta.platform.ldcache.api.ldcache.LDCacheSailProvider;
-import org.openrdf.model.BNode;
-import org.openrdf.model.Resource;
-import org.openrdf.model.URI;
-import org.openrdf.repository.RepositoryException;
-
-/**
- * Accept only resources that are considered "not cached", i.e. do not have an entry in the caching table.
- * <p/>
- * Author: Sebastian Schaffert
- */
-public class MarmottaNotCachedFilter implements ResourceFilter {
-
- private LDCacheSailProvider cacheSailProvider;
- private MarmottaLocalFilter marmottaLocalFilter;
-
- public MarmottaNotCachedFilter() {
- cacheSailProvider = CDIContext.getInstance(LDCacheSailProvider.class);
- marmottaLocalFilter = CDIContext.getInstance(MarmottaLocalFilter.class);
- }
-
-
- private static MarmottaNotCachedFilter instance = null;
-
- public static MarmottaNotCachedFilter getInstance() {
- if(instance == null) {
- instance = new MarmottaNotCachedFilter();
- }
- return instance;
- }
-
-
- /**
- * Return false in case the filter does not accept the resource passed as argument, true otherwise.
- *
- *
- * @param resource
- * @return
- */
- @Override
- public boolean accept(Resource resource) {
- if(resource instanceof BNode) {
- return true;
- }
- if(!cacheSailProvider.isEnabled()) {
- return true;
- }
-
- if(marmottaLocalFilter.accept(resource)) {
- return true;
- }
-
- URI uri = (URI)resource;
-
- try {
- return !cacheSailProvider.getLDCache().isCached(uri.stringValue());
- } catch (RepositoryException e) {
- return false;
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/services/endpoint/LinkedDataEndpointServiceImpl.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/services/endpoint/LinkedDataEndpointServiceImpl.java b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/services/endpoint/LinkedDataEndpointServiceImpl.java
deleted file mode 100644
index 2a0dac4..0000000
--- a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/services/endpoint/LinkedDataEndpointServiceImpl.java
+++ /dev/null
@@ -1,207 +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.platform.ldcache.services.endpoint;
-
-import com.google.common.base.Joiner;
-import org.apache.marmotta.commons.http.ContentType;
-import org.apache.marmotta.commons.http.MarmottaHttpUtils;
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.apache.marmotta.platform.core.api.config.ConfigurationService;
-import org.apache.marmotta.platform.ldcache.api.endpoint.LinkedDataEndpointService;
-import org.openrdf.model.URI;
-import org.slf4j.Logger;
-
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import java.util.*;
-
-/**
- * Add file description here!
- * <p/>
- * User: sschaffe
- */
-@ApplicationScoped
-public class LinkedDataEndpointServiceImpl implements LinkedDataEndpointService {
-
- @Inject
- private Logger log;
-
-
- @Inject
- private ConfigurationService configurationService;
-
-
- private static Endpoint[] blacklist = new Endpoint[] {
- new Endpoint("HolyGoat", "NONE","^http://www\\.holygoat\\.co\\.uk","","",86400l),
- new Endpoint("KiWi Project","NONE","^http://www\\.kiwi-project\\.eu/","","",86400l)
- };
-
- @PostConstruct
- public void initialize() {
- log.trace("LDEndpointService starting up...");
- }
-
-
- /**
- * Add a new endpoint to the system. The endpoint will be persisted in the database.
- *
- * @param endpoint
- */
- @Override
- public void addEndpoint(Endpoint endpoint) {
- storeEndpoint(endpoint);
- }
-
- /**
- * `
- * Update the endpoint passed as argument in the database.
- *
- * @param endpoint
- */
- @Override
- public void updateEndpoint(Endpoint endpoint) {
- storeEndpoint(endpoint);
- }
-
- /**
- * List all endpoints registered in the system.
- *
- * @return a list of endpoints in the order they were added to the database.
- */
- @Override
- public List<Endpoint> listEndpoints() {
- List<Endpoint> result = new ArrayList<Endpoint>();
- for(String label : listEndpointLabels()) {
- result.add(getEndpointByLabel(label));
- }
- for(Endpoint e : blacklist) {
- if(!result.contains(e)) {
- result.add(e);
- }
- }
- return result;
- }
-
- /**
- * Remove the endpoint given as argument. The endpoint will be deleted in the database.
- *
- * @param endpoint
- */
- @Override
- public void removeEndpoint(Endpoint endpoint) {
- String label = endpoint.getName().replaceAll("[^A-Za-z0-9 ]", "").toLowerCase();
-
- List<String> keys = configurationService.listConfigurationKeys("ldcache.endpoint."+label);
- for(String key : keys) {
- configurationService.removeConfiguration(key);
- }
- }
-
- /**
- * Return the endpoint with the given ID.
- *
- * @param id ID of the endpoint to return.
- * @return
- */
- @Override
- public Endpoint getEndpoint(String id) {
- for(Endpoint endpoint : listEndpoints()) {
- if(endpoint.getName().replaceAll("[^A-Za-z0-9 ]", "").toLowerCase().equals(id)) return endpoint;
- }
- return null;
- }
-
- /**
- * Retrieve the endpoint matching the KiWiUriResource passed as argument. The endpoint is determined by
- * matching the endpoint's URI prefix with the resource URI. If no matching endpoint exists, returns null.
- * The LinkedDataClientService can then decide (based on configuration) whether to try with a standard
- * LinkedDataRequest or ignore the request.
- *
- * @param resource the KiWiUriResource to check.
- */
- @Override
- public Endpoint getEndpoint(URI resource) {
- for(Endpoint endpoint : listEndpoints()) {
- if (endpoint.handles(resource.stringValue())) return endpoint;
- }
-
- return null;
- }
-
- /**
- * Test whether an endpoint definition for the given url pattern already exists.
- *
- * @param urlPattern
- * @return
- */
- @Override
- public boolean hasEndpoint(String urlPattern) {
- for(Endpoint endpoint : listEndpoints()) {
- if(endpoint.getUriPattern() != null && endpoint.getUriPattern().equals(urlPattern)) return true;
- }
- return false;
- }
-
-
- private void storeEndpoint(Endpoint endpoint) {
-
- String label = endpoint.getName().replaceAll("[^A-Za-z0-9 ]", "").toLowerCase();
- configurationService.setConfiguration("ldcache.endpoint."+label+".name", endpoint.getName());
- configurationService.setIntConfiguration("ldcache.endpoint." + label + ".prio", endpoint.getPriority());
- configurationService.setConfiguration("ldcache.endpoint." + label + ".provider", endpoint.getType());
- configurationService.setConfiguration("ldcache.endpoint." + label + ".pattern", endpoint.getUriPattern());
- configurationService.setConfiguration("ldcache.endpoint." + label + ".service", endpoint.getEndpointUrl());
- configurationService.setLongConfiguration("ldcache.endpoint." + label + ".expiry", endpoint.getDefaultExpiry());
- configurationService.setBooleanConfiguration("ldcache.endpoint." + label + ".active", endpoint.isActive());
- configurationService.setConfiguration(
- "ldcache.endpoint." + label + ".contenttype",
- Joiner.on(",").join(endpoint.getContentTypes())
- );
- }
-
-
- private Endpoint getEndpointByLabel(String label) {
- Endpoint endpoint = new Endpoint();
-
- endpoint.setName(configurationService.getStringConfiguration("ldcache.endpoint."+label+".name"));
- endpoint.setPriority(configurationService.getIntConfiguration("ldcache.endpoint." + label + ".prio"));
- endpoint.setType(configurationService.getStringConfiguration("ldcache.endpoint." + label + ".provider"));
- endpoint.setUriPattern(configurationService.getStringConfiguration("ldcache.endpoint." + label + ".pattern"));
- endpoint.setEndpointUrl(configurationService.getStringConfiguration("ldcache.endpoint." + label + ".service"));
- endpoint.setDefaultExpiry(configurationService.getLongConfiguration("ldcache.endpoint." + label + ".expiry"));
- endpoint.setActive(configurationService.getBooleanConfiguration("ldcache.endpoint." + label + ".active"));
- endpoint.setContentTypes(new HashSet<ContentType>(
- MarmottaHttpUtils.parseAcceptHeader(
- configurationService.getStringConfiguration("ldcache.endpoint." + label + ".contenttype",""))
- ));
-
- return endpoint;
- }
-
-
- private Collection<String> listEndpointLabels() {
- Set<String> labels = new HashSet<String>();
- for(String key : configurationService.listConfigurationKeys("ldcache.endpoint")) {
- String[] components = key.split("\\.");
- labels.add(components[2]);
- }
- return labels;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/webservices/LinkedDataCachingWebService.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/webservices/LinkedDataCachingWebService.java b/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/webservices/LinkedDataCachingWebService.java
deleted file mode 100644
index 0230f9c..0000000
--- a/platform/marmotta-ldcache-common/src/main/java/org/apache/marmotta/platform/ldcache/webservices/LinkedDataCachingWebService.java
+++ /dev/null
@@ -1,314 +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.platform.ldcache.webservices;
-
-import org.apache.marmotta.commons.sesame.model.Namespaces;
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.apache.marmotta.ldclient.api.provider.DataProvider;
-import org.apache.marmotta.ldclient.model.ClientResponse;
-import org.apache.marmotta.ldclient.provider.rdf.LinkedDataProvider;
-import org.apache.marmotta.platform.core.api.triplestore.SesameService;
-import org.apache.marmotta.platform.ldcache.api.endpoint.LinkedDataEndpointService;
-import org.apache.marmotta.platform.ldcache.api.ldcache.LDCacheSailProvider;
-import org.openrdf.model.URI;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.rio.RDFHandler;
-import org.openrdf.rio.rdfxml.util.RDFXMLPrettyWriter;
-import org.slf4j.Logger;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import java.io.ByteArrayOutputStream;
-import java.util.*;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-/**
- * Add file description here!
- * <p/>
- * User: sschaffe
- */
-@ApplicationScoped
-@Path("/cache")
-public class LinkedDataCachingWebService {
-
- @Inject
- private Logger log;
-
- @Inject
- private LinkedDataEndpointService endpointService;
-
- @Inject
- private SesameService sesameService;
-
- @Inject
- private LDCacheSailProvider cacheSailProvider;
-
-
- @GET
- @Path("/live")
- public Response retrieveLive(@QueryParam("uri") String uri) {
- if(cacheSailProvider.isEnabled()) {
- try {
- ClientResponse response = cacheSailProvider.getLDClient().retrieveResource(uri);
-
- RepositoryConnection con = response.getTriples().getConnection();
- con.begin();
-
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- RDFHandler handler = new RDFXMLPrettyWriter(out);
- con.export(handler);
-
- con.commit();
- con.close();
-
-
- return Response.ok().entity( new String(out.toByteArray(), "utf-8")).build();
- } catch (Exception e) {
- log.error("exception while retrieving resource",e);
- return Response.status(500).entity(e.getMessage()).build();
- }
- } else {
- return Response.status(Status.SERVICE_UNAVAILABLE).entity("caching is disabled").build();
- }
- }
-
- @GET
- @Path("/cached")
- public Response retrieveCached(@QueryParam("uri") String uri) {
- if(cacheSailProvider.isEnabled()) {
- URI resource = sesameService.getValueFactory().createURI(uri);
-
-
- try {
- cacheSailProvider.getLDCache().refreshResource(resource, false);
-
- return Response.ok().build();
- } catch (Exception e) {
- log.error("exception while retrieving resource",e);
- return Response.status(500).entity(e.getMessage()).build();
- }
- } else {
- return Response.status(Status.SERVICE_UNAVAILABLE).entity("caching is disabled").build();
- }
-
- }
-
- @GET
- @Path("/refresh")
- public Response refreshCached(@QueryParam("uri") String uri) {
-
- if(cacheSailProvider.isEnabled()) {
- URI resource = sesameService.getValueFactory().createURI(uri);
-
-
- try {
- cacheSailProvider.getLDCache().refreshResource(resource, true);
-
- return Response.ok().build();
- } catch (Exception e) {
- log.error("exception while retrieving resource",e);
- return Response.status(500).entity(e.getMessage()).build();
- }
- } else {
- return Response.status(Status.SERVICE_UNAVAILABLE).entity("caching is disabled").build();
- }
-
- }
-
- @POST
- @Path("/expire")
- public Response expireCache(@QueryParam("uri") String uri) {
-
- if(cacheSailProvider.isEnabled()) {
- if (uri != null) {
- URI resource = sesameService.getValueFactory().createURI(uri);
- cacheSailProvider.getLDCache().expire(resource);
- } else {
- cacheSailProvider.getLDCache().expireAll();
- }
-
- return Response.ok().build();
- } else {
- return Response.status(Status.SERVICE_UNAVAILABLE).entity("caching is disabled").build();
- }
- }
-
- @POST
- @Path("/endpoint")
- public Response registerEndpoint(@QueryParam("name") String name,
- @QueryParam("prefix") String prefix,
- @QueryParam("endpoint") String endpointUrl,
- @QueryParam("kind") String type,
- @QueryParam("mimetype") String mimetype,
- @QueryParam("expiry") long expiry) {
-
- if(cacheSailProvider.isEnabled()) {
- if (type == null || !getProviderNames().contains(type.toLowerCase())) {
- type = LinkedDataProvider.PROVIDER_NAME;
- }
-
- // Check for valid Regex
- if (prefix != null) {
- try {
- if (prefix.startsWith(Endpoint.REGEX_INDICATOR)) {
- Pattern.compile(prefix.substring(Endpoint.REGEX_INDICATOR.length()));
- } else {
- Pattern.compile(prefix);
- }
- } catch (PatternSyntaxException pse) {
- return Response.status(Status.BAD_REQUEST).entity("Invalid Regex in prefix detected").build();
- }
- }
- if (endpointUrl != null) {
- endpointUrl = endpointUrl.replace('<', '{').replace('>', '}');
- } else {
- endpointUrl = "";
- }
- if (mimetype == null) {
- mimetype ="";
- }
- Endpoint endpoint = new Endpoint(name, type, prefix, endpointUrl, mimetype, expiry);
- endpointService.addEndpoint(endpoint);
-
- cacheSailProvider.updateEndpoints();
-
-
- return Response.ok().build();
- } else {
- return Response.status(Status.SERVICE_UNAVAILABLE).entity("caching is disabled").build();
- }
-
- }
-
- @GET
- @Path("/endpoint/list")
- @Produces("application/json")
- public Response listEndpoints() {
-
- List<Map<String, Object>> result = new LinkedList<Map<String, Object>>();
- for(Endpoint endpoint : endpointService.listEndpoints()) {
- result.add(buildEndpointJSON(endpoint, false));
- }
- for(Endpoint endpoint : cacheSailProvider.getVolatileEndpoints()) {
- result.add(buildEndpointJSON(endpoint, true));
- }
-
- return Response.ok().entity(result).build();
- }
-
- @GET
- @Path("/provider/list")
- @Produces(Namespaces.MIME_TYPE_JSON)
- public Response listProviders() {
- if(cacheSailProvider.isEnabled()) {
- return Response.ok(getProviderNames()).build();
- } else {
- return Response.status(Status.SERVICE_UNAVAILABLE).entity("caching is disabled").build();
- }
- }
-
-
- @GET
- @Path("/endpoint/{id}")
- @Produces("application/json")
- public Response retrieveEndpoint(@PathParam("id") String id) {
-
- Endpoint endpoint = endpointService.getEndpoint(id);
- if (endpoint == null) return notFound(id);
-
-
- return Response.ok().entity(buildEndpointJSON(endpoint, false)).build();
- }
-
- @DELETE
- @Path("/endpoint/{id}")
- public Response removeEndpoint(@PathParam("id") String id) {
-
- Endpoint endpoint = endpointService.getEndpoint(id);
- if (endpoint == null) return notFound(id);
-
- endpointService.removeEndpoint(endpoint);
-
- cacheSailProvider.updateEndpoints();
-
- return Response.ok().build();
- }
-
- @POST
- @Path("/endpoint/{id}/enable")
- public Response enableEndpoint(@PathParam("id") String id, @QueryParam("enable") @DefaultValue("true") boolean enable) {
- Endpoint endpoint = endpointService.getEndpoint(id);
- if (endpoint == null) return notFound(id);
-
- endpoint.setActive(enable);
- endpointService.updateEndpoint(endpoint);
-
- cacheSailProvider.updateEndpoints();
-
- return Response.ok().build();
- }
-
- private Response notFound(String id) {
- return Response.status(Status.NOT_FOUND).entity("No endpoint with id " + id + " found!").build();
- }
-
- @POST
- @Path("/endpoint/{id}/disable")
- public Response disableEndpoint(@PathParam("id") String id) {
- return enableEndpoint(id, false);
- }
-
- @GET
- @Path("/info")
- @Produces("application/json")
- public Response getInformation() {
- Map<String,String> result = new HashMap<>();
- result.put("backend", cacheSailProvider.getName());
- return Response.ok(result).build();
- }
-
- private Map<String, Object> buildEndpointJSON(Endpoint endpoint, boolean isVolatile) {
- HashMap<String, Object> resultMap = new HashMap<String, Object>();
- resultMap.put("id",endpoint.getName().replaceAll("[^A-Za-z0-9 ]", "").toLowerCase());
- resultMap.put("name",endpoint.getName());
- resultMap.put("endpoint",endpoint.getEndpointUrl());
- resultMap.put("expiry", endpoint.getDefaultExpiry());
- resultMap.put("prefix",endpoint.getUriPattern());
- resultMap.put("kind",endpoint.getType().toString());
- resultMap.put("mimetype",endpoint.getContentTypes());
- resultMap.put("active", endpoint.isActive());
- resultMap.put("volatile", isVolatile);
-
- return resultMap;
- }
-
-
- private Set<String> getProviderNames() {
- Set<String> result = new HashSet<String>();
-
- for(DataProvider provider : cacheSailProvider.getLDClient().getDataProviders()) {
- result.add(provider.getName().toLowerCase());
- }
-
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/resources/META-INF/beans.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/resources/META-INF/beans.xml b/platform/marmotta-ldcache-common/src/main/resources/META-INF/beans.xml
deleted file mode 100644
index 461858e..0000000
--- a/platform/marmotta-ldcache-common/src/main/resources/META-INF/beans.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<beans
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-
-</beans>
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/resources/config-defaults.properties
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/resources/config-defaults.properties b/platform/marmotta-ldcache-common/src/main/resources/config-defaults.properties
deleted file mode 100644
index 750de20..0000000
--- a/platform/marmotta-ldcache-common/src/main/resources/config-defaults.properties
+++ /dev/null
@@ -1,49 +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.
-#
-
-###############################################################################
-# LMF LD caching configuration
-###############################################################################
-
-# enable/disable automatic caching of remote resources from the Linked Data Cloud; enabling leads to many
-# HTTP requests when querying and should be considered with care
-ldcache.enabled = true
-
-# default expiry time in seconds if not otherwise given (default: 1 day)
-ldcache.expiry = 86400
-
-# minimum expiry time before which a resource is refreshed from the linked data cloud (use to avoid too short expiry times returned by servers)
-ldcache.minexpiry = 3600
-
-# how long to wait in ms when no data is sent over a connection
-ldcache.so_timeout = 60000
-
-# how long to wait in ms until a connection is established
-ldcache.connection_timeout = 10000
-
-# how many http retrievals to run at most in parallel
-ldcache.max_parallel_requests = 10
-
-# Sample for a cache entry
-ldcache.sample.dbpedia.name = DBPedia Sparql
-ldcache.sample.dbpedia.kind = SPARQL
-ldcache.sample.dbpedia.prefix = http://dbpedia\\.org.*
-ldcache.sample.dbpedia.endpoint = http://dbpedia.org/sparql
-ldcache.sample.dbpedia.mimetype =
-ldcache.sample.dbpedia.expiry = 86400
-
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/resources/config-descriptions.properties
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/resources/config-descriptions.properties b/platform/marmotta-ldcache-common/src/main/resources/config-descriptions.properties
deleted file mode 100644
index 7d6b4b4..0000000
--- a/platform/marmotta-ldcache-common/src/main/resources/config-descriptions.properties
+++ /dev/null
@@ -1,41 +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.
-#
-
-###############################################################################
-# LMF LD caching configuration
-###############################################################################
-
-ldcache.enabled.description = enable/disable automatic caching of remote resources from the Linked Data Cloud; \
- enabling leads to many HTTP requests when querying and should be considered with care
-ldcache.enabled.type = java.lang.Boolean
-
-ldcache.expiry.description = default expiry time in seconds if not otherwise given (default: 1 day)
-ldcache.expiry.type = java.lang.Integer(3600|0)
-
-ldcache.minexpiry.description = minimum expiry time before which a resource is refreshed from the linked data cloud \
- (use to avoid too short expiry times returned by servers)
-ldcache.minexpiry.type = java.lang.Integer(60|0)
-
-ldcache.so_timeout.description = how long to wait in ms when no data is sent over a connection
-ldcache.so_timeout.type = java.lang.Integer(1000|1000)
-
-ldcache.connection_timeout.description = how long to wait in ms until a connection is established
-ldcache.connection_timeout.type = java.lang.Integer(1000|1000)
-
-ldcache.max_parallel_requests.description = how many http retrievals to run at most in parallel
-ldcache.max_parallel_requests.type = java.lang.Integer(1|1|100)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/47855a4b/platform/marmotta-ldcache-common/src/main/resources/kiwi-module.properties
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldcache-common/src/main/resources/kiwi-module.properties b/platform/marmotta-ldcache-common/src/main/resources/kiwi-module.properties
deleted file mode 100644
index 3f3dd4e..0000000
--- a/platform/marmotta-ldcache-common/src/main/resources/kiwi-module.properties
+++ /dev/null
@@ -1,35 +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.
-#
-
-name=Linked Data Caching
-subtitle = Endpoints and Caches
-
-icon_small = /admin/img/ld-caching.png
-
-baseurl=/cache
-
-webservices=org.apache.marmotta.platform.ldcache.webservices.LinkedDataCachingWebService
-
-adminpage.0.title=About
-adminpage.0.link=/admin/about.html
-
-adminpage.1.title=Configuration
-adminpage.1.link=/admin/configuration.html
-
-
-