com.capitalone.dashboard.repository.BinaryArtifactRepository Maven / Gradle / Ivy
package com.capitalone.dashboard.repository;
import com.capitalone.dashboard.model.BinaryArtifact;
import org.bson.types.ObjectId;
import java.util.Map;
public interface BinaryArtifactRepository extends QueryRepository {
String ARTIFACT_NAME = "artifactName";
String ARTIFACT_GROUPID = "artifactGroupId";
String ARTIFACT_MODULE = "artifactModule";
String ARTIFACT_VERSION = "artifactVersion";
String ARTIFACT_CLASSIFIER = "artifactClassifier";
String ARTIFACT_EXTENSION = "artifactExtension";
String BUILD_INFO_ID = "buildInfo.id";
Iterable findByCollectorItemId(ObjectId collectorItemId);
default Iterable findByAttributes(Object collectorItemId, String artifactGroupId, String artifactModule, String artifactVersion, String artifactName, String artifactClassifier, String artifactExtension) {
String query = "collectorItemId eq " + quote(collectorItemId.toString());
query = and(query) + getCommonQuery(artifactGroupId, artifactModule, artifactVersion, artifactName, artifactClassifier, artifactExtension);
return findAll(query);
}
default Iterable findByAttributes(String artifactGroupId, String artifactModule, String artifactVersion, String artifactName, String artifactClassifier, String artifactExtension) {
String query = getCommonQuery(artifactGroupId, artifactModule, artifactVersion, artifactName, artifactClassifier, artifactExtension);
return findAll(query);
}
default String getCommonQuery(String artifactGroupId, String artifactModule, String artifactVersion, String artifactName, String artifactClassifier, String artifactExtension) {
String query = "artifactGroupId eq " + quote(artifactGroupId);
query = and(query) + "artifactModule eq " + quote(artifactModule);
query = and(query) + "artifactVersion eq " + quote(artifactVersion);
query = and(query) + "artifactName eq " + quote(artifactName);
query = and(query) + "artifactClassifier eq " + quote(artifactClassifier);
return and(query) + "artifactExtension eq " + quote(artifactExtension);
}
default Iterable findByBuildInfoId(ObjectId artifactBuildId) {
return findAll("buildInfo.id eq " + quote(artifactBuildId.toHexString()));
}
Iterable findByArtifactNameAndTimestampGreaterThan(String artifactName, Long timestamp);
Iterable findByArtifactNameAndArtifactExtensionAndTimestampGreaterThan(String artifactName, String artifactExtension, Long timestamp);
default Iterable findByMetadataBuildUrl(String buildUrl) {
return findAll("metadata.buildUrl equalsIgnoreCase " + quote(buildUrl));
}
default Iterable findByAttributes(Map attributes) {
String query = "";
for (Map.Entry e : attributes.entrySet()) {
query = and(query) + e.getKey() + " eq " + quote(e.getValue());
}
return findAll(query);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy