use of com.datastax.oss.driver.api.querybuilder.insert.Insert in project archiva by apache.
the class CassandraMetadataRepository method updateArtifact.
@Override
public void updateArtifact(RepositorySession repositorySession, String repositoryId, String namespaceId, String projectId, String projectVersion, ArtifactMetadata artifactMeta) throws MetadataRepositoryException {
Namespace namespace = getNamespace(repositoryId, namespaceId);
if (namespace == null) {
namespace = updateOrAddNamespace(repositoryId, namespaceId);
}
ProjectMetadata projectMetadata = new ProjectMetadata();
projectMetadata.setId(projectId);
projectMetadata.setNamespace(namespaceId);
updateProject(repositorySession, repositoryId, projectMetadata);
String key = new ArtifactMetadataModel.KeyBuilder().withNamespace(namespace).withProject(projectId).withId(artifactMeta.getId()).withProjectVersion(projectVersion).build();
String table = this.cassandraArchivaManager.getArtifactMetadataFamilyName();
CqlSession session = cassandraArchivaManager.getSession();
{
Update update = update(table).setColumn(ID.toString(), //
literal(artifactMeta.getId())).setColumn(REPOSITORY_NAME.toString(), //
literal(repositoryId)).setColumn(NAMESPACE_ID.toString(), //
literal(namespaceId)).setColumn(PROJECT_ID.toString(), //
literal(artifactMeta.getProject())).setColumn(PROJECT_VERSION.toString(), //
literal(projectVersion)).setColumn(VERSION.toString(), //
literal(artifactMeta.getVersion())).setColumn(FILE_LAST_MODIFIED.toString(), //
literal(artifactMeta.getFileLastModified().toInstant().toEpochMilli())).setColumn(SIZE.toString(), //
literal(artifactMeta.getSize())).setColumn((WHEN_GATHERED.toString()), literal(artifactMeta.getWhenGathered().toInstant().toEpochMilli())).whereColumn(DEFAULT_PRIMARY_KEY).isEqualTo(literal(key));
session.execute(update.build()).wasApplied();
removeChecksums(key);
recordChecksums(repositoryId, key, mapChecksums(artifactMeta.getChecksums()));
key = //
new ProjectVersionMetadataModel.KeyBuilder().withRepository(//
repositoryId).withNamespace(//
namespace).withProjectId(//
projectId).withProjectVersion(//
projectVersion).withId(//
artifactMeta.getId()).build();
table = cassandraArchivaManager.getProjectVersionMetadataFamilyName();
Insert insert = insertInto(table).value(DEFAULT_PRIMARY_KEY, literal(key)).value(REPOSITORY_NAME.toString(), literal(repositoryId)).value(NAMESPACE_ID.toString(), literal(namespaceId)).value(PROJECT_ID.toString(), literal(projectId)).value(PROJECT_VERSION.toString(), literal(projectVersion)).value(VERSION.toString(), literal(artifactMeta.getVersion())).ifNotExists();
session.execute(insert.build());
}
ArtifactMetadataModel artifactMetadataModel = new ArtifactMetadataModel();
artifactMetadataModel.setRepositoryId(repositoryId);
artifactMetadataModel.setNamespace(namespaceId);
artifactMetadataModel.setProject(projectId);
artifactMetadataModel.setProjectVersion(projectVersion);
artifactMetadataModel.setVersion(artifactMeta.getVersion());
artifactMetadataModel.setFileLastModified(artifactMeta.getFileLastModified() == null ? ZonedDateTime.now().toInstant().toEpochMilli() : artifactMeta.getFileLastModified().toInstant().toEpochMilli());
artifactMetadataModel.setChecksums(mapChecksums(artifactMeta.getChecksums()));
// now facets
updateFacets(artifactMeta, artifactMetadataModel);
}
use of com.datastax.oss.driver.api.querybuilder.insert.Insert in project jnosql-diana-driver by eclipse.
the class DefaultCassandraColumnFamilyManager method save.
@Override
public ColumnEntity save(ColumnEntity entity, ConsistencyLevel level) {
requireNonNull(entity, "entities is required");
requireNonNull(level, "level is required");
final Insert insert = QueryUtils.insert(entity, keyspace, session, null);
session.execute(insert.build().setConsistencyLevel(level));
return entity;
}
use of com.datastax.oss.driver.api.querybuilder.insert.Insert in project jnosql-diana-driver by eclipse.
the class DefaultCassandraColumnFamilyManager method insert.
@Override
public ColumnEntity insert(ColumnEntity entity, Duration duration) {
requireNonNull(entity, "entity is required");
requireNonNull(duration, "duration is required");
final Insert insert = QueryUtils.insert(entity, keyspace, session, duration);
session.execute(insert.build());
return entity;
}
use of com.datastax.oss.driver.api.querybuilder.insert.Insert in project jnosql-diana-driver by eclipse.
the class DefaultCassandraColumnFamilyManager method save.
@Override
public ColumnEntity save(ColumnEntity entity, Duration ttl, ConsistencyLevel level) {
requireNonNull(entity, "entity is required");
requireNonNull(level, "level is required");
requireNonNull(ttl, "ttl is required");
final Insert insert = QueryUtils.insert(entity, keyspace, session, ttl);
session.execute(insert.build().setConsistencyLevel(level));
return entity;
}
use of com.datastax.oss.driver.api.querybuilder.insert.Insert in project jnosql-diana-driver by eclipse.
the class DefaultCassandraColumnFamilyManager method insert.
@Override
public ColumnEntity insert(ColumnEntity entity) {
requireNonNull(entity, "entity is required");
final Insert insert = QueryUtils.insert(entity, keyspace, session, null);
session.execute(insert.build());
return entity;
}
Aggregations