use of com.thoughtworks.go.domain.materials.Material in project gocd by gocd.
the class MaterialUpdateService method onTimer.
public void onTimer() {
for (MaterialSource materialSource : materialSources) {
Set<Material> materialsForUpdate = materialSource.materialsForUpdate();
LOGGER.debug("[Material Update] [On Timer] materials IN-PROGRESS: {}, ALL-MATERIALS: {}", inProgress, materialsForUpdate);
for (Material material : materialsForUpdate) {
updateMaterial(material);
}
}
}
use of com.thoughtworks.go.domain.materials.Material in project gocd by gocd.
the class MaterialUpdateService method notifyMaterialsForUpdate.
public void notifyMaterialsForUpdate(Username username, Object params, HttpLocalizedOperationResult result) {
if (!goConfigService.isUserAdmin(username)) {
result.unauthorized(LocalizedMessage.string("API_ACCESS_UNAUTHORIZED"), HealthStateType.unauthorised());
return;
}
final Map attributes = (Map) params;
if (attributes.containsKey(MaterialUpdateService.TYPE)) {
PostCommitHookMaterialType materialType = postCommitHookMaterialType.toType((String) attributes.get(MaterialUpdateService.TYPE));
if (!materialType.isKnown()) {
result.badRequest(LocalizedMessage.string("API_BAD_REQUEST"));
return;
}
final PostCommitHookImplementer materialTypeImplementer = materialType.getImplementer();
final CruiseConfig cruiseConfig = goConfigService.currentCruiseConfig();
Set<Material> allUniquePostCommitSchedulableMaterials = materialConfigConverter.toMaterials(cruiseConfig.getAllUniquePostCommitSchedulableMaterials());
final Set<Material> prunedMaterialList = materialTypeImplementer.prune(allUniquePostCommitSchedulableMaterials, attributes);
if (prunedMaterialList.isEmpty()) {
result.notFound(LocalizedMessage.string("MATERIAL_SUITABLE_FOR_NOTIFICATION_NOT_FOUND"), HealthStateType.general(HealthStateScope.GLOBAL));
return;
}
for (Material material : prunedMaterialList) {
updateMaterial(material);
}
result.accepted(LocalizedMessage.string("MATERIAL_SCHEDULE_NOTIFICATION_ACCEPTED"));
} else {
result.badRequest(LocalizedMessage.string("API_BAD_REQUEST"));
}
}
use of com.thoughtworks.go.domain.materials.Material in project gocd by gocd.
the class PluggableSCMPostCommitHookImplementer method prune.
@Override
public Set<Material> prune(Set<Material> materials, Map params) {
HashSet<Material> prunedCollection = new HashSet<>();
String paramSCMName = (String) params.get(SCM_NAME);
if (StringUtils.isNotBlank(paramSCMName)) {
for (Material material : materials) {
if (material instanceof PluggableSCMMaterial && paramSCMName.equalsIgnoreCase(((PluggableSCMMaterial) material).getScmConfig().getName())) {
prunedCollection.add(material);
}
}
}
return prunedCollection;
}
use of com.thoughtworks.go.domain.materials.Material in project gocd by gocd.
the class SvnPostCommitHookImplementer method prune.
@Override
public Set<Material> prune(Set<Material> materials, Map params) {
final HashSet<Material> prunedMaterials = new HashSet<>();
if (params.containsKey(UUID)) {
final String targetUUID = (String) params.get(UUID);
final HashMap<String, String> urlToRemoteUUIDMap = createUrlToRemoteUUIDMap(materials);
for (Material material : materials) {
if (material instanceof SvnMaterial && isQualified(targetUUID, (SvnMaterial) material, urlToRemoteUUIDMap)) {
prunedMaterials.add(material);
}
}
}
return prunedMaterials;
}
use of com.thoughtworks.go.domain.materials.Material in project gocd by gocd.
the class ModificationsMother method createPackageMaterialRevision.
public static MaterialRevision createPackageMaterialRevision(String revision, String user, String comment) {
Material material = MaterialsMother.packageMaterial();
List<Modification> modifications = new ArrayList<>();
modifications.add(new Modification(user, comment, null, new Date(), revision));
return new MaterialRevision(material, modifications);
}
Aggregations