Modifier and Type | Field and Description |
---|---|
protected org.slf4j.Logger |
logger |
Constructor and Description |
---|
DataHubImpl() |
DataHubImpl(com.marklogic.hub.HubClient hubClient)
Only use this constructor for the clearUserData operation, which does not depend on a HubConfig.
|
DataHubImpl(HubConfig hubConfig) |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
java.util.Map<java.lang.String,java.util.List<com.marklogic.appdeployer.command.Command>> |
buildCommandMap() |
java.util.List<com.marklogic.appdeployer.command.Command> |
buildListOfCommands() |
protected java.util.regex.Pattern |
buildPatternForDatabasesToUpdateIndexesFor()
In a provisioned environment, only the databases defined by this pattern can be updated.
|
void |
clearDatabase(java.lang.String database)
Clears the database of all documents
|
void |
clearUserArtifacts() |
void |
clearUserData()
Clear "user data", which is anything that's not a user or hub artifact.
|
void |
clearUserModules()
Removes user's modules from the modules db
|
void |
clearUserModules(java.util.List<java.lang.String> resourceNamesToNotDelete) |
protected com.marklogic.mgmt.resource.appservers.ServerManager |
constructServerManager(HubConfig hubConfig)
Need to account for the group name in case the user has overridden the name of the "Default" group.
|
void |
deleteDocument(java.lang.String uri,
com.marklogic.hub.DatabaseKind databaseKind)
Deletes document based on supplied doc uri in supplied database
|
protected void |
disableSomeCmaUsage(com.marklogic.appdeployer.AppConfig appConfig)
Turns off CMA for some resources that have bbugs in ML 9.0-7/8.
|
FlowRunner |
getFlowRunner()
Creates and returns the FlowRunner object using the datahub's autowired hubconfig
|
HubConfig |
getHubConfig() |
java.lang.String |
getPortInUseBy(com.marklogic.hub.DatabaseKind kind)
Returns name of what is using the port
|
java.util.List<com.marklogic.appdeployer.command.Command> |
getSecurityCommandList() |
java.lang.String |
getServerVersion()
Returns the string presentation of the server version, eg: "9.03-1"
|
void |
initProject()
Initializes the project on disk, creates scaffold project code
|
void |
install()
Installs the data hub configuration and server-side config files into MarkLogic
|
void |
install(HubDeployStatusListener listener)
Installs the data hub configuration and server-side config files into MarkLogic
|
InstallInfo |
isInstalled()
Determines if the data hub is installed in MarkLogic
|
boolean |
isPortInUse(com.marklogic.hub.DatabaseKind kind)
Checks to see if the port is in use
|
boolean |
isSafeToInstall()
Checks to make sure all the versions and database in a valid configuration with version check
Must be run as a user with sufficient privileges to install a data hub.
|
boolean |
isServerVersionOk()
Checks to see if the datahub and server versions are compatible
|
boolean |
isServerVersionValid(java.lang.String versionString)
Validates the MarkLogic server to ensure compatibility with the hub
|
protected void |
prepareProjectBeforeUpgrading(HubProject hubProject,
java.lang.String newDataHubVersion)
The expectation is that a user has upgraded build.gradle to use a newer version of DHF but has not yet updated
mlDHFVersion in gradle.properties.
|
java.util.Map<java.lang.String,java.lang.Object> |
runPreInstallCheck()
Runs the pre-install check for the datahub populating the object
with variables necessary to perform the install.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
runPreInstallCheck(com.marklogic.mgmt.resource.appservers.ServerManager serverManager)
This overloaded version was added to facilitate mock testing - i.e.
|
void |
setHubConfig(HubConfigImpl hubConfig) |
void |
setPortInUseBy(com.marklogic.hub.DatabaseKind kind,
java.lang.String usedBy)
Sets what appserver name is using the port
|
void |
setServerVersion(java.lang.String serverVersion)
Sets the server version holder on the datahub object - currently unused
|
void |
setServerVersionOk(boolean serverVersionOk)
Sets true or false if the server version is okay with this version of DHF
|
void |
setVersions(Versions versions) |
void |
uninstall()
Uninstalls the data hub configuration and server-side config files from MarkLogic
|
void |
uninstall(HubDeployStatusListener listener)
Uninstalls the data hub configuration and server-side config files from MarkLogic
|
void |
updateIndexes()
Note that this differs from how "mlUpdateIndexes" works in ml-gradle.
|
boolean |
upgradeHub()
Upgrades the installed datahub on the server to this version of the DataHub
Must be run as a user with sufficient privileges to install a data hub.
|
protected void |
verifyLocalProjectIs430OrGreater()
Per DHFPROD-4912, instead of depending on mlDHFVersion, this logic takes advantage of the fact that the
hub-internal-config triggers - including ml-dh-entity-create.json - had their permissions modified in the 4.3.0
release.
|
public DataHubImpl()
public DataHubImpl(HubConfig hubConfig)
public DataHubImpl(com.marklogic.hub.HubClient hubClient)
hubClient
- public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
protected com.marklogic.mgmt.resource.appservers.ServerManager constructServerManager(HubConfig hubConfig)
hubConfig
- hubConfig objectpublic void clearDatabase(java.lang.String database)
DataHub
clearDatabase
in interface DataHub
database
- - the name of the database in string formpublic FlowRunner getFlowRunner()
DataHub
getFlowRunner
in interface DataHub
public InstallInfo isInstalled() throws org.springframework.web.client.ResourceAccessException
DataHub
isInstalled
in interface DataHub
org.springframework.web.client.ResourceAccessException
public boolean isServerVersionValid(java.lang.String versionString)
DataHub
isServerVersionValid
in interface DataHub
versionString
- - the version of the server to validatepublic void initProject()
DataHub
initProject
in interface DataHub
public void clearUserModules()
DataHub
clearUserModules
in interface DataHub
public void clearUserModules(java.util.List<java.lang.String> resourceNamesToNotDelete)
resourceNamesToNotDelete
- optional list of names of resources that should not be deleted; can be null;
introduced for the sake of DHF tests so that marklogic-unit-test will not be deletedpublic void clearUserArtifacts()
public void deleteDocument(java.lang.String uri, com.marklogic.hub.DatabaseKind databaseKind)
DataHub
deleteDocument
in interface DataHub
uri
- - document uridatabaseKind
- - database typepublic java.util.List<com.marklogic.appdeployer.command.Command> buildListOfCommands()
public java.util.List<com.marklogic.appdeployer.command.Command> getSecurityCommandList()
public java.util.Map<java.lang.String,java.lang.Object> runPreInstallCheck()
DataHub
runPreInstallCheck
in interface DataHub
protected java.util.Map<java.lang.String,java.lang.Object> runPreInstallCheck(com.marklogic.mgmt.resource.appservers.ServerManager serverManager)
serverManager
- public void install()
public void install(HubDeployStatusListener listener)
protected void disableSomeCmaUsage(com.marklogic.appdeployer.AppConfig appConfig)
appConfig
- public void updateIndexes()
updateIndexes
in interface DataHub
protected java.util.regex.Pattern buildPatternForDatabasesToUpdateIndexesFor()
public void uninstall()
public void uninstall(HubDeployStatusListener listener)
public java.util.Map<java.lang.String,java.util.List<com.marklogic.appdeployer.command.Command>> buildCommandMap()
public boolean isSafeToInstall()
DataHub
isSafeToInstall
in interface DataHub
public boolean isPortInUse(com.marklogic.hub.DatabaseKind kind)
DataHub
isPortInUse
in interface DataHub
kind
- - the DatabaseKind enum value (ex STAGING or JOB)public void setPortInUseBy(com.marklogic.hub.DatabaseKind kind, java.lang.String usedBy)
DataHub
setPortInUseBy
in interface DataHub
kind
- - the DatabaseKind enum value (ex STAGING or JOB)usedBy
- - string name of what is using the portpublic java.lang.String getPortInUseBy(com.marklogic.hub.DatabaseKind kind)
DataHub
getPortInUseBy
in interface DataHub
kind
- - the DatabaseKind enum value (ex STAGING or JOB)public boolean isServerVersionOk()
DataHub
isServerVersionOk
in interface DataHub
public void setServerVersionOk(boolean serverVersionOk)
DataHub
setServerVersionOk
in interface DataHub
serverVersionOk
- - true if it compatible or false if it is notpublic java.lang.String getServerVersion()
DataHub
getServerVersion
in interface DataHub
public void setServerVersion(java.lang.String serverVersion)
DataHub
setServerVersion
in interface DataHub
serverVersion
- - server version as a string, eg: "9.03-1"public boolean upgradeHub()
DataHub
upgradeHub
in interface DataHub
protected void verifyLocalProjectIs430OrGreater()
protected void prepareProjectBeforeUpgrading(HubProject hubProject, java.lang.String newDataHubVersion) throws java.io.IOException
hubProject
- newDataHubVersion
- java.io.IOException
public void setHubConfig(HubConfigImpl hubConfig)
public HubConfig getHubConfig()
public void setVersions(Versions versions)
public void clearUserData()