Package com.cloud.bridge.persist.dao

Examples of com.cloud.bridge.persist.dao.SObjectDao


    context.setEvalParam( ConditionKeys.Delimiter, delimiter );
    verifyAccess( context, "SBucket", sbucket.getId(), SAcl.PERMISSION_READ );

   
    // when we query, request one more item so that we know how to set isTruncated flag
    SObjectDao sobjectDao = new SObjectDao();
    List<SObject> l = null;
   
    if ( includeVersions )
             l = sobjectDao.listAllBucketObjects( sbucket, prefix, marker, maxKeys+1 );  
    else l = sobjectDao.listBucketObjects( sbucket, prefix, marker, maxKeys+1 );  
   
    response.setBucketName(bucketName);
    response.setMarker(marker);
    response.setMaxKeys(maxKeys);
    response.setPrefix(prefix);
View Full Code Here


        response.setResultCode(404);
        response.setResultDescription("Bucket " + bucketName + "does not exist");
        return response;
      }
     
      SObjectDao sobjectDao = new SObjectDao();
      String nameKey = request.getKey();
      SObject sobject = sobjectDao.getByNameKey( sbucket, nameKey );    
      if(sobject == null) {
        response.setResultCode(404);
        response.setResultDescription("Object " + request.getKey() + " in bucket " + bucketName + " does not exist");
        return response;
      }
View Full Code Here

      String bucketName = request.getBucketName();
      SBucket sbucket = bucketDao.getByName( bucketName );
      if (sbucket == null)
        throw new NoSuchObjectException("Bucket " + bucketName + " does not exist");
     
      SObjectDao sobjectDao = new SObjectDao();
      String nameKey = request.getKey();
      SObject sobject = sobjectDao.getByNameKey( sbucket, nameKey );
      if (sobject == null)
        throw new NoSuchObjectException("Object " + request.getKey() + " does not exist");
       
    String deletionMark = sobject.getDeletionMark();
    if (null != deletionMark) {
View Full Code Here

      response.setResultCode(404);
      response.setResultDescription("Bucket " + request.getBucketName() + " does not exist");
      return response;
    }

    SObjectDao objectDao = new SObjectDao();
    String nameKey = request.getKey();
    SObject sobject = objectDao.getByNameKey( sbucket, nameKey );
    if (sobject == null) {
      response.setResultCode(404);
      response.setResultDescription("Object " + request.getKey() + " does not exist in bucket " + request.getBucketName());
      return response;
    }
View Full Code Here

      response.setResultCode(404);
      response.setResultDescription("Bucket does not exist");
      return response;
    }
   
    SObjectDao objectDao = new SObjectDao();
    String nameKey = request.getKey();
    SObject sobject = objectDao.getByNameKey( sbucket, nameKey );
    if (sobject == null) {
      response.setResultCode(404);
      response.setResultDescription("Bucket does not exist");
      return response;
    }
   
       
    // -> versioning controls what delete means
    String storedPath = null;
    SObjectItem item = null;
        int versioningStatus = sbucket.getVersioningStatus();
    if ( SBucket.VERSIONING_ENABLED == versioningStatus )
      {
       String wantVersion = request.getVersion();
       S3PolicyContext context = new S3PolicyContext( PolicyActions.DeleteObjectVersion, bucketName );
       context.setKeyName( nameKey );
       context.setEvalParam( ConditionKeys.VersionId, wantVersion );
       verifyAccess( context, "SBucket", sbucket.getId(), SAcl.PERMISSION_WRITE );

       if (null == wantVersion) {
         // -> if versioning is on and no versionId is given then we just write a deletion marker
         sobject.setDeletionMark( UUID.randomUUID().toString());
         objectDao.update( sobject );
       }
       else
          // -> are we removing the delete marker?
          String deletionMarker = sobject.getDeletionMark();
          if (null != deletionMarker && wantVersion.equalsIgnoreCase( deletionMarker )) {
            sobject.setDeletionMark( null )
              objectDao.update( sobject )
              response.setResultCode(204);
            return response;
                }
         
          // -> if versioning is on and the versionId is given then we delete the object matching that version
            if ( null == (item = sobject.getVersion( wantVersion ))) {
               response.setResultCode(404);
               return response;
            }
            else {
               // -> just delete the one item that matches the versionId from the database
               storedPath = item.getStoredPath();
               sobject.deleteItem( item.getId());
               objectDao.update( sobject );          
            }
       }
      }
    else
    {   // -> if versioning is off then we do delete the null object
       S3PolicyContext context = new S3PolicyContext( PolicyActions.DeleteObject, bucketName );
       context.setKeyName( nameKey );
       verifyAccess( context, "SBucket", sbucket.getId(), SAcl.PERMISSION_WRITE );

       if ( null == (item = sobject.getLatestVersion( true ))) {
            response.setResultCode(404);
            return response;
         }
         else {
            // -> if no item with a null version then we are done
            if (null == item.getVersion()) {
                // -> remove the entire object
                // -> cascade-deleting can delete related SObject/SObjectItem objects, but not SAcl and SMeta objects.
                storedPath = item.getStoredPath();
              deleteMetaData( item.getId());
              deleteObjectAcls( "SObjectItem", item.getId());
                objectDao.delete( sobject );
            }
         }
    }
   
    // -> delete the file holding the object
View Full Code Here

   * @throws IOException
   */
  @SuppressWarnings("deprecation")
  public Tuple<SObject, SObjectItem> allocObjectItem(SBucket bucket, String nameKey, S3MetaDataEntry[] meta, S3AccessControlList acl, String cannedAccessPolicy)
  {
    SObjectDao     objectDao     = new SObjectDao();
    SObjectItemDao objectItemDao = new SObjectItemDao();
    SMetaDao       metaDao       = new SMetaDao();
    SAclDao        aclDao        = new SAclDao();
    SObjectItem    item          = null;
    int            versionSeq    = 1;
    int      versioningStatus    = bucket.getVersioningStatus();
   
    Session session = PersistContext.getSession();
     
    // [A] To write into a bucket the user must have write permission to that bucket
    S3PolicyContext context = new S3PolicyContext( PolicyActions.PutObject, bucket.getName());
    context.setKeyName( nameKey );
    context.setEvalParam( ConditionKeys.Acl, cannedAccessPolicy);
    verifyAccess( context, "SBucket", bucket.getId(), SAcl.PERMISSION_WRITE );

    // [A] If versioning is off them we over write a null object item
    SObject object = objectDao.getByNameKey(bucket, nameKey);
    if ( object != null )
    {
       // -> if versioning is on create new object items
       if ( SBucket.VERSIONING_ENABLED == versioningStatus )
       {
View Full Code Here

TOP

Related Classes of com.cloud.bridge.persist.dao.SObjectDao

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.