public SpinSailConfig(SailImplConfig delegate) { super(SpinSailFactory.SAIL_TYPE, delegate); if ("openrdf:ForwardChainingRDFSInferencer".equals(delegate.getType())) { setAxiomClosureNeeded(false); } }
@Override public Resource export(Model model) { Resource repImplNode = super.export(model); if (sailImplConfig != null) { Resource sailImplNode = sailImplConfig.export(model); model.add(repImplNode, SAILIMPL, sailImplNode); } return repImplNode; }
@Override public void validate() throws RepositoryConfigException { super.validate(); if (sailImplConfig == null) { throw new RepositoryConfigException("No Sail implementation specified for Sail repository"); } try { sailImplConfig.validate(); } catch (SailConfigException e) { throw new RepositoryConfigException(e.getMessage(), e); } }
@Override public void parse(Model model, Resource repImplNode) throws RepositoryConfigException { try { Optional<Resource> sailImplNode = Models.objectResource(model.filter(repImplNode, SAILIMPL, null)); if (sailImplNode.isPresent()) { Models.objectLiteral(model.filter(sailImplNode.get(), SAILTYPE, null)).ifPresent(typeLit -> { SailFactory factory = SailRegistry.getInstance().get(typeLit.getLabel()).orElseThrow( () -> new RepositoryConfigException("Unsupported Sail type: " + typeLit.getLabel())); sailImplConfig = factory.getConfig(); sailImplConfig.parse(model, sailImplNode.get()); }); } } catch (ModelException e) { throw new RepositoryConfigException(e.getMessage(), e); } catch (SailConfigException e) { throw new RepositoryConfigException(e.getMessage(), e); } } }
private Sail createSail(SailImplConfig config) throws RepositoryConfigException, SailConfigException { SailFactory sailFactory = SailRegistry.getInstance().get(config.getType()).orElseThrow( () -> new RepositoryConfigException("Unsupported Sail type: " + config.getType())); return sailFactory.getSail(config); }
@Override public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } SpinSail spinSail = new SpinSail(); if (config instanceof SpinSailConfig) { spinSail.setAxiomClosureNeeded(((SpinSailConfig)config).isAxiomClosureNeeded()); } return spinSail; } }
public Sail getSail(final SailImplConfig config) throws SailConfigException { if (!TYPE.equals(config.getType())) { throw new SailConfigException( "Invalid type: " + config.getType()); } if (!(config instanceof BigdataSailConfig)) { throw new SailConfigException( "Invalid type: " + config.getClass()); } try { final BigdataSailConfig bigdataConfig = (BigdataSailConfig)config; final Properties properties = bigdataConfig.getProperties(); return new BigdataSail(properties); } catch (Exception ex) { throw new SailConfigException(ex); } } }
public Sail getSail(final SailImplConfig config) throws SailConfigException { if (!TYPE.equals(config.getType())) { throw new SailConfigException( "Invalid type: " + config.getType()); } if (!(config instanceof BigdataSailConfig)) { throw new SailConfigException( "Invalid type: " + config.getClass()); } try { final BigdataSailConfig bigdataConfig = (BigdataSailConfig)config; final Properties properties = bigdataConfig.getProperties(); return new BigdataSail(properties); } catch (Exception ex) { throw new SailConfigException(ex); } } }
@Override @Deprecated public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } LuceneSail luceneSail = new LuceneSail(); luceneSail.setParameter(LuceneSail.INDEX_CLASS_KEY, LuceneIndex.class.getName()); if (config instanceof AbstractLuceneSailConfig) { AbstractLuceneSailConfig luceneConfig = (AbstractLuceneSailConfig)config; luceneSail.setParameter(LuceneSail.LUCENE_DIR_KEY, luceneConfig.getIndexDir()); for (String key : luceneConfig.getParameterNames()) { luceneSail.setParameter(key, luceneConfig.getParameter(key)); } } return luceneSail; } }
@Override public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } LuceneSail luceneSail = new LuceneSail(); luceneSail.setParameter(LuceneSail.INDEX_CLASS_KEY, SolrIndex.class.getName()); if (config instanceof AbstractLuceneSailConfig) { AbstractLuceneSailConfig luceneConfig = (AbstractLuceneSailConfig)config; luceneSail.setParameter(LuceneSail.LUCENE_DIR_KEY, luceneConfig.getIndexDir()); for (String key : luceneConfig.getParameterNames()) { luceneSail.setParameter(key, luceneConfig.getParameter(key)); } } return luceneSail; } }
public RdbmsStore getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } if (config instanceof RdbmsStoreConfig) { RdbmsStoreConfig rdbmsConfig = (RdbmsStoreConfig)config; String jdbcDriver = rdbmsConfig.getJdbcDriver(); String url = rdbmsConfig.getUrl(); String user = rdbmsConfig.getUser(); String password = rdbmsConfig.getPassword(); RdbmsStore store = new RdbmsStore(jdbcDriver, url, user, password); store.setMaxNumberOfTripleTables(rdbmsConfig.getMaxTripleTables()); return store; } throw new IllegalArgumentException("Supplied config objects should be an RdbmsStoreConfig, is: " + config.getClass()); } }
@Override public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } CustomGraphQueryInferencer sail = new CustomGraphQueryInferencer(); if (config instanceof CustomGraphQueryInferencerConfig) { CustomGraphQueryInferencerConfig customConfig = (CustomGraphQueryInferencerConfig)config; try { sail.setFields(customConfig.getQueryLanguage(), customConfig.getRuleQuery(), customConfig.getMatcherQuery()); } catch (OpenRDFException e) { throw new SailConfigException("Problem occured parsing rule or matcher query text.", e); } } return sail; } }
public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } assert config instanceof FederationConfig; FederationConfig cfg = (FederationConfig)config; Federation sail = new Federation(); for (RepositoryImplConfig member : cfg.getMembers()) { RepositoryFactory factory = RepositoryRegistry.getInstance().get(member.getType()).orElseThrow( () -> new SailConfigException("Unsupported repository type: " + config.getType())); try { sail.addMember(factory.getRepository(member)); } catch (RepositoryConfigException e) { throw new SailConfigException(e); } } sail.setLocalPropertySpace(cfg.getLocalPropertySpace()); sail.setDistinct(cfg.isDistinct()); sail.setReadOnly(cfg.isReadOnly()); return sail; } }
public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } assert config instanceof FederationConfig; FederationConfig cfg = (FederationConfig)config; Federation sail = new Federation(); for (RepositoryImplConfig member : cfg.getMembers()) { RepositoryFactory factory = RepositoryRegistry.getInstance().get(member.getType()); if (factory == null) { throw new SailConfigException("Unsupported repository type: " + config.getType()); } try { sail.addMember(factory.getRepository(member)); } catch (RepositoryConfigException e) { throw new SailConfigException(e); } } sail.setLocalPropertySpace(cfg.getLocalPropertySpace()); sail.setDistinct(cfg.isDistinct()); sail.setReadOnly(cfg.isReadOnly()); return sail; } }
public Sail getSail(SailImplConfig config) throws SailConfigException { if (!SAIL_TYPE.equals(config.getType())) { throw new SailConfigException("Invalid Sail type: " + config.getType()); } assert config instanceof AuditingConfig; AuditingConfig cfg = (AuditingConfig) config; AuditingSail sail = new AuditingSail(); sail.setNamespace(cfg.getNamespace()); sail.setArchiving(cfg.isArchiving()); sail.setMaxArchive(cfg.getMaxArchive()); sail.setMinRecent(cfg.getMinRecent()); sail.setMaxRecent(cfg.getMaxRecent()); sail.setPurgeAfter(cfg.getPurgeAfter()); return sail; } }