public abstract class AbstractDeployer<D extends BaseDefinition> extends java.lang.Object implements ResourceDeployer<D>
ResourceDeployer
interface. It provides
the basic support for calling CrudRepository methods and sending deployment messages.Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
definitionKind
Lower-case, singular name of the kind of definition we're deploying.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractDeployer(org.springframework.data.repository.PagingAndSortingRepository<D,java.lang.String> repository,
DeploymentMessageSender messageSender,
XDParser parser,
java.lang.String definitionKind) |
Modifier and Type | Method and Description |
---|---|
protected D |
basicDeploy(java.lang.String name)
Provides basic deployment behavior, whereby running state of deployed definitions is not persisted.
|
protected void |
basicUndeploy(java.lang.String name)
Provides basic un-deployment behavior, whereby state of deployed definitions is not dealt with.
|
void |
deleteAll()
Delete all the definitions
|
java.lang.Iterable<D> |
findAll() |
org.springframework.data.domain.Page<D> |
findAll(org.springframework.data.domain.Pageable pageable)
Return a slice of all definitions.
|
D |
findOne(java.lang.String name)
Retrieves a single Definition or null if none is found.
|
protected org.springframework.data.repository.CrudRepository<D,java.lang.String> |
getDefinitionRepository() |
protected java.util.List<ModuleDeploymentRequest> |
parse(java.lang.String name,
java.lang.String config) |
D |
save(D definition) |
protected void |
sendDeploymentRequests(java.lang.String name,
java.util.List<ModuleDeploymentRequest> requests) |
protected void |
throwAlreadyDeployedException(java.lang.String name) |
protected void |
throwDefinitionAlreadyExistsException(D definition) |
protected void |
throwNoSuchDefinitionException(java.lang.String name) |
protected void |
throwNoSuchDefinitionException(java.lang.String name,
java.lang.String definitionKind) |
protected void |
throwNotDeployedException(java.lang.String name) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
delete, deploy, deployAll, undeploy, undeployAll
protected final java.lang.String definitionKind
protected AbstractDeployer(org.springframework.data.repository.PagingAndSortingRepository<D,java.lang.String> repository, DeploymentMessageSender messageSender, XDParser parser, java.lang.String definitionKind)
public D save(D definition)
save
in interface ResourceDeployer<D extends BaseDefinition>
protected void throwDefinitionAlreadyExistsException(D definition)
protected void throwNoSuchDefinitionException(java.lang.String name)
protected void throwNoSuchDefinitionException(java.lang.String name, java.lang.String definitionKind)
protected void throwAlreadyDeployedException(java.lang.String name)
protected void throwNotDeployedException(java.lang.String name)
public D findOne(java.lang.String name)
ResourceDeployer
findOne
in interface ResourceDeployer<D extends BaseDefinition>
name
- of the definition to find. Must not be null.public java.lang.Iterable<D> findAll()
findAll
in interface ResourceDeployer<D extends BaseDefinition>
public org.springframework.data.domain.Page<D> findAll(org.springframework.data.domain.Pageable pageable)
ResourceDeployer
findAll
in interface ResourceDeployer<D extends BaseDefinition>
public void deleteAll()
ResourceDeployer
deleteAll
in interface ResourceDeployer<D extends BaseDefinition>
protected org.springframework.data.repository.CrudRepository<D,java.lang.String> getDefinitionRepository()
protected void sendDeploymentRequests(java.lang.String name, java.util.List<ModuleDeploymentRequest> requests)
protected java.util.List<ModuleDeploymentRequest> parse(java.lang.String name, java.lang.String config)
protected D basicDeploy(java.lang.String name)
NoSuchDefinitionException
- if there is no definition by the given nameprotected void basicUndeploy(java.lang.String name)