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.
|
protected XDParser |
streamParser |
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 |
afterSave(D savedDefinition)
Callback method that subclasses may override to get a chance to act on newly saved definitions.
|
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.
|
protected void |
beforeDelete(D definition)
Callback method that subclasses may override to get a chance to act on definitions that are about to be deleted.
|
protected java.util.List<ModuleDeploymentRequest> |
buildUndeployRequests(D definition) |
void |
delete(java.lang.String name)
Delete the Definition using the provided name.
|
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 definition) |
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 |
throwDefinitionNotDeployable(java.lang.String name) |
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
deploy, deployAll, undeploy, undeployAll
protected final XDParser streamParser
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 D afterSave(D savedDefinition)
protected void throwDefinitionAlreadyExistsException(D definition)
protected void throwNoSuchDefinitionException(java.lang.String name)
protected void throwDefinitionNotDeployable(java.lang.String name)
protected void throwNoSuchDefinitionException(java.lang.String name, java.lang.String definitionKind)
protected void throwNotDeployedException(java.lang.String name)
protected void throwAlreadyDeployedException(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 definition)
protected java.util.List<ModuleDeploymentRequest> buildUndeployRequests(D definition)
protected D basicDeploy(java.lang.String name)
NoSuchDefinitionException
- if there is no definition by the given nameprotected void basicUndeploy(java.lang.String name)
public void delete(java.lang.String name)
ResourceDeployer
undeployed
as
part of that process.delete
in interface ResourceDeployer<D extends BaseDefinition>
name
- the name of the definition to deleteprotected void beforeDelete(D definition)