Search in sources :

Example 26 with InstanceDoesNotExistException

use of org.apache.rya.api.client.InstanceDoesNotExistException in project incubator-rya by apache.

the class AccumuloDeletePeriodicPCJ method deletePeriodicPCJ.

@Override
public void deletePeriodicPCJ(final String instanceName, final String pcjId, String topic, String brokers) throws InstanceDoesNotExistException, RyaClientException {
    requireNonNull(instanceName);
    requireNonNull(pcjId);
    final Optional<RyaDetails> originalDetails = getInstanceDetails.getDetails(instanceName);
    final boolean ryaInstanceExists = originalDetails.isPresent();
    if (!ryaInstanceExists) {
        throw new InstanceDoesNotExistException(String.format("The '%s' instance of Rya does not exist.", instanceName));
    }
    final boolean pcjIndexingEnabled = originalDetails.get().getPCJIndexDetails().isEnabled();
    if (!pcjIndexingEnabled) {
        throw new RyaClientException(String.format("The '%s' instance of Rya does not have PCJ Indexing enabled.", instanceName));
    }
    // If the PCJ was being maintained by a Fluo application, then stop that process.
    final PCJIndexDetails pcjIndexDetails = originalDetails.get().getPCJIndexDetails();
    final Optional<FluoDetails> fluoDetailsHolder = pcjIndexDetails.getFluoDetails();
    if (fluoDetailsHolder.isPresent()) {
        final String fluoAppName = pcjIndexDetails.getFluoDetails().get().getUpdateAppName();
        try {
            stopUpdatingPCJ(instanceName, fluoAppName, pcjId, topic, brokers);
        } catch (MalformedQueryException | UnsupportedQueryException | QueryDeletionException e) {
            throw new RyaClientException(String.format("Unable to delete Periodic Query with id: %s", pcjId), e);
        }
    } else {
        log.error(String.format("Could not stop the Fluo application from updating the PCJ because the Fluo Details are " + "missing for the Rya instance named '%s'.", instanceName));
    }
}
Also used : RyaClientException(org.apache.rya.api.client.RyaClientException) UnsupportedQueryException(org.apache.rya.indexing.pcj.fluo.app.query.UnsupportedQueryException) RyaDetails(org.apache.rya.api.instance.RyaDetails) InstanceDoesNotExistException(org.apache.rya.api.client.InstanceDoesNotExistException) QueryDeletionException(org.apache.rya.indexing.pcj.fluo.api.DeletePeriodicQuery.QueryDeletionException) MalformedQueryException(org.openrdf.query.MalformedQueryException) FluoDetails(org.apache.rya.api.instance.RyaDetails.PCJIndexDetails.FluoDetails) PCJIndexDetails(org.apache.rya.api.instance.RyaDetails.PCJIndexDetails)

Example 27 with InstanceDoesNotExistException

use of org.apache.rya.api.client.InstanceDoesNotExistException in project incubator-rya by apache.

the class AccumuloGetInstanceDetails method getDetails.

@Override
public Optional<RyaDetails> getDetails(final String instanceName) throws InstanceDoesNotExistException, RyaClientException {
    requireNonNull(instanceName);
    // Ensure the Rya instance exists.
    if (!instanceExists.exists(instanceName)) {
        throw new InstanceDoesNotExistException(String.format("There is no Rya instance named '%s'.", instanceName));
    }
    // If the instance has details, then return them.
    final RyaDetailsRepository detailsRepo = new AccumuloRyaInstanceDetailsRepository(getConnector(), instanceName);
    try {
        return Optional.of(detailsRepo.getRyaInstanceDetails());
    } catch (final NotInitializedException e) {
        return Optional.absent();
    } catch (final RyaDetailsRepositoryException e) {
        throw new RyaClientException("Could not fetch the Rya instance's details.", e);
    }
}
Also used : NotInitializedException(org.apache.rya.api.instance.RyaDetailsRepository.NotInitializedException) RyaClientException(org.apache.rya.api.client.RyaClientException) RyaDetailsRepository(org.apache.rya.api.instance.RyaDetailsRepository) RyaDetailsRepositoryException(org.apache.rya.api.instance.RyaDetailsRepository.RyaDetailsRepositoryException) InstanceDoesNotExistException(org.apache.rya.api.client.InstanceDoesNotExistException) AccumuloRyaInstanceDetailsRepository(org.apache.rya.accumulo.instance.AccumuloRyaInstanceDetailsRepository)

Aggregations

InstanceDoesNotExistException (org.apache.rya.api.client.InstanceDoesNotExistException)27 RyaClientException (org.apache.rya.api.client.RyaClientException)27 RyaClient (org.apache.rya.api.client.RyaClient)9 ShellState (org.apache.rya.shell.SharedShellState.ShellState)9 CliCommand (org.springframework.shell.core.annotation.CliCommand)9 RyaDetails (org.apache.rya.api.instance.RyaDetails)8 RyaDAOException (org.apache.rya.api.persist.RyaDAOException)8 RepositoryException (org.openrdf.repository.RepositoryException)8 SailException (org.openrdf.sail.SailException)8 AccumuloException (org.apache.accumulo.core.client.AccumuloException)7 AccumuloSecurityException (org.apache.accumulo.core.client.AccumuloSecurityException)7 RyaDetailsRepositoryException (org.apache.rya.api.instance.RyaDetailsRepository.RyaDetailsRepositoryException)6 InferenceEngineException (org.apache.rya.rdftriplestore.inference.InferenceEngineException)6 SailRepository (org.openrdf.repository.sail.SailRepository)6 SailRepositoryConnection (org.openrdf.repository.sail.SailRepositoryConnection)6 Sail (org.openrdf.sail.Sail)6 IOException (java.io.IOException)5 PCJIndexDetails (org.apache.rya.api.instance.RyaDetails.PCJIndexDetails)5 FluoDetails (org.apache.rya.api.instance.RyaDetails.PCJIndexDetails.FluoDetails)5 RyaDetailsRepository (org.apache.rya.api.instance.RyaDetailsRepository)5