You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2016/02/24 08:49:28 UTC

[2/2] jclouds-labs git commit: Avoid uniqueness constraint errors via upsert

Avoid uniqueness constraint errors via upsert

Do this in JPA instead of hacking around in the application.


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/7255d73c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/7255d73c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/7255d73c

Branch: refs/heads/master
Commit: 7255d73ced667002d59985df8a371509989c958c
Parents: 5bd8447
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Feb 22 11:30:35 2016 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Tue Feb 23 23:47:38 2016 -0800

----------------------------------------------------------------------
 jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/7255d73c/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java b/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
index 9cd185c..af75721 100644
--- a/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
+++ b/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
@@ -109,7 +109,6 @@ public class JdbcService {
       BlobEntity oldBlobEntity = findBlobById(containerName, key);
       if (oldBlobEntity != null) {
          creationDate = oldBlobEntity.getCreationDate();
-         deleteBlob(containerName, key);
       }
       BlobEntity blobEntity = blobToBlobEntity.apply(blob);
       blobEntity.getPayload().setChunks(storeData(blob.getPayload().openStream()));
@@ -117,12 +116,13 @@ public class JdbcService {
       blobEntity.setKey(key);
       blobEntity.setBlobAccess(blobAccess);
       blobEntity.setCreationDate(creationDate);
+      blobEntity.setLastModified(new Date());
 
       HashCode hash = ByteStreams2.hashAndClose(blob.getPayload().openStream(), Hashing.md5());
       blobEntity.setEtag(base16().lowerCase().encode(hash.asBytes()));
       blobEntity.getPayload().setContentMD5(hash.asBytes());
 
-      BlobEntity result = blobRepository.create(blobEntity);
+      BlobEntity result = blobRepository.save(blobEntity);
       checkIntegrity(blob, result);
       return result;
    }
@@ -138,7 +138,7 @@ public class JdbcService {
       blobEntity.setKey(blob.getMetadata().getName());
       blobEntity.setBlobAccess(blobAccess);
       blobEntity.setEtag(DIRECTORY_MD5);
-      return blobRepository.create(blobEntity);
+      return blobRepository.save(blobEntity);
    }
 
    @Transactional