Author: alexdma
Date: Wed Apr 6 22:33:18 2011
New Revision: 1089654
URL: http://svn.apache.org/viewvc?rev=1089654&view=rev
Log:
STANBOL-129 :
- Reinstated overloaded non-OSGi constructor for ReengineerManagerImpl (takes
Dictionary).
- Updated unit tests to use this constructor.
Modified:
incubator/stanbol/trunk/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/ReengineerManagerImpl.java
incubator/stanbol/trunk/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/ReengineerManagerTest.java
incubator/stanbol/trunk/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java
Modified:
incubator/stanbol/trunk/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/ReengineerManagerImpl.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/ReengineerManagerImpl.java?rev=1089654&r1=1089653&r2=1089654&view=diff
==============================================================================
---
incubator/stanbol/trunk/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/ReengineerManagerImpl.java
(original)
+++
incubator/stanbol/trunk/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/ReengineerManagerImpl.java
Wed Apr 6 22:33:18 2011
@@ -4,22 +4,16 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Dictionary;
-import java.util.Hashtable;
import java.util.Iterator;
-import org.apache.clerezza.rdf.core.access.TcManager;
-import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
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.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
import org.apache.stanbol.reengineer.base.api.DataSource;
-import org.apache.stanbol.reengineer.base.api.ReengineeringException;
-import org.apache.stanbol.reengineer.base.api.ReengineerManager;
import org.apache.stanbol.reengineer.base.api.Reengineer;
+import org.apache.stanbol.reengineer.base.api.ReengineerManager;
+import org.apache.stanbol.reengineer.base.api.ReengineeringException;
import org.osgi.service.component.ComponentContext;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
@@ -27,210 +21,184 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Concrete implementation of the
- * {@link org.apache.stanbol.reengineer.base.api.ReengineerManager} interface
defined in the
- * KReS APIs.
+ * Concrete implementation of the {@link
org.apache.stanbol.reengineer.base.api.ReengineerManager} interface.
*
* @author andrea.nuzzolese
- *
+ *
*/
@Component(immediate = true, metatype = true)
@Service(ReengineerManager.class)
-public class ReengineerManagerImpl implements ReengineerManager{
+public class ReengineerManagerImpl implements ReengineerManager {
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ private ArrayList<Reengineer> reengineers;
+
+ /**
+ * Default constructor EXCLUSIVE to OSGi environments with declarative
services.
+ */
+ public ReengineerManagerImpl() {}
+
+ /**
+ * Basic constructor to be used if outside of an OSGi environment. Invokes
default constructor.
+ */
+ public ReengineerManagerImpl(Dictionary<String,Object> configuration) {
+ activate(configuration);
+ }
+
+ /**
+ * Used to configure an instance within an OSGi container.
+ *
+ * @throws IOException
+ */
+ @SuppressWarnings("unchecked")
+ @Activate
+ protected void activate(ComponentContext context) throws IOException {
+ log.info("in " + ReengineerManagerImpl.class + " activate with context
" + context);
+ if (context == null) {
+ throw new IllegalStateException("No valid" +
ComponentContext.class + " parsed in activate!");
+ }
+ activate((Dictionary<String,Object>) context.getProperties());
+ }
+
+ protected void activate(Dictionary<String,Object> configuration) {
+
+ reengineers = new ArrayList<Reengineer>();
+
+ }
+
+ /**
+ * @param semionReengineer
+ * {@link org.apache.stanbol.reengineer.base.api.Reengineer}
+ * @return true if the reengineer is bound, false otherwise
+ */
+ @Override
+ public boolean bindReengineer(Reengineer semionReengineer) {
+ boolean found = false;
+ Iterator<Reengineer> it = reengineers.iterator();
+ while (it.hasNext() && !found) {
+ Reengineer reengineer = it.next();
+ if (reengineer.getReengineerType() ==
semionReengineer.getReengineerType()) {
+ found = true;
+ }
+ }
+
+ if (!found) {
+ reengineers.add(semionReengineer);
+ String info = "Reengineering Manager : " + reengineers.size() + "
reengineers";
+ log.info(info);
+ return true;
+ } else {
+ log.info("Reengineer already existing");
+ return false;
+ }
+
+ }
+
+ @Override
+ public int countReengineers() {
+ return reengineers.size();
+ }
+
+ @Deactivate
+ protected void deactivate(ComponentContext context) {
+ log.info("in " + ReengineerManagerImpl.class + " deactivate with
context " + context);
+ reengineers = null;
+ }
+
+ @Override
+ public Collection<Reengineer> listReengineers() {
+ return reengineers;
+ }
+
+ @Override
+ public OWLOntology performDataReengineering(String graphNS,
+ IRI outputIRI,
+ DataSource dataSource,
+ OWLOntology schemaOntology)
throws ReengineeringException {
+
+ OWLOntology reengineeredDataOntology = null;
+
+ boolean reengineered = false;
+ Iterator<Reengineer> it = reengineers.iterator();
+ while (it.hasNext() && !reengineered) {
+ Reengineer semionReengineer = it.next();
+ if (semionReengineer.canPerformReengineering(schemaOntology)) {
+ reengineeredDataOntology =
semionReengineer.dataReengineering(graphNS, outputIRI, dataSource,
+ schemaOntology);
+ reengineered = true;
+ }
+ }
+
+ return reengineeredDataOntology;
+ }
+
+ public OWLOntology performReengineering(String graphNS, IRI outputIRI,
DataSource dataSource) throws ReengineeringException {
+
+ OWLOntology reengineeredOntology = null;
+
+ boolean reengineered = false;
+ Iterator<Reengineer> it = reengineers.iterator();
+ while (it.hasNext() && !reengineered) {
+ Reengineer semionReengineer = it.next();
+ if (semionReengineer.canPerformReengineering(dataSource)) {
+ log.debug(semionReengineer.getClass().getCanonicalName() + "
can perform the reengineering");
+ reengineeredOntology = semionReengineer.reengineering(graphNS,
outputIRI, dataSource);
+ reengineered = true;
+ } else {
+ log.debug(semionReengineer.getClass().getCanonicalName()
+ + " cannot perform the reengineering");
+ }
+ }
+
+ return reengineeredOntology;
+ }
+
+ public OWLOntology performSchemaReengineering(String graphNS, IRI
outputIRI, DataSource dataSource) throws ReengineeringException {
+
+ OWLOntology reengineeredSchemaOntology = null;
+
+ boolean reengineered = false;
+ Iterator<Reengineer> it = reengineers.iterator();
+ while (it.hasNext() && !reengineered) {
+ Reengineer semionReengineer = it.next();
+ if (semionReengineer.canPerformReengineering(dataSource)) {
+ reengineeredSchemaOntology =
semionReengineer.schemaReengineering(graphNS, outputIRI,
+ dataSource);
+ if (reengineeredSchemaOntology == null) {
+ throw new ReengineeringException();
+ }
+ reengineered = true;
+ }
+ }
+
+ return reengineeredSchemaOntology;
+ }
+
+ @Override
+ public boolean unbindReengineer(int reenginnerType) {
+ boolean found = false;
+ for (int i = 0, j = reengineers.size(); i < j && !found; i++) {
+ Reengineer reengineer = reengineers.get(i);
+ if (reengineer.getReengineerType() == reenginnerType) {
+ reengineers.remove(i);
+ found = true;
+ }
+ }
+ return found;
+ }
+
+ @Override
+ public boolean unbindReengineer(Reengineer semionReengineer) {
+ boolean found = false;
+ for (int i = 0, j = reengineers.size(); i < j && !found; i++) {
+ if (semionReengineer.equals(reengineers.get(i))) {
+ reengineers.remove(i);
+ found = true;
+ }
+ }
+ return found;
+ }
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private ArrayList<Reengineer> reengineers;
-
-
- /**
- * Basic constructor to be used if outside of an OSGi environment.
Invokes
- * default constructor.
- *
- * @param onm
- */
- public ReengineerManagerImpl() {
-
- activate(new Hashtable<String, Object>());
- }
-
- /**
- * Used to configure an instance within an OSGi container.
- *
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- @Activate
- protected void activate(ComponentContext context) throws IOException {
- log.info("in " + ReengineerManagerImpl.class + " activate with
context "
- + context);
- if (context == null) {
- throw new IllegalStateException("No valid" +
ComponentContext.class
- + " parsed in activate!");
- }
- activate((Dictionary<String, Object>) context.getProperties());
- }
-
- protected void activate(Dictionary<String, Object> configuration) {
-
- reengineers = new ArrayList<Reengineer>();
-
- }
-
- /**
- * @param semionReengineer
- * {@link org.apache.stanbol.reengineer.base.api.Reengineer}
- * @return true if the reengineer is bound, false otherwise
- */
- @Override
- public boolean bindReengineer(Reengineer semionReengineer) {
- boolean found = false;
- Iterator<Reengineer> it = reengineers.iterator();
- while(it.hasNext() && !found){
- Reengineer reengineer = it.next();
- if (reengineer.getReengineerType() == semionReengineer
- .getReengineerType()) {
- found = true;
- }
- }
-
- if(!found){
- reengineers.add(semionReengineer);
- String info = "Reengineering Manager : " +
reengineers.size()
- + " reengineers";
- log.info(info);
- return true;
- } else {
- log.info("Reengineer already existing");
- return false;
- }
-
- }
-
- @Override
- public int countReengineers() {
- return reengineers.size();
- }
-
- @Deactivate
- protected void deactivate(ComponentContext context) {
- log.info("in " + ReengineerManagerImpl.class + " deactivate
with context "
- + context);
- reengineers = null;
- }
-
-// @Override
-// public SemionRefactorer getRegisteredRefactorer() {
-// return semionRefactorer;
-// }
-
- @Override
- public Collection<Reengineer> listReengineers() {
- return reengineers;
- }
-
-
- @Override
- public OWLOntology performDataReengineering(String graphNS, IRI
outputIRI,
- DataSource dataSource, OWLOntology schemaOntology)
- throws ReengineeringException {
-
- OWLOntology reengineeredDataOntology = null;
-
- boolean reengineered = false;
- Iterator<Reengineer> it = reengineers.iterator();
- while(it.hasNext() && !reengineered){
- Reengineer semionReengineer = it.next();
-
if(semionReengineer.canPerformReengineering(schemaOntology)){
- reengineeredDataOntology =
semionReengineer.dataReengineering(
- graphNS, outputIRI, dataSource,
schemaOntology);
- reengineered = true;
- }
- }
-
- return reengineeredDataOntology;
- }
-
- public OWLOntology performReengineering(String graphNS, IRI outputIRI,
- DataSource dataSource) throws ReengineeringException {
-
- OWLOntology reengineeredOntology = null;
-
- boolean reengineered = false;
- Iterator<Reengineer> it = reengineers.iterator();
- while (it.hasNext() && !reengineered) {
- Reengineer semionReengineer = it.next();
- if
(semionReengineer.canPerformReengineering(dataSource)) {
-
log.debug(semionReengineer.getClass().getCanonicalName()
- + " can perform the
reengineering");
- reengineeredOntology =
semionReengineer.reengineering(graphNS,
- outputIRI, dataSource);
- reengineered = true;
- } else {
-
log.debug(semionReengineer.getClass().getCanonicalName()
- + " cannot perform the
reengineering");
- }
- }
-
- return reengineeredOntology;
- }
-
- public OWLOntology performSchemaReengineering(String graphNS,
- IRI outputIRI, DataSource dataSource) throws
ReengineeringException {
-
- OWLOntology reengineeredSchemaOntology = null;
-
- boolean reengineered = false;
- Iterator<Reengineer> it = reengineers.iterator();
- while (it.hasNext() && !reengineered) {
- Reengineer semionReengineer = it.next();
- if
(semionReengineer.canPerformReengineering(dataSource)) {
- reengineeredSchemaOntology = semionReengineer
- .schemaReengineering(graphNS,
outputIRI, dataSource);
- if (reengineeredSchemaOntology == null) {
- throw new ReengineeringException();
- }
- reengineered = true;
- }
- }
-
- return reengineeredSchemaOntology;
- }
-
-// @Override
-// public void registerRefactorer(SemionRefactorer semionRefactorer) {
-// this.semionRefactorer = semionRefactorer;
-// }
-
- @Override
- public boolean unbindReengineer(int reenginnerType) {
- boolean found = false;
- for(int i=0, j=reengineers.size(); i<j && !found; i++){
- Reengineer reengineer = reengineers.get(i);
- if(reengineer.getReengineerType() == reenginnerType){
- reengineers.remove(i);
- found = true;
- }
- }
- return found;
- }
-
- @Override
- public boolean unbindReengineer(Reengineer semionReengineer) {
- boolean found = false;
- for (int i = 0, j = reengineers.size(); i < j && !found; i++) {
- if (semionReengineer.equals(reengineers.get(i))) {
- reengineers.remove(i);
- found = true;
- }
- }
- return found;
- }
-
-// @Override
-// public void unregisterRefactorer() {
-// this.semionRefactorer = null;
-// }
-
}
Modified:
incubator/stanbol/trunk/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/ReengineerManagerTest.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/ReengineerManagerTest.java?rev=1089654&r1=1089653&r2=1089654&view=diff
==============================================================================
---
incubator/stanbol/trunk/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/ReengineerManagerTest.java
(original)
+++
incubator/stanbol/trunk/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/ReengineerManagerTest.java
Wed Apr 6 22:33:18 2011
@@ -2,6 +2,8 @@ package org.apache.stanbol.rengineer.bas
import static org.junit.Assert.fail;
+import java.util.Hashtable;
+
import org.apache.stanbol.reengineer.base.api.DataSource;
import org.apache.stanbol.reengineer.base.api.ReengineeringException;
import org.apache.stanbol.reengineer.base.api.ReengineerManager;
@@ -82,7 +84,7 @@ public class ReengineerManagerTest {
@Test
public void bindTest(){
- ReengineerManager semionManager = new ReengineerManagerImpl();
+ ReengineerManager semionManager = new ReengineerManagerImpl(new
Hashtable<String,Object>());
if(!semionManager.bindReengineer(semionReengineer)){
fail("Bind test failed for SemionManager");
}
@@ -90,7 +92,7 @@ public class ReengineerManagerTest {
@Test
public void unbindByReengineerTypeTest(){
- ReengineerManager semionManager = new ReengineerManagerImpl();
+ ReengineerManager semionManager = new ReengineerManagerImpl(new
Hashtable<String,Object>());
semionManager.bindReengineer(semionReengineer);
if(!semionManager.unbindReengineer(ReengineerType.XML)){
fail("Unbind by reengineer type test failed for
SemionManager");
@@ -99,7 +101,7 @@ public class ReengineerManagerTest {
@Test
public void unbindByReengineerInstanceTest(){
- ReengineerManager semionManager = new ReengineerManagerImpl();
+ ReengineerManager semionManager = new ReengineerManagerImpl(new
Hashtable<String,Object>());
semionManager.bindReengineer(semionReengineer);
if(!semionManager.unbindReengineer(semionReengineer)){
fail("Unbind by reengineer instance test failed for
SemionManager");
Modified:
incubator/stanbol/trunk/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java?rev=1089654&r1=1089653&r2=1089654&view=diff
==============================================================================
---
incubator/stanbol/trunk/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java
(original)
+++
incubator/stanbol/trunk/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java
Wed Apr 6 22:33:18 2011
@@ -90,7 +90,7 @@ public class XMLReengineerTest {
// Two different ontology storagez, the same sparql engine and
tcprovider
ONManager onManager = new ONManagerImpl(tcm, wtcp ,emptyConf);
- xmlExtractor = new XMLExtractor(new ReengineerManagerImpl(),
+ xmlExtractor = new XMLExtractor(new ReengineerManagerImpl(new
Hashtable<String,Object>()),
onManager, emptyConf);
}