Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NERserviceClientHTTP.java Mon May 14 21:07:19 2012 @@ -0,0 +1,120 @@ +package org.apache.stanbol.enhancer.engines.celi.ner.impl; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.List; +import java.util.Vector; + +import javax.xml.soap.MessageFactory; +import javax.xml.soap.SOAPBody; +import javax.xml.soap.SOAPMessage; +import javax.xml.soap.SOAPPart; +import javax.xml.transform.stream.StreamSource; + +import org.apache.clerezza.rdf.core.impl.util.Base64; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.StringEscapeUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + + +public class NERserviceClientHTTP { + + private URL serviceEP; + private String licenseKey; + + private final Logger log = LoggerFactory.getLogger(getClass()); + + public NERserviceClientHTTP(URL serviceUrl, String licenseKey){ + this.serviceEP=serviceUrl; + this.licenseKey=licenseKey; + } + + public InputStream doPostRequest(URL url, String body) throws IOException { + + HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); + urlConn.setRequestMethod("POST"); + urlConn.setDoInput(true); + if (null != body) { + urlConn.setDoOutput(true); + } else { + urlConn.setDoOutput(false); + } + urlConn.setUseCaches(false); + String contentType = "text/xml; charset=utf-8"; + urlConn.setRequestProperty("Content-Type", contentType); + if(this.licenseKey!=null){ + String encoded = Base64.encode(this.licenseKey.getBytes("UTF-8")); + urlConn.setRequestProperty("Authorization", "Basic "+encoded); + } + + // send POST output + if (null != body) { + OutputStreamWriter printout = new OutputStreamWriter(urlConn.getOutputStream(), "UTF-8"); + printout.write(body); + printout.flush(); + printout.close(); + } + + //close connection + urlConn.disconnect(); + + // get response data + return urlConn.getInputStream(); + } + + + public List<NamedEntity> extractEntities(String text) { + + List<NamedEntity> extractedNE = new Vector<NamedEntity>(); + + try { + String txt = StringEscapeUtils.escapeXml(text); + String xmldata = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:v0u0=\"http://linguagrid.org/ns/namedentityrecognition/v0u0\"><soapenv:Header/><soapenv:Body><v0u0:processTextRequest><v0u0:text>" + + txt + "</v0u0:text></v0u0:processTextRequest></soapenv:Body></soapenv:Envelope>"; + + InputStream resultStream = doPostRequest(serviceEP, xmldata); + + // Create SoapMessage + MessageFactory msgFactory = MessageFactory.newInstance(); + SOAPMessage message = msgFactory.createMessage(); + SOAPPart soapPart = message.getSOAPPart(); + + // Load the SOAP text into a stream source + StreamSource source = new StreamSource(resultStream); + + // Set contents of message + soapPart.setContent(source); + + SOAPBody soapBody = message.getSOAPBody(); + NodeList nlist = soapBody.getElementsByTagName("result"); + for (int i = 0; i < nlist.getLength(); i++) { + try { + Element result = (Element) nlist.item(i); + + NamedEntity ne = new NamedEntity(); + ne.setType(result.getElementsByTagNameNS("*","type").item(0).getTextContent()); + ne.setSource(result.getElementsByTagNameNS("*","source").item(0).getTextContent()); + ne.setFormKind(result.getElementsByTagNameNS("*","formKind").item(0).getTextContent()); + ne.setFrom(Long.parseLong(result.getElementsByTagNameNS("*","from").item(0).getTextContent())); + ne.setTo(Long.parseLong(result.getElementsByTagNameNS("*","to").item(0).getTextContent())); + + extractedNE.add(ne); + } catch (Exception e) { + e.printStackTrace(); + } + + } + } catch (Exception e) { + e.printStackTrace(); + } + + return extractedNE; + } +}
Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NamedEntity.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NamedEntity.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NamedEntity.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/NamedEntity.java Mon May 14 21:07:19 2012 @@ -0,0 +1,216 @@ + +package org.apache.stanbol.enhancer.engines.celi.ner.impl; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for NamedEntity complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="NamedEntity"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="id" type="{http://www.w3.org/2001/XMLSchema}long"/> + * <element name="type" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/> + * <element name="source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="formKind" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="morphosyntacticFeatures" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="from" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/> + * <element name="to" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NamedEntity", namespace = "http://linguagrid.org/ns/namedentityrecognition/v0u0", propOrder = { + "id", + "type", + "source", + "formKind", + "morphosyntacticFeatures", + "from", + "to" +}) +public class NamedEntity { + + protected long id; + @XmlSchemaType(name = "anyURI") + protected String type; + protected String source; + protected String formKind; + protected String morphosyntacticFeatures; + protected Long from; + protected Long to; + + /** + * Gets the value of the id property. + * + */ + public long getId() { + return id; + } + + /** + * Sets the value of the id property. + * + */ + public void setId(long value) { + this.id = value; + } + + /** + * Gets the value of the type property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getType() { + return type; + } + + /** + * Sets the value of the type property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setType(String value) { + this.type = value; + } + + /** + * Gets the value of the source property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSource() { + return source; + } + + /** + * Sets the value of the source property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSource(String value) { + this.source = value; + } + + /** + * Gets the value of the formKind property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getFormKind() { + return formKind; + } + + /** + * Sets the value of the formKind property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFormKind(String value) { + this.formKind = value; + } + + /** + * Gets the value of the morphosyntacticFeatures property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getMorphosyntacticFeatures() { + return morphosyntacticFeatures; + } + + /** + * Sets the value of the morphosyntacticFeatures property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setMorphosyntacticFeatures(String value) { + this.morphosyntacticFeatures = value; + } + + /** + * Gets the value of the from property. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getFrom() { + return from; + } + + /** + * Sets the value of the from property. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setFrom(Long value) { + this.from = value; + } + + /** + * Gets the value of the to property. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTo() { + return to; + } + + /** + * Sets the value of the to property. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTo(Long value) { + this.to = value; + } + +} Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/OSGI-INF/metatype/metatype.properties Mon May 14 21:07:19 2012 @@ -0,0 +1,144 @@ +# 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. + +# This file contains localization strings for configuration labels and +# descriptions as used in the metatype.xml descriptor generated by the +# the maven SCR plugin + +#=============================================================================== +#Properties and Options used to configure CELI enhancement +#=============================================================================== + +#NER + +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Named Entity Recognizer +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.description=An Enhancement Engine that sends ContentItems to CELI Named Entity Recognizer Web Service and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.ner.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.ner.license.description=The key needed to access the CELI Named Entity Recognizer Web Service + +org.apache.stanbol.enhancer.engines.celi.ner.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.ner.url.description=The URL of the CELI Named Entity Recognizer Web Service + +org.apache.stanbol.enhancer.engines.celi.ner.languages.name=Supported languages +org.apache.stanbol.enhancer.engines.celi.ner.languages.description=The language(s) supported by the configured Named Entity Recognizer Web Service + +#CLASSIFICATION +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Document Classification +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.description=An Enhancement Engine that sends ContentItems to CELI Document Classification Web Service and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.license.description=The key needed to access the CELI Document Classification Web Service + +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.url.description=The URL of the CELI Document Classification Web Service + + +#LID +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Language Identifier +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.description=An Enhancement Engine that sends ContentItems to Language Identifier Web Service and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.license.description=The key needed to access the CELI Language Identifier Web Service + +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.url.description=The URL of the CELI Language Identifier Web Service + + +#LEMM +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Lemmatizer +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.description=An Enhancement Engine that sends ContentItems to OpenCalais and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.license.description=The key needed to access the CELI Lemmatizer Web Service + +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.url.description=The URL of the CELI Lemmatizer Web Service + +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.morphoAnalysis.name=Full Morphological Analysis +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.morphoAnalysis.description=Boolean value that sets the Engine to full morphological analysis working mode (true) or to textual contents lemmatization (false) +# 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. + +# This file contains localization strings for configuration labels and +# descriptions as used in the metatype.xml descriptor generated by the +# the maven SCR plugin + +#=============================================================================== +#Properties and Options used to configure CELI enhancement +#=============================================================================== + +#NER + +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Named Entity Recognizer +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.description=An Enhancement Engine that sends ContentItems to CELI Named Entity Recognizer Web Service and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.license.description=The key needed to access the CELI Named Entity Recognizer Web Service + +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine.url.description=The URL of the CELI Named Entity Recognizer Web Service + + +#CLASSIFICATION +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Document Classification +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.description=An Enhancement Engine that sends ContentItems to CELI Document Classification Web Service and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.license.description=The key needed to access the CELI Document Classification Web Service + +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine.url.description=The URL of the CELI Document Classification Web Service + + +#LID +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Language Identifier +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.description=An Enhancement Engine that sends ContentItems to Language Identifier Web Service and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.license.description=The key needed to access the CELI Language Identifier Web Service + +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngine.url.description=The URL of the CELI Language Identifier Web Service + + +#LEMM +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.name=Apache Stanbol Enhancer Engine: CELI Lemmatizer +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.description=An Enhancement Engine that sends ContentItems to OpenCalais and converts the results to the Stanbol Enhancement Structure + +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.license.name=License Key +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.license.description=The key needed to access the CELI Lemmatizer Web Service + +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.url.name=Service URL +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.url.description=The URL of the CELI Lemmatizer Web Service + +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.morphoAnalysis.name=Full Morphological Analysis +org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine.morphoAnalysis.description=Boolean value that sets the Engine to full morphological analysis working mode (true) or to textual contents lemmatization (false) \ No newline at end of file Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/log4j.properties URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/log4j.properties?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/log4j.properties (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/main/resources/log4j.properties Mon May 14 21:07:19 2012 @@ -0,0 +1,40 @@ +# 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. + +log4j.rootLogger=WARN, CONSOLE +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%C{1}] %m%n + +# 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. + +log4j.rootLogger=WARN, CONSOLE +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%C{1}] %m%n + Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/classification/impl/CeliClassificationEnhancementEngineTest.java Mon May 14 21:07:19 2012 @@ -0,0 +1,105 @@ +package org.apache.stanbol.enhancer.engines.celi.classification.impl; + +import static org.apache.stanbol.enhancer.servicesapi.rdf.Properties.RDF_TYPE; +import static org.apache.stanbol.enhancer.servicesapi.rdf.TechnicalClasses.ENHANCER_ENTITYANNOTATION; +import static org.apache.stanbol.enhancer.servicesapi.rdf.TechnicalClasses.ENHANCER_TEXTANNOTATION; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Dictionary; +import java.util.Hashtable; +import java.util.Iterator; + +import org.apache.clerezza.rdf.core.MGraph; +import org.apache.clerezza.rdf.core.Triple; +import org.apache.clerezza.rdf.core.UriRef; +import org.apache.stanbol.enhancer.contentitem.inmemory.InMemoryContentItemFactory; +import org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngineTest; +import org.apache.stanbol.enhancer.engines.celi.test_utils.MockComponentContext; +import org.apache.stanbol.enhancer.servicesapi.ContentItem; +import org.apache.stanbol.enhancer.servicesapi.ContentItemFactory; +import org.apache.stanbol.enhancer.servicesapi.EngineException; +import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine; +import org.apache.stanbol.enhancer.servicesapi.helper.EnhancementEngineHelper; +import org.apache.stanbol.enhancer.servicesapi.impl.StringSource; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.osgi.service.cm.ConfigurationException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class CeliClassificationEnhancementEngineTest { + + static CeliClassificationEnhancementEngine classificationEngine = new CeliClassificationEnhancementEngine(); + + private static final ContentItemFactory ciFactory = InMemoryContentItemFactory.getInstance(); + + private static final Logger log = LoggerFactory.getLogger(CeliClassificationEnhancementEngine.class); + + private static final String TEXT = "Brigitte Bardot, née le 28 septembre " + + "1934 à Paris, est une actrice de cinéma et chanteuse française."; + + @BeforeClass + public static void setUpServices() throws IOException, ConfigurationException { + Dictionary<String, Object> properties = new Hashtable<String, Object>(); + properties.put(EnhancementEngine.PROPERTY_NAME, "celiClassification"); + properties.put(CeliClassificationEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/dbpedia-classification"); + + MockComponentContext context = new MockComponentContext(properties); + classificationEngine.activate(context); + } + + @AfterClass + public static void shutdownServices() { + classificationEngine.deactivate(null); + } + + public static ContentItem wrapAsContentItem(final String text) throws IOException { + return ciFactory.createContentItem(new StringSource(text)); + } + + @Test + public void tesetEngine() throws Exception { + ContentItem ci = wrapAsContentItem(TEXT); + try { + CeliLanguageIdentifierEnhancementEngineTest.addEnanchements(ci); + + classificationEngine.computeEnhancements(ci); + int textAnnoNum = checkAllTextAnnotations(ci.getMetadata(), TEXT); + log.info(textAnnoNum + " TextAnnotations found ..."); + int entityAnnoNum = checkAllEntityAnnotations(ci.getMetadata()); + log.info(entityAnnoNum + " EntityAnnotations found ..."); + } catch (EngineException e) { + if (e.getCause() != null && e.getCause() instanceof UnknownHostException) { + log.warn("Celi Service not reachable -> offline? -> deactivate test"); + return; + } + throw e; + } + } + + private int checkAllEntityAnnotations(MGraph g) { + Iterator<Triple> entityAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_ENTITYANNOTATION); + int entityAnnotationCount = 0; + while (entityAnnotationIterator.hasNext()) { + UriRef entityAnnotation = (UriRef) entityAnnotationIterator.next().getSubject(); + entityAnnotationCount++; + } + return entityAnnotationCount; + } + + private int checkAllTextAnnotations(MGraph g, String content) { + Iterator<Triple> textAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_TEXTANNOTATION); + // test if a textAnnotation is present + assertTrue(textAnnotationIterator.hasNext()); + int textAnnotationCount = 0; + while (textAnnotationIterator.hasNext()) { + UriRef textAnnotation = (UriRef) textAnnotationIterator.next().getSubject(); + textAnnotationCount++; + } + return textAnnotationCount; + } +} Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/langid/impl/CeliLanguageIdentifierEnhancementEngineTest.java Mon May 14 21:07:19 2012 @@ -0,0 +1,115 @@ +package org.apache.stanbol.enhancer.engines.celi.langid.impl; + +import static org.apache.stanbol.enhancer.servicesapi.rdf.Properties.RDF_TYPE; +import static org.apache.stanbol.enhancer.servicesapi.rdf.TechnicalClasses.ENHANCER_ENTITYANNOTATION; +import static org.apache.stanbol.enhancer.servicesapi.rdf.TechnicalClasses.ENHANCER_TEXTANNOTATION; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Dictionary; +import java.util.Hashtable; +import java.util.Iterator; + +import org.apache.clerezza.rdf.core.MGraph; +import org.apache.clerezza.rdf.core.Triple; +import org.apache.clerezza.rdf.core.UriRef; +import org.apache.stanbol.enhancer.contentitem.inmemory.InMemoryContentItemFactory; +import org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine; +import org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl.CeliLemmatizerEnhancementEngine; +import org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine; +import org.apache.stanbol.enhancer.engines.celi.test_utils.MockComponentContext; +import org.apache.stanbol.enhancer.servicesapi.ContentItem; +import org.apache.stanbol.enhancer.servicesapi.ContentItemFactory; +import org.apache.stanbol.enhancer.servicesapi.EngineException; +import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine; +import org.apache.stanbol.enhancer.servicesapi.helper.EnhancementEngineHelper; +import org.apache.stanbol.enhancer.servicesapi.impl.StringSource; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.osgi.service.cm.ConfigurationException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class CeliLanguageIdentifierEnhancementEngineTest { + + static CeliLanguageIdentifierEnhancementEngine langIdentifier = new CeliLanguageIdentifierEnhancementEngine(); + + private static final ContentItemFactory ciFactory = InMemoryContentItemFactory.getInstance(); + + private static final Logger log = LoggerFactory.getLogger(CeliLanguageIdentifierEnhancementEngine.class); + + private static final String TEXT = "Brigitte Bardot, née le 28 septembre 1934 à Paris, est une actrice de cinéma et chanteuse française."; + + @BeforeClass + public static void setUpServices() throws IOException, ConfigurationException { + Dictionary<String, Object> properties = new Hashtable<String, Object>(); + properties.put(EnhancementEngine.PROPERTY_NAME, "celiLangIdentifier"); + properties.put(CeliLanguageIdentifierEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/language-identifier"); + + MockComponentContext context = new MockComponentContext(properties); + langIdentifier.activate(context); + } + + @AfterClass + public static void shutdownServices() { + langIdentifier.deactivate(null); + } + + public static ContentItem wrapAsContentItem(final String text) throws IOException { + return ciFactory.createContentItem(new StringSource(text)); + } + + @Test + public void tesetEngine() throws Exception { + ContentItem ci = wrapAsContentItem(TEXT); + try { + langIdentifier.computeEnhancements(ci); + int textAnnoNum = checkAllTextAnnotations(ci.getMetadata(), TEXT); + log.info(textAnnoNum + " TextAnnotations found ..."); + int entityAnnoNum = checkAllEntityAnnotations(ci.getMetadata()); + log.info(entityAnnoNum + " EntityAnnotations found ..."); + } catch (EngineException e) { + if (e.getCause() != null && e.getCause() instanceof UnknownHostException) { + log.warn("Celi Service not reachable -> offline? -> deactivate test"); + return; + } + throw e; + } + } + + private int checkAllEntityAnnotations(MGraph g) { + Iterator<Triple> entityAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_ENTITYANNOTATION); + int entityAnnotationCount = 0; + while (entityAnnotationIterator.hasNext()) { + UriRef entityAnnotation = (UriRef) entityAnnotationIterator.next().getSubject(); + entityAnnotationCount++; + } + return entityAnnotationCount; + } + + private int checkAllTextAnnotations(MGraph g, String content) { + Iterator<Triple> textAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_TEXTANNOTATION); + // test if a textAnnotation is present + assertTrue(textAnnotationIterator.hasNext()); + int textAnnotationCount = 0; + while (textAnnotationIterator.hasNext()) { + UriRef textAnnotation = (UriRef) textAnnotationIterator.next().getSubject(); + textAnnotationCount++; + } + return textAnnotationCount; + } + + public static void addEnanchements(ContentItem ci) throws IOException, ConfigurationException, EngineException { + //Add guessed language + Dictionary<String, Object> properties = new Hashtable<String, Object>(); + properties.put(EnhancementEngine.PROPERTY_NAME, "celiLangIdentifier"); + properties.put(CeliLanguageIdentifierEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/language-identifier"); + MockComponentContext context = new MockComponentContext(properties); + CeliLanguageIdentifierEnhancementEngine langIdentifier=new CeliLanguageIdentifierEnhancementEngine(); + langIdentifier.activate(context); + langIdentifier.computeEnhancements(ci); + } +} Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/lemmatizer/impl/CeliLemmatizerEnhancementEngineTest.java Mon May 14 21:07:19 2012 @@ -0,0 +1,104 @@ +package org.apache.stanbol.enhancer.engines.celi.lemmatizer.impl; + +import static org.apache.stanbol.enhancer.servicesapi.rdf.Properties.RDF_TYPE; +import static org.apache.stanbol.enhancer.servicesapi.rdf.TechnicalClasses.ENHANCER_ENTITYANNOTATION; +import static org.apache.stanbol.enhancer.servicesapi.rdf.TechnicalClasses.ENHANCER_TEXTANNOTATION; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Dictionary; +import java.util.Hashtable; +import java.util.Iterator; + +import org.apache.clerezza.rdf.core.MGraph; +import org.apache.clerezza.rdf.core.Triple; +import org.apache.clerezza.rdf.core.UriRef; +import org.apache.stanbol.enhancer.contentitem.inmemory.InMemoryContentItemFactory; +import org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngineTest; +import org.apache.stanbol.enhancer.engines.celi.test_utils.MockComponentContext; +import org.apache.stanbol.enhancer.servicesapi.ContentItem; +import org.apache.stanbol.enhancer.servicesapi.ContentItemFactory; +import org.apache.stanbol.enhancer.servicesapi.EngineException; +import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine; +import org.apache.stanbol.enhancer.servicesapi.helper.EnhancementEngineHelper; +import org.apache.stanbol.enhancer.servicesapi.impl.StringSource; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.osgi.service.cm.ConfigurationException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class CeliLemmatizerEnhancementEngineTest { + + static CeliLemmatizerEnhancementEngine morphoAnalysisEngine = new CeliLemmatizerEnhancementEngine(); + + private static final ContentItemFactory ciFactory = InMemoryContentItemFactory.getInstance(); + + private static final Logger log = LoggerFactory.getLogger(CeliLemmatizerEnhancementEngine.class); + private static final String TEXT = "Torino è la principale città del Piemonte."; + + @BeforeClass + public static void setUpServices() throws IOException, ConfigurationException { + + Dictionary<String, Object> properties = new Hashtable<String, Object>(); + properties.put(EnhancementEngine.PROPERTY_NAME, "celiLemmatizer"); + properties.put(CeliLemmatizerEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/morpho-analyser"); + properties.put(CeliLemmatizerEnhancementEngine.MORPHOLOGICAL_ANALYSIS, Boolean.FALSE); + MockComponentContext context = new MockComponentContext(properties); + morphoAnalysisEngine.activate(context); + } + + @AfterClass + public static void shutdownServices() { + morphoAnalysisEngine.deactivate(null); + } + + public static ContentItem wrapAsContentItem(final String text) throws IOException { + return ciFactory.createContentItem(new StringSource(text)); + } + + @Test + public void tesetEngine() throws Exception { + ContentItem ci = wrapAsContentItem(TEXT); + + try { + CeliLanguageIdentifierEnhancementEngineTest.addEnanchements(ci); + + morphoAnalysisEngine.computeEnhancements(ci); + int textAnnoNum = checkAllTextAnnotations(ci.getMetadata(), TEXT); + log.info(textAnnoNum + " TextAnnotations found ..."); + int entityAnnoNum = checkAllEntityAnnotations(ci.getMetadata()); + log.info(entityAnnoNum + " EntityAnnotations found ..."); + } catch (EngineException e) { + if (e.getCause() != null && e.getCause() instanceof UnknownHostException) { + log.warn("Celi Service not reachable -> offline? -> deactivate test"); + return; + } + throw e; + } + } + + private int checkAllEntityAnnotations(MGraph g) { + Iterator<Triple> entityAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_ENTITYANNOTATION); + int entityAnnotationCount = 0; + while (entityAnnotationIterator.hasNext()) { + UriRef entityAnnotation = (UriRef) entityAnnotationIterator.next().getSubject(); + entityAnnotationCount++; + } + return entityAnnotationCount; + } + + private int checkAllTextAnnotations(MGraph g, String content) { + Iterator<Triple> textAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_TEXTANNOTATION); + // test if a textAnnotation is present + assertTrue(textAnnotationIterator.hasNext()); + int textAnnotationCount = 0; + while (textAnnotationIterator.hasNext()) { + UriRef textAnnotation = (UriRef) textAnnotationIterator.next().getSubject(); + textAnnotationCount++; + } + return textAnnotationCount; + } +} Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/ner/impl/CeliNamedEntityExtractionEnhancementEngineTest.java Mon May 14 21:07:19 2012 @@ -0,0 +1,115 @@ +package org.apache.stanbol.enhancer.engines.celi.ner.impl; + +import static org.apache.stanbol.enhancer.servicesapi.rdf.Properties.DC_LANGUAGE; +import static org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper.validateAllTextAnnotations; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Dictionary; +import java.util.HashMap; +import java.util.Hashtable; + +import org.apache.clerezza.rdf.core.LiteralFactory; +import org.apache.clerezza.rdf.core.Resource; +import org.apache.clerezza.rdf.core.UriRef; +import org.apache.clerezza.rdf.core.impl.PlainLiteralImpl; +import org.apache.clerezza.rdf.core.impl.TripleImpl; +import org.apache.stanbol.enhancer.contentitem.inmemory.InMemoryContentItemFactory; +import org.apache.stanbol.enhancer.engines.celi.classification.impl.CeliClassificationEnhancementEngine; +import org.apache.stanbol.enhancer.engines.celi.langid.impl.CeliLanguageIdentifierEnhancementEngineTest; +import org.apache.stanbol.enhancer.engines.celi.ner.impl.CeliNamedEntityExtractionEnhancementEngine; +import org.apache.stanbol.enhancer.engines.celi.test_utils.MockComponentContext; +import org.apache.stanbol.enhancer.servicesapi.ContentItem; +import org.apache.stanbol.enhancer.servicesapi.ContentItemFactory; +import org.apache.stanbol.enhancer.servicesapi.EngineException; +import org.apache.stanbol.enhancer.servicesapi.EnhancementEngine; +import org.apache.stanbol.enhancer.servicesapi.impl.StringSource; +import org.apache.stanbol.enhancer.servicesapi.rdf.Properties; +import org.apache.stanbol.enhancer.test.helper.EnhancementStructureHelper; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.osgi.service.cm.ConfigurationException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class CeliNamedEntityExtractionEnhancementEngineTest { + + static CeliNamedEntityExtractionEnhancementEngine nerEngine = new CeliNamedEntityExtractionEnhancementEngine(); + + private static final Logger log = LoggerFactory.getLogger(CeliClassificationEnhancementEngine.class); + + private static final ContentItemFactory ciFactory = InMemoryContentItemFactory.getInstance(); + + private static final String TEXT = "Brigitte Bardot, née le 28 septembre 1934 à Paris, est une actrice de cinéma et chanteuse française."; + + @BeforeClass + public static void setUpServices() throws IOException, ConfigurationException { + Dictionary<String, Object> properties = new Hashtable<String, Object>(); + properties.put(EnhancementEngine.PROPERTY_NAME, "celiNer"); + properties.put(CeliNamedEntityExtractionEnhancementEngine.SERVICE_URL, "http://linguagrid.org/LSGrid/ws/com.celi-france.linguagrid.namedentityrecognition.v0u0.demo"); + properties.put(CeliNamedEntityExtractionEnhancementEngine.SUPPORTED_LANGUAGES, "fr"); + MockComponentContext context = new MockComponentContext(properties); + nerEngine.activate(context); + } + + @AfterClass + public static void shutdownServices() { + nerEngine.deactivate(null); + } + + public static ContentItem wrapAsContentItem(final String text) throws IOException { + return ciFactory.createContentItem(new StringSource(text)); + } + + @Test + public void tesetEngine() throws Exception { + ContentItem ci = wrapAsContentItem(TEXT); + try { + //add a simple triple to statically define the language of the test + //content + ci.getMetadata().add(new TripleImpl(ci.getUri(), DC_LANGUAGE, new PlainLiteralImpl("fr"))); + //unit test should not depend on each other (if possible) + //CeliLanguageIdentifierEnhancementEngineTest.addEnanchements(ci); + + nerEngine.computeEnhancements(ci); + HashMap<UriRef,Resource> expectedValues = new HashMap<UriRef,Resource>(); + expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri()); + expectedValues.put(Properties.DC_CREATOR, LiteralFactory.getInstance().createTypedLiteral( + nerEngine.getClass().getName())); + int textAnnoNum = validateAllTextAnnotations(ci.getMetadata(), TEXT, expectedValues); + log.info(textAnnoNum + " TextAnnotations found ..."); + int entityAnnoNum = EnhancementStructureHelper.validateAllEntityAnnotations(ci.getMetadata(),expectedValues); + log.info(entityAnnoNum + " EntityAnnotations found ..."); + } catch (EngineException e) { + if (e.getCause() != null && e.getCause() instanceof UnknownHostException) { + log.warn("Celi Service not reachable -> offliCeliNamedEntityExtractionEnhancementEnginene? -> deactivate test"); + return; + } + throw e; + } + } + +// private int checkAllEntityAnnotations(MGraph g) { +// Iterator<Triple> entityAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_ENTITYANNOTATION); +// int entityAnnotationCount = 0; +// while (entityAnnotationIterator.hasNext()) { +// UriRef entityAnnotation = (UriRef) entityAnnotationIterator.next().getSubject(); +// entityAnnotationCount++; +// } +// return entityAnnotationCount; +// } +// +// private int checkAllTextAnnotations(MGraph g, String content) { +// Iterator<Triple> textAnnotationIterator = g.filter(null, RDF_TYPE, ENHANCER_TEXTANNOTATION); +// // test if a textAnnotation is present +// assertTrue(textAnnotationIterator.hasNext()); +// int textAnnotationCount = 0; +// while (textAnnotationIterator.hasNext()) { +// UriRef textAnnotation = (UriRef) textAnnotationIterator.next().getSubject(); +// textAnnotationCount++; +// } +// return textAnnotationCount; +// } + +} Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/test_utils/MockComponentContext.java URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/test_utils/MockComponentContext.java?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/test_utils/MockComponentContext.java (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/java/org/apache/stanbol/enhancer/engines/celi/test_utils/MockComponentContext.java Mon May 14 21:07:19 2012 @@ -0,0 +1,78 @@ +/* + * 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.stanbol.enhancer.engines.celi.test_utils; + +import java.util.Dictionary; +import java.util.Hashtable; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.ComponentInstance; + +public class MockComponentContext implements ComponentContext { + + protected final Dictionary<String, Object> properties; + + public MockComponentContext() { + properties = new Hashtable<String, Object>(); + } + + public MockComponentContext(Dictionary<String, Object> properties) { + this.properties = properties; + } + + public void disableComponent(String name) { + } + + public void enableComponent(String name) { + } + + public BundleContext getBundleContext() { + return null; + } + + public ComponentInstance getComponentInstance() { + return null; + } + + public Dictionary<String, Object> getProperties() { + return properties; + } + + public ServiceReference getServiceReference() { + return null; + } + + public Bundle getUsingBundle() { + return null; + } + + public Object locateService(String name) { + return null; + } + + public Object locateService(String name, ServiceReference reference) { + return null; + } + + public Object[] locateServices(String name) { + return null; + } + +} Added: incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/resources/log4j.properties?rev=1338425&view=auto ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/resources/log4j.properties (added) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/celi/src/test/resources/log4j.properties Mon May 14 21:07:19 2012 @@ -0,0 +1,40 @@ +# 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. + +log4j.rootLogger=DEBUG, CONSOLE +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%C{1}] %m%n + +# 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. + +log4j.rootLogger=DEBUG, CONSOLE +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%C{1}] %m%n + Modified: incubator/stanbol/branches/celi-enhancement-engines/engines/pom.xml URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/celi-enhancement-engines/engines/pom.xml?rev=1338425&r1=1338424&r2=1338425&view=diff ============================================================================== --- incubator/stanbol/branches/celi-enhancement-engines/engines/pom.xml (original) +++ incubator/stanbol/branches/celi-enhancement-engines/engines/pom.xml Mon May 14 21:07:19 2012 @@ -54,5 +54,6 @@ <module>opencalais</module> <module>zemanta</module> + <module>celi</module> </modules> </project>
