Author: alexdma Date: Tue Jun 5 13:18:27 2012 New Revision: 1346381 URL: http://svn.apache.org/viewvc?rev=1346381&view=rev Log: STANBOL-655 : class loading for rule adapters now uses Class.forName()
Modified: incubator/stanbol/trunk/rules/adapters/clerezza/src/main/java/org/apache/stanbol/rules/adapters/clerezza/ClerezzaAdapter.java incubator/stanbol/trunk/rules/adapters/jena/src/main/java/org/apache/stanbol/rules/adapters/jena/JenaAdapter.java incubator/stanbol/trunk/rules/adapters/sparql/src/main/java/org/apache/stanbol/rules/adapters/sparql/SPARQLAdapter.java incubator/stanbol/trunk/rules/adapters/swrl/src/main/java/org/apache/stanbol/rules/adapters/swrl/SWRLAdapter.java incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/ClerezzaRuleStore.java incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java incubator/stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesResource.java Modified: incubator/stanbol/trunk/rules/adapters/clerezza/src/main/java/org/apache/stanbol/rules/adapters/clerezza/ClerezzaAdapter.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/clerezza/src/main/java/org/apache/stanbol/rules/adapters/clerezza/ClerezzaAdapter.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/adapters/clerezza/src/main/java/org/apache/stanbol/rules/adapters/clerezza/ClerezzaAdapter.java (original) +++ incubator/stanbol/trunk/rules/adapters/clerezza/src/main/java/org/apache/stanbol/rules/adapters/clerezza/ClerezzaAdapter.java Tue Jun 5 13:18:27 2012 @@ -190,15 +190,16 @@ public class ClerezzaAdapter extends Abs if (type == ConstructQuery.class) { - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - String className = ruleAtom.getClass().getSimpleName(); String canonicalName = ARTIFACT + "." + className; try { - Class<AdaptableAtom> clerezzaAtomClass = (Class<AdaptableAtom>) loader - .loadClass(canonicalName); + + // ClassLoader loader = Thread.currentThread().getContextClassLoader(); + // Class<AdaptableAtom> clerezzaAtomClass = (Class<AdaptableAtom>) + // loader.loadClass(canonicalName); + Class<AdaptableAtom> clerezzaAtomClass = (Class<AdaptableAtom>) Class.forName(canonicalName); try { AdaptableAtom clerezzaAtom = clerezzaAtomClass.newInstance(); @@ -269,10 +270,9 @@ public class ClerezzaAdapter extends Abs @Override public <T> boolean canAdaptTo(Adaptable adaptable, Class<T> type) { - if(type == ConstructQuery.class){ + if (type == ConstructQuery.class) { return true; - } - else{ + } else { return false; } } Modified: incubator/stanbol/trunk/rules/adapters/jena/src/main/java/org/apache/stanbol/rules/adapters/jena/JenaAdapter.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/jena/src/main/java/org/apache/stanbol/rules/adapters/jena/JenaAdapter.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/adapters/jena/src/main/java/org/apache/stanbol/rules/adapters/jena/JenaAdapter.java (original) +++ incubator/stanbol/trunk/rules/adapters/jena/src/main/java/org/apache/stanbol/rules/adapters/jena/JenaAdapter.java Tue Jun 5 13:18:27 2012 @@ -164,14 +164,14 @@ public class JenaAdapter extends Abstrac if (type == com.hp.hpl.jena.reasoner.rulesys.Rule.class) { - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - String className = ruleAtom.getClass().getSimpleName(); String canonicalName = ARTIFACT + "." + className; try { - Class<AdaptableAtom> jenaAtomClass = (Class<AdaptableAtom>) loader.loadClass(canonicalName); + // ClassLoader loader = Thread.currentThread().getContextClassLoader(); + // Class<AdaptableAtom> jenaAtomClass = (Class<AdaptableAtom>)loader.loadClass(canonicalName); + Class<AdaptableAtom> jenaAtomClass = (Class<AdaptableAtom>) Class.forName(canonicalName); try { AdaptableAtom jenaAtom = jenaAtomClass.newInstance(); @@ -246,10 +246,9 @@ public class JenaAdapter extends Abstrac @Override public <T> boolean canAdaptTo(Adaptable adaptable, Class<T> type) { - if(type == com.hp.hpl.jena.reasoner.rulesys.Rule.class){ + if (type == com.hp.hpl.jena.reasoner.rulesys.Rule.class) { return true; - } - else{ + } else { return false; } } Modified: incubator/stanbol/trunk/rules/adapters/sparql/src/main/java/org/apache/stanbol/rules/adapters/sparql/SPARQLAdapter.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/src/main/java/org/apache/stanbol/rules/adapters/sparql/SPARQLAdapter.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/adapters/sparql/src/main/java/org/apache/stanbol/rules/adapters/sparql/SPARQLAdapter.java (original) +++ incubator/stanbol/trunk/rules/adapters/sparql/src/main/java/org/apache/stanbol/rules/adapters/sparql/SPARQLAdapter.java Tue Jun 5 13:18:27 2012 @@ -199,14 +199,15 @@ public class SPARQLAdapter extends Abstr if (type == SPARQLObject.class) { - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - String className = ruleAtom.getClass().getSimpleName(); String canonicalName = ARTIFACT + "." + className; try { - Class<AdaptableAtom> sparqlAtomClass = (Class<AdaptableAtom>) loader.loadClass(canonicalName); + // ClassLoader loader = Thread.currentThread().getContextClassLoader(); + // Class<AdaptableAtom> sparqlAtomClass = + // (Class<AdaptableAtom>)loader.loadClass(canonicalName); + Class<AdaptableAtom> sparqlAtomClass = (Class<AdaptableAtom>) Class.forName(canonicalName); try { AdaptableAtom sparqlAtom = sparqlAtomClass.newInstance(); @@ -286,10 +287,9 @@ public class SPARQLAdapter extends Abstr @Override public <T> boolean canAdaptTo(Adaptable adaptable, Class<T> type) { - if(type == SPARQLObject.class){ + if (type == SPARQLObject.class) { return true; - } - else{ + } else { return false; } } Modified: incubator/stanbol/trunk/rules/adapters/swrl/src/main/java/org/apache/stanbol/rules/adapters/swrl/SWRLAdapter.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/swrl/src/main/java/org/apache/stanbol/rules/adapters/swrl/SWRLAdapter.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/adapters/swrl/src/main/java/org/apache/stanbol/rules/adapters/swrl/SWRLAdapter.java (original) +++ incubator/stanbol/trunk/rules/adapters/swrl/src/main/java/org/apache/stanbol/rules/adapters/swrl/SWRLAdapter.java Tue Jun 5 13:18:27 2012 @@ -142,14 +142,14 @@ public class SWRLAdapter extends Abstrac if (type == SWRLRule.class) { - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - String className = ruleAtom.getClass().getSimpleName(); String canonicalName = ARTIFACT + "." + className; try { - Class<AdaptableAtom> swrlAtomClass = (Class<AdaptableAtom>) loader.loadClass(canonicalName); + // ClassLoader loader = Thread.currentThread().getContextClassLoader(); + // Class<AdaptableAtom> swrlAtomClass = (Class<AdaptableAtom>)loader.loadClass(canonicalName); + Class<AdaptableAtom> swrlAtomClass = (Class<AdaptableAtom>) Class.forName(canonicalName); try { AdaptableAtom swrlAtom = swrlAtomClass.newInstance(); @@ -224,10 +224,9 @@ public class SWRLAdapter extends Abstrac @Override public <T> boolean canAdaptTo(Adaptable adaptable, Class<T> type) { - if(type == SWRLRule.class){ + if (type == SWRLRule.class) { return true; - } - else{ + } else { return false; } } Modified: incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/ClerezzaRuleStore.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/ClerezzaRuleStore.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/ClerezzaRuleStore.java (original) +++ incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/ClerezzaRuleStore.java Tue Jun 5 13:18:27 2012 @@ -24,7 +24,6 @@ package org.apache.stanbol.rules.manager import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; -import java.util.Collections; import java.util.Dictionary; import java.util.Iterator; import java.util.List; @@ -53,7 +52,6 @@ import org.apache.felix.scr.annotations. import org.apache.felix.scr.annotations.Property; import org.apache.felix.scr.annotations.Reference; import org.apache.felix.scr.annotations.Service; -import org.apache.stanbol.ontologymanager.ontonet.api.ONManager; import org.apache.stanbol.rules.base.api.AlreadyExistingRecipeException; import org.apache.stanbol.rules.base.api.NoSuchRecipeException; import org.apache.stanbol.rules.base.api.NoSuchRuleInRecipeException; @@ -102,8 +100,8 @@ public class ClerezzaRuleStore implement * Component Runtime support. * <p> * DO NOT USE to manually create instances - the RuleStoreImpl instances do need to be configured! YOU - * NEED TO USE {@link #RuleStoreImpl(ONManager, Dictionary)} or its overloads, to parse the configuration - * and then initialise the rule store if running outside a OSGI environment. + * NEED TO USE {@link #ClerezzaRuleStore(Dictionary, TcManager)} or its overloads, to parse the + * configuration and then initialise the rule store if running outside a OSGI environment. */ public ClerezzaRuleStore() {} @@ -197,15 +195,14 @@ public class ClerezzaRuleStore implement TripleCollection recipeIndexTripleCollection = tcManager.getMGraph(new UriRef(recipeIndexLocation)); recipeIndexTripleCollection.add(recipeTriple); - - if(recipeDescription != null && !recipeDescription.isEmpty()){ + + if (recipeDescription != null && !recipeDescription.isEmpty()) { Triple descriptionTriple = new TripleImpl(recipeID, Symbols.description, new PlainLiteralImpl( recipeDescription)); tripleCollection.add(descriptionTriple); - + recipeIndexTripleCollection.add(descriptionTriple); } - // add the recpe ID to the list of known recipes recipes.add(recipeID); @@ -250,7 +247,7 @@ public class ClerezzaRuleStore implement tripleCollection.add(new TripleImpl(rule.getRuleID(), Symbols.ruleName, new PlainLiteralImpl(rule .getRuleName()))); - if(description != null && !description.isEmpty()){ + if (description != null && !description.isEmpty()) { tripleCollection.add(new TripleImpl(rule.getRuleID(), Symbols.description, new PlainLiteralImpl( description))); } @@ -425,7 +422,7 @@ public class ClerezzaRuleStore implement } recipeList.add(recipe); } - + log.info("The Clerezza rule store contains {} recipes", recipeList.size()); return recipeList; @@ -539,7 +536,7 @@ public class ClerezzaRuleStore implement try { Recipe recipe = getRecipe(recipeID); - + log.info("Found recipe {}.", recipeID.toString()); matchingRecipes.add(recipe); log.info("Found {} matching recipes.", matchingRecipes.size()); @@ -578,7 +575,6 @@ public class ClerezzaRuleStore implement try { - SelectQuery query = (SelectQuery) QueryParser.getInstance().parse(sparql); ResultSet resultSet = tcManager.executeSparqlQuery(query, unionMGraph); Modified: incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java (original) +++ incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java Tue Jun 5 13:18:27 2012 @@ -27,14 +27,12 @@ import org.apache.clerezza.rdf.core.UriR import org.apache.clerezza.rdf.core.access.TcManager; import org.apache.clerezza.rdf.core.access.WeightedTcProvider; import org.apache.clerezza.rdf.core.impl.SimpleMGraph; -import org.apache.clerezza.rdf.core.serializedform.Serializer; import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery; import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Deactivate; import org.apache.felix.scr.annotations.Reference; import org.apache.felix.scr.annotations.Service; -import org.apache.stanbol.ontologymanager.ontonet.api.ONManager; import org.apache.stanbol.rules.base.api.NoSuchRecipeException; import org.apache.stanbol.rules.base.api.Recipe; import org.apache.stanbol.rules.base.api.RecipeConstructionException; @@ -53,7 +51,6 @@ import org.osgi.service.component.Compon import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.hp.hpl.jena.reasoner.Reasoner; import com.hp.hpl.jena.sparql.function.FunctionRegistry; import com.hp.hpl.jena.sparql.pfunction.PropertyFunctionRegistry; @@ -89,9 +86,9 @@ public class RefactorerImpl implements R * <p> * DO NOT USE to manually create instances - the RefactorerImpl instances do need to be configured! YOU * NEED TO USE - * {@link #RefactorerImpl(WeightedTcProvider, Serializer, TcManager, ONManager, SemionManager, RuleStore, Reasoner, Dictionary)} - * or its overloads, to parse the configuration and then initialise the rule store if running outside a - * OSGI environment. + * {@link #RefactorerImpl(WeightedTcProvider, TcManager, RuleStore, RuleAdapterManager, Dictionary)} or + * its overloads, to parse the configuration and then initialise the rule store if running outside a OSGI + * environment. */ public RefactorerImpl() { Modified: incubator/stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesResource.java URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesResource.java?rev=1346381&r1=1346380&r2=1346381&view=diff ============================================================================== --- incubator/stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesResource.java (original) +++ incubator/stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesResource.java Tue Jun 5 13:18:27 2012 @@ -129,9 +129,9 @@ public class RulesResource extends BaseS MediaType.TEXT_PLAIN}) @Path("/find/recipes") public Response findRecipes(@QueryParam("description") String description) { - + log.info("Searching for recipes with description like to {}.", description); - + RecipeList recipes = ruleStore.findRecipesByDescription(description); log.info("The recipe list is emplty? {} ", recipes.isEmpty()); @@ -233,13 +233,13 @@ public class RulesResource extends BaseS addCORSOrigin(servletContext, responseBuilder, headers); return responseBuilder.build(); } - + @GET @Path("/recipe/{recipe:.+}") @Produces(value = {MediaType.TEXT_HTML}) public Response showRecipe(@PathParam("recipe") String recipeID, - @QueryParam("rule") String ruleID, - @Context HttpHeaders headers) { + @QueryParam("rule") String ruleID, + @Context HttpHeaders headers) { Recipe recipe; Rule rule; @@ -256,7 +256,8 @@ public class RulesResource extends BaseS recipe = new RecipeImpl(recipe.getRecipeID(), recipe.getRecipeDescription(), ruleList); } - responseBuilder = Response.ok(new Viewable("rules", new RulesPrettyPrintResource(servletContext,uriInfo,recipe))); + responseBuilder = Response.ok(new Viewable("rules", new RulesPrettyPrintResource(servletContext, + uriInfo, recipe))); } catch (NoSuchRecipeException e) { log.error(e.getMessage(), e); @@ -268,7 +269,7 @@ public class RulesResource extends BaseS log.error(e.getMessage(), e); responseBuilder = Response.status(Status.NOT_FOUND); } - + addCORSOrigin(servletContext, responseBuilder, headers); return responseBuilder.build(); } @@ -310,12 +311,12 @@ public class RulesResource extends BaseS return responseBuilder.build(); } - + @GET @Path("/recipe") @Produces(value = {KRFormat.RDF_XML, KRFormat.TURTLE, KRFormat.OWL_XML, KRFormat.RDF_JSON, KRFormat.FUNCTIONAL_OWL, KRFormat.MANCHESTER_OWL}) - public Response listRecipes(@Context HttpHeaders headers){ + public Response listRecipes(@Context HttpHeaders headers) { ResponseBuilder responseBuilder = null; try { RecipeList recipeList = getListRecipes(); @@ -327,12 +328,12 @@ public class RulesResource extends BaseS log.error(e.getMessage(), e); responseBuilder = Response.status(Status.INTERNAL_SERVER_ERROR); } - - addCORSOrigin(servletContext, responseBuilder, headers); - return responseBuilder.build(); + + addCORSOrigin(servletContext, responseBuilder, headers); + return responseBuilder.build(); } - - public RecipeList getListRecipes() throws NoSuchRecipeException, RecipeConstructionException{ + + public RecipeList getListRecipes() throws NoSuchRecipeException, RecipeConstructionException { return ruleStore.listRecipes(); } @@ -472,10 +473,11 @@ public class RulesResource extends BaseS ResponseBuilder responseBuilder = null; - ClassLoader loader = Thread.currentThread().getContextClassLoader(); Class<?> classToLoad; try { - classToLoad = loader.loadClass(format); + // ClassLoader loader = Thread.currentThread().getContextClassLoader(); + // classToLoad = loader.loadClass(format); + classToLoad = Class.forName(format); Recipe rcp = ruleStore.getRecipe(new UriRef(recipe)); RuleAdapter adapter = adapterManager.getAdapter(rcp, classToLoad); @@ -573,8 +575,7 @@ public class RulesResource extends BaseS return responseBuilder.build(); } - - + public List<RuleAdapter> getListAdapters() { return adapterManager.listRuleAdapters();