use of org.openrdf.repository.Repository in project stanbol by apache.
the class SesameYardComponent method addingService.
@Override
public Object addingService(ServiceReference serviceReference) {
Repository repo = (Repository) bundleContext.getService(serviceReference);
if (repo == null) {
log.error("could not retrieve Sesame Repository for ServiceRefernece {} " + "(repository name: {})", serviceReference, repoId);
} else {
if (repoServiceReference != null) {
//check if the added service reference has a higher ranking
if (serviceReference.compareTo(repoServiceReference) > 0) {
log.info("re-regsiter SesameYard because ServiceReference {} " + "has a higher ranking as the currently used one {}!", serviceReference, repoServiceReference);
unregisterSesameYard();
registerSesameYard(serviceReference, repo);
}
//else the added reference has a lower ranking ... nothing todo
} else {
//first service is registered
registerSesameYard(serviceReference, repo);
}
}
return repo;
}
use of org.openrdf.repository.Repository in project backstage by zepheira.
the class DataLoadingUtilities method loadDataFromStream.
public static void loadDataFromStream(InputStream stream, String sourceURL, String lang, Sail sail) throws Exception {
RepoSailTuple rs = createMemoryRepository(null);
Repository r = rs.repository;
lang = lang.toLowerCase();
if ("exhibit/json".equals(lang)) {
Properties properties = new Properties();
BabelReader reader = new ExhibitJsonReader();
try {
if (reader.takesReader()) {
InputStreamReader isr = new InputStreamReader(stream);
reader.read(isr, sail, properties, Locale.getDefault());
} else {
reader.read(stream, sail, properties, Locale.getDefault());
}
} finally {
stream.close();
}
} else {
RDFParser parser = null;
if ("rdfxml".equals(lang)) {
parser = new RDFXMLParser(r.getValueFactory());
} else if ("n3".equals(lang) || "turtle".equals(lang)) {
parser = new TurtleParser(r.getValueFactory());
} else if ("ntriples".equals(lang)) {
parser = new NTriplesParser(r.getValueFactory());
}
try {
SailConnection c = null;
try {
c = sail.getConnection();
BNodeConverterStatementHandler handler = new BNodeConverterStatementHandler(c);
parser.setRDFHandler(handler);
parser.setParseErrorListener(new LoggingParseErrorListener(sourceURL));
parser.setVerifyData(false);
parser.setStopAtFirstError(false);
parser.parse(stream, sourceURL);
c.commit();
_logger.info("Read " + handler.m_count + " statements from '" + sourceURL + "'");
} catch (RepositoryException e) {
if (c != null)
c.rollback();
} finally {
if (c != null)
c.close();
}
} catch (Exception e) {
throw new ModelReadFromFileException("Failed to read data from '" + sourceURL + "'", e);
} finally {
stream.close();
}
}
}
use of org.openrdf.repository.Repository in project stanbol by apache.
the class SesameYardComponent method removedService.
@Override
@SuppressWarnings("unchecked")
public void removedService(ServiceReference serviceReference, Object o) {
if (serviceReference.equals(repoServiceReference)) {
log.info(" - currently used Repository was removed (ref: {})", serviceReference);
unregisterSesameYard();
}
ServiceReference[] serviceRefs = repositoryTracker.getServiceReferences();
List<ServiceReference> others = serviceRefs == null ? Collections.<ServiceReference>emptyList() : Arrays.asList(serviceRefs);
if (others.size() > 1) {
//sort by priority
Collections.sort(others);
}
boolean registered = false;
for (Iterator<ServiceReference> refs = others.iterator(); !registered && refs.hasNext(); ) {
ServiceReference ref = refs.next();
Repository repo = (Repository) repositoryTracker.getService(ref);
if (repo != null) {
log.info(" - re-register Yard with other available repository {}", ref);
registerSesameYard(ref, repo);
registered = true;
}
}
bundleContext.ungetService(serviceReference);
}
use of org.openrdf.repository.Repository in project gocd by gocd.
the class InMemoryRepositoryFactory method emptyRepository.
public static Repository emptyRepository() {
try {
Repository repo = new SailRepository(new MemoryStore());
repo.initialize();
return repo;
} catch (RepositoryException ex) {
throw new ShineRuntimeException(ex);
}
}
use of org.openrdf.repository.Repository in project gocd by gocd.
the class SesameGraph method createTempGraph.
public Graph createTempGraph() {
try {
if (!conn.isOpen()) {
throw new IllegalStateException("Cannot create a temp graph on a closed graph!");
}
Repository inMemRepos = InMemoryRepositoryFactory.emptyRepository();
String contextURI = null;
if (contextResource.length > 0) {
contextURI = contextResource[0].stringValue();
}
Graph tempGraph = new SesameGraph(inMemRepos.getConnection(), contextURI);
tempGraphs.add(tempGraph);
return tempGraph;
} catch (RepositoryException ex) {
throw new ShineRuntimeException("Unable to create temp graph!", ex);
}
}
Aggregations