@ThreadSafe @References(value={@Reference(referenceInterface=io.fabric8.api.DataStoreRegistrationHandler.class,bind="bindRegistrationHandler",unbind="unbindRegistrationHandler"),@Reference(referenceInterface=org.apache.curator.framework.CuratorFramework.class,bind="bindCurator",unbind="unbindCurator"),@Reference(referenceInterface=GitService.class,bind="bindGitService",unbind="unbindGitService"),@Reference(referenceInterface=io.fabric8.api.RuntimeProperties.class,bind="bindRuntimeProperties",unbind="unbindRuntimeProperties")}) @Service(value=io.fabric8.api.DataStore.class) @Properties(value=@Property(name="type",value="caching-git")) public final class CachingGitDataStore extends GitDataStore
GitDataStore
to minimise the use of git operations
and speed things up a littleDataStore.ContainerAttribute
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
TYPE |
AGENT_METADATA_FILE, CONFIGS, CONFIGS_PROFILES, GIT_COMMIT_SHORT_LENGTH, GIT_EXTERNAL_URL, GIT_GC_ON_LOAD, GIT_PULL_PERIOD, GIT_REMOTE_PASSWORD, GIT_REMOTE_URL, GIT_REMOTE_USER, PROFILE_FOLDER_SUFFIX, SUPPORTED_CONFIGURATION, useDirectoriesForProfiles
JVM_OPTIONS_PATH, REQUIREMENTS_JSON_PATH
ATTRIBUTE_PREFIX, DATASTORE_TYPE_PROPERTY, DEFAULT_DATASTORE_TYPE
Constructor and Description |
---|
CachingGitDataStore() |
Modifier and Type | Method and Description |
---|---|
void |
activate(java.util.Map<java.lang.String,?> configuration) |
void |
bindConfigurer(Configurer configurer) |
protected void |
clearCaches() |
java.util.Map<java.lang.String,java.lang.String> |
getConfiguration(java.lang.String version,
java.lang.String profile,
java.lang.String pid) |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
getConfigurations(java.lang.String version,
java.lang.String profile) |
byte[] |
getFileConfiguration(java.lang.String version,
java.lang.String profile,
java.lang.String fileName) |
java.util.Map<java.lang.String,byte[]> |
getFileConfigurations(java.lang.String version,
java.lang.String profile) |
java.lang.String |
getLastModified(java.lang.String version,
java.lang.String profile) |
java.util.List<java.lang.String> |
getProfiles(java.lang.String version) |
java.lang.String |
getType() |
protected io.fabric8.git.internal.CachingGitDataStore.VersionData |
getVersionData(java.lang.String version) |
boolean |
hasProfile(java.lang.String version,
java.lang.String profile) |
protected void |
pouplateVersionData(org.eclipse.jgit.api.Git git,
java.lang.String branch,
io.fabric8.git.internal.CachingGitDataStore.VersionData data) |
activateInternal, bindGitService, checkoutVersion, convertProfileIdToDirectory, createOrCheckoutVersion, createProfile, createVersion, createVersion, deactivateInternal, deleteProfile, deleteVersion, doAddFiles, doCreateProfile, doGetConfigurations, doGetFileConfigurations, doLoadConfiguration, doLoadFileConfiguration, doPull, doPush, doPush, doRecursiveDeleteAndRemove, doSetConfiguration, doSetConfigurations, doSetFileConfiguration, doSetFileConfigurations, forceGetVersions, getClusterId, getCredentialsProvider, getDefaultJvmOptions, getEnsembleContainers, getFilePattern, getGit, getPidFile, getPidFromFileName, getProfile, getProfileDirectory, getProfilesDirectory, getRemote, getRequirements, getVersionAttributes, getVersions, gitOperation, gitOperation, gitOperation, gitOperation, hasVersion, importFromFileSystem, importFromFileSystem, isProfileDirectory, listFiles, pull, push, recursiveAddLegacyProfileDirectoryFiles, recursiveCopyAndAdd, setConfiguration, setConfigurations, setDefaultJvmOptions, setFileConfiguration, setFileConfigurations, setRemote, setRequirements, setVersionAttribute
bindCurator, bindRegistrationHandler, bindRuntimeProperties, childEvent, createContainerConfig, createContainerConfig, deleteContainer, doRunCallbacks, fireChangeNotifications, getConfigurationFileNames, getContainerAttribute, getContainerMetadata, getContainerParent, getContainerProfiles, getContainers, getContainerVersion, getCurator, getDataStoreProperties, getDefaultVersion, getProfileAttributes, getRuntimeProperties, getTreeCache, hasContainer, isContainerAlive, protectedActivate, protectedDeactivate, runCallbacks, setContainerAttribute, setContainerMetadata, setContainerProfiles, setContainerVersion, setDefaultVersion, setProfileAttribute, trackConfiguration, unbindCurator, unbindRegistrationHandler, unbindRuntimeProperties, untrackConfiguration
activateComponent, assertValid, deactivateComponent, isValid
public static final java.lang.String TYPE
@Activate public void activate(java.util.Map<java.lang.String,?> configuration) throws java.lang.Exception
java.lang.Exception
protected io.fabric8.git.internal.CachingGitDataStore.VersionData getVersionData(java.lang.String version)
protected void pouplateVersionData(org.eclipse.jgit.api.Git git, java.lang.String branch, io.fabric8.git.internal.CachingGitDataStore.VersionData data) throws java.lang.Exception
java.lang.Exception
public java.util.List<java.lang.String> getProfiles(java.lang.String version)
getProfiles
in interface DataStore
getProfiles
in class GitDataStore
public boolean hasProfile(java.lang.String version, java.lang.String profile)
hasProfile
in interface DataStore
hasProfile
in class AbstractDataStore<GitDataStore>
public java.lang.String getLastModified(java.lang.String version, java.lang.String profile)
getLastModified
in interface DataStore
getLastModified
in class GitDataStore
public byte[] getFileConfiguration(java.lang.String version, java.lang.String profile, java.lang.String fileName)
getFileConfiguration
in interface DataStore
getFileConfiguration
in class GitDataStore
public java.util.Map<java.lang.String,byte[]> getFileConfigurations(java.lang.String version, java.lang.String profile)
getFileConfigurations
in interface DataStore
getFileConfigurations
in class GitDataStore
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getConfigurations(java.lang.String version, java.lang.String profile)
getConfigurations
in interface DataStore
getConfigurations
in class AbstractDataStore<GitDataStore>
public java.util.Map<java.lang.String,java.lang.String> getConfiguration(java.lang.String version, java.lang.String profile, java.lang.String pid)
getConfiguration
in interface DataStore
getConfiguration
in class GitDataStore
protected void clearCaches()
clearCaches
in class AbstractDataStore<GitDataStore>
public java.lang.String getType()
getType
in interface DataStore
getType
in class GitDataStore
public void bindConfigurer(Configurer configurer)
Copyright © 2016 Red Hat. All Rights Reserved.