From c602e566078fc65b545145e6d35236cbae6a5671 Mon Sep 17 00:00:00 2001 From: xuyongping Date: Wed, 7 Mar 2012 11:27:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/scss/db/dao/ScssAclDaoImpl.java | 30 +- .../com/scss/db/dao/ScssBucketDaoImpl.java | 33 +-- .../db/dao/ScssBucketLifecycleDaoImpl.java | 18 +- .../src/com/scss/db/dao/ScssGroupDaoImpl.java | 79 ++++-- .../src/com/scss/db/dao/ScssLogDaoImpl.java | 3 +- .../com/scss/db/dao/ScssObjectDaoImpl.java | 256 +++++++++++++++++- .../src/com/scss/db/dao/ScssUserDaoImpl.java | 65 +++-- .../src/com/scss/db/dao/i/IAcl.java | 25 ++ .../src/com/scss/db/dao/i/IBucket.java | 29 ++ .../com/scss/db/dao/i/IBucketLifecycle.java | 19 ++ .../src/com/scss/db/dao/i/IGroup.java | 32 +++ .../src/com/scss/db/dao/i/ILog.java | 5 + .../src/com/scss/db/dao/i/IObject.java | 39 +++ .../src/com/scss/db/dao/i/IUser.java | 34 +++ 14 files changed, 579 insertions(+), 88 deletions(-) create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IAcl.java create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucket.java create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucketLifecycle.java create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IGroup.java create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/ILog.java create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IObject.java create mode 100644 src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IUser.java diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssAclDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssAclDaoImpl.java index c33f4ae..00da228 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssAclDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssAclDaoImpl.java @@ -5,13 +5,14 @@ import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; +import com.scss.db.dao.i.IAcl; import com.scss.db.exception.SameNameException; import com.scss.db.model.ScssAcl; /** * * @author Jack.wu.xu */ -public class ScssAclDaoImpl { +public class ScssAclDaoImpl implements IAcl{ private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssAclDaoImpl instance = new ScssAclDaoImpl(); @@ -21,8 +22,8 @@ private ScssAclDaoImpl() { public static ScssAclDaoImpl getInstance() { return instance; } - - public ScssAcl insertAcl(ScssAcl acl) throws SameNameException { + @Override + public ScssAcl insert(ScssAcl acl) throws SameNameException { try { acl.setId((Long) sqlMap.insert("putAcl", acl)); } catch (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) { @@ -37,8 +38,8 @@ public ScssAcl insertAcl(ScssAcl acl) throws SameNameException { } return acl; } - - public ScssAcl getAcl(Long id) { + @Override + public ScssAcl get(Long id) { ScssAcl acl = null; try { acl = (ScssAcl) sqlMap.queryForObject("getAcl", id); @@ -48,8 +49,8 @@ public ScssAcl getAcl(Long id) { return acl; } - - public List getAclByAccessor(Long acc,String accType) { + @Override + public List getByAccessor(Long acc,String accType) { List acls = null; try { ScssAcl acl = new ScssAcl(); @@ -61,7 +62,8 @@ public List getAclByAccessor(Long acc,String accType) { } return acls; } - public List getAclOnResouce(Long res,String resType) { + @Override + public List getOnResouce(Long res,String resType) { List acls = null; try { ScssAcl acl = new ScssAcl(); @@ -73,8 +75,8 @@ public List getAclOnResouce(Long res,String resType) { } return acls; } - - public ScssAcl getAclByAccessorOnResouce(Long acc,String accType, Long res,String resType) { + @Override + public ScssAcl getByAccessorOnResouce(Long acc,String accType, Long res,String resType) { ScssAcl acls = null; try { ScssAcl acl = new ScssAcl(); @@ -88,12 +90,12 @@ public ScssAcl getAclByAccessorOnResouce(Long acc,String accType, Long res,Strin } return acls; } - - public void updateAcl(ScssAcl acl) throws SQLException { + @Override + public void update(ScssAcl acl) throws SQLException { sqlMap.update("updateAcl", acl); } - - public void deleteAcl(ScssAcl acl) throws SQLException { + @Override + public void delete(ScssAcl acl) throws SQLException { sqlMap.update("deleteAcl", acl); } } diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketDaoImpl.java index 80f53ab..b14eabc 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketDaoImpl.java @@ -5,6 +5,7 @@ import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; +import com.scss.db.dao.i.IBucket; import com.scss.db.exception.SameNameException; import com.scss.db.model.ScssBucket; import com.scss.db.model.ScssUser; @@ -13,13 +14,13 @@ * * @author Jack.wu.xu */ -public class ScssBucketDaoImpl { +public class ScssBucketDaoImpl implements IBucket{ private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssBucketDaoImpl instance = new ScssBucketDaoImpl(); private ScssBucketDaoImpl() { } - + @Override public ScssBucket insertBucket(ScssBucket bucket) throws SameNameException, SQLException { try { @@ -40,8 +41,8 @@ public ScssBucket insertBucket(ScssBucket bucket) throws SameNameException, } return bucket; } - - public ScssBucket getBucket(ScssBucket sb) { + @Override + public ScssBucket get(ScssBucket sb) { try { return (ScssBucket) sqlMap.queryForObject("getBucket", sb.getId()); } catch (SQLException e) { @@ -49,8 +50,8 @@ public ScssBucket getBucket(ScssBucket sb) { } return null; } - - public List getBuckets() { + @Override + public List get() { try { return sqlMap.queryForList("getBuckets"); } catch (SQLException e) { @@ -58,8 +59,8 @@ public List getBuckets() { } return null; } - - public List getBucketsByUser(ScssUser user) { + @Override + public List getByUser(ScssUser user) { try { return sqlMap.queryForList("getBucketsByUser", user); } catch (SQLException e) { @@ -67,8 +68,8 @@ public List getBucketsByUser(ScssUser user) { } return null; } - - public ScssBucket getBucket(Long id) { + @Override + public ScssBucket get(Long id) { try { return (ScssBucket) sqlMap.queryForObject("getBucket", id); } catch (SQLException e) { @@ -76,8 +77,8 @@ public ScssBucket getBucket(Long id) { } return null; } - - public ScssBucket getBucket(String name) { + @Override + public ScssBucket get(String name) { try { return (ScssBucket) sqlMap.queryForObject("getBucketByName", name); } catch (SQLException e) { @@ -85,12 +86,12 @@ public ScssBucket getBucket(String name) { } return null; } - - public void updateBucket(ScssBucket sb) throws SQLException { + @Override + public void update(ScssBucket sb) throws SQLException { sqlMap.update("updateBucket", sb); } - - public void deleteBucket(ScssBucket sb) throws SQLException { + @Override + public void delete(ScssBucket sb) throws SQLException { sqlMap.update("deleteBucket", sb); } diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketLifecycleDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketLifecycleDaoImpl.java index 538fdfd..843d32b 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketLifecycleDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssBucketLifecycleDaoImpl.java @@ -4,13 +4,15 @@ import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; +import com.scss.db.dao.i.IBucketLifecycle; import com.scss.db.exception.SameNameException; import com.scss.db.model.ScssBucketLifecycle; + /** * * @author Jack.wu.xu */ -public class ScssBucketLifecycleDaoImpl { +public class ScssBucketLifecycleDaoImpl implements IBucketLifecycle { private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssBucketLifecycleDaoImpl instance = new ScssBucketLifecycleDaoImpl(); @@ -21,8 +23,9 @@ public static ScssBucketLifecycleDaoImpl getInstance() { return instance; } - public ScssBucketLifecycle insertBucketLifecycle( - ScssBucketLifecycle bucketLifecycle) throws SameNameException { + @Override + public ScssBucketLifecycle insert(ScssBucketLifecycle bucketLifecycle) + throws SameNameException { try { bucketLifecycle.setId((Long) sqlMap.insert("putBucketLifecycle", bucketLifecycle)); @@ -37,7 +40,8 @@ public ScssBucketLifecycle insertBucketLifecycle( return bucketLifecycle; } - public ScssBucketLifecycle getBucketLifecycle(Long id) { + @Override + public ScssBucketLifecycle get(Long id) { ScssBucketLifecycle acl = null; try { acl = (ScssBucketLifecycle) sqlMap.queryForObject( @@ -48,11 +52,13 @@ public ScssBucketLifecycle getBucketLifecycle(Long id) { return acl; } - public void updateBucketLifecycle(ScssBucketLifecycle sbl) throws SQLException { + @Override + public void update(ScssBucketLifecycle sbl) throws SQLException { sqlMap.update("updateBucketLifecycle", sbl); } - public void deleteBucketLifecycle(ScssBucketLifecycle sbl) throws SQLException { + @Override + public void delete(ScssBucketLifecycle sbl) throws SQLException { sqlMap.update("deleteBucketLifecycle", sbl); } } diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssGroupDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssGroupDaoImpl.java index 66785d4..98c0715 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssGroupDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssGroupDaoImpl.java @@ -1,17 +1,20 @@ package com.scss.db.dao; import java.sql.SQLException; +import java.util.List; import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; -import com.scss.db.exception.UserInGroupException; +import com.scss.db.dao.i.IGroup; +import com.scss.db.exception.DBException; import com.scss.db.model.ScssGroup; import com.scss.db.model.ScssUser; + /** * * @author Jack.wu.xu */ -public class ScssGroupDaoImpl { +public class ScssGroupDaoImpl implements IGroup { private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssGroupDaoImpl instance = new ScssGroupDaoImpl(); @@ -22,6 +25,7 @@ public static ScssGroupDaoImpl getInstance() { return instance; } + @Override public ScssGroup getGroupById(Long groupId) { ScssGroup su = null; try { @@ -32,17 +36,21 @@ public ScssGroup getGroupById(Long groupId) { return su; } - public ScssGroup getGroupByName(String name) { - ScssGroup su = null; + @Override + public ScssGroup getGroupByName(String name, Long ownerId) { + ScssGroup su = new ScssGroup(); + su.setName(name); + su.setOwnerId(ownerId); try { - su = (ScssGroup) sqlMap.queryForObject("getGroupByName", name); + return (ScssGroup) sqlMap.queryForObject("getGroupByName", su); } catch (SQLException e) { e.printStackTrace(); } - return su; + return null; } - public ScssGroup insertGroup(ScssGroup group) { + @Override + public ScssGroup insert(ScssGroup group) { try { group.setId((Long) sqlMap.insert("putGroup", group)); } catch (SQLException e) { @@ -51,8 +59,8 @@ public ScssGroup insertGroup(ScssGroup group) { return group; } - public void putUserToGroup(ScssUser user, ScssGroup sg) - throws SQLException { + @Override + public void putUserToGroup(ScssUser user, ScssGroup sg) throws DBException { String userIds = sg.getUserIds(); if (userIds.indexOf("," + user.getId() + ",") != -1) { return; @@ -60,18 +68,30 @@ public void putUserToGroup(ScssUser user, ScssGroup sg) putUserIdsToGroup(user.getId() + "", sg); } - public void removeUserFromGroup(ScssUser user, ScssGroup sg) throws SQLException { + @Override + public void removeUserFromGroup(ScssUser user, ScssGroup sg) + throws DBException { String userIds = sg.getUserIds(); userIds = userIds.replaceAll("," + user.getId() + ",", ","); sg.setUserIds(userIds); - sqlMap.update("updateGroup", sg); + try { + sqlMap.update("updateGroup", sg); + } catch (SQLException e) { + throw new DBException(e); + } } - public void updateGroup(ScssGroup sg) throws SQLException { - sqlMap.update("updateGroup", sg); + @Override + public void update(ScssGroup sg) throws DBException { + try { + sqlMap.update("updateGroup", sg); + } catch (SQLException e) { + throw new DBException(e); + } } - public void putUserIdsToGroup(String ids, ScssGroup sg) throws SQLException { + @Override + public void putUserIdsToGroup(String ids, ScssGroup sg) throws DBException { if ((ids == null) || ("".equals(ids))) { return; } @@ -81,14 +101,35 @@ public void putUserIdsToGroup(String ids, ScssGroup sg) throws SQLException { else newIds = newIds + ids + ","; sg.setUserIds(newIds); - sqlMap.update("updateGroup", sg); + try { + sqlMap.update("updateGroup", sg); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void delete(ScssGroup sg) throws DBException { + delete(sg.getId()); } - public void deleteGroup(ScssGroup sg) throws SQLException { - deleteGroup(sg.getId()); + @Override + public void delete(Long gid) throws DBException { + try { + sqlMap.delete("deleteGroup", gid); + } catch (SQLException e) { + throw new DBException(e); + } } - public static void deleteGroup(Long gid) throws SQLException { - sqlMap.delete("deleteGroup", gid); + @SuppressWarnings("unchecked") + @Override + public List getGroupByName(String name) { + try { + return sqlMap.queryForList("getGroupsByName", name); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; } } diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssLogDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssLogDaoImpl.java index 923ac56..ade8ead 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssLogDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssLogDaoImpl.java @@ -6,13 +6,14 @@ import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; +import com.scss.db.dao.i.ILog; import com.scss.db.model.ScssLog; import com.scss.db.model.ScssUser; /** * * @author Jack.wu.xu */ -public class ScssLogDaoImpl { +public class ScssLogDaoImpl implements ILog{ private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssLogDaoImpl instance = new ScssLogDaoImpl(); diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssObjectDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssObjectDaoImpl.java index 6c79f5a..ca36b68 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssObjectDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssObjectDaoImpl.java @@ -1,24 +1,31 @@ package com.scss.db.dao; + import java.sql.SQLException; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.log4j.Logger; import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; +import com.scss.db.dao.i.IObject; +import com.scss.db.exception.DBException; import com.scss.db.exception.SameNameException; +import com.scss.db.model.ScssBucket; import com.scss.db.model.ScssObject; import com.scss.db.model.ScssUser; + /** * * @author Jack.wu.xu */ -public class ScssObjectDaoImpl { +public class ScssObjectDaoImpl implements IObject { private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssObjectDaoImpl instance = new ScssObjectDaoImpl(); - private final Logger logger = Logger.getLogger(this.getClass()); + private ScssObjectDaoImpl() { } @@ -26,16 +33,12 @@ public static ScssObjectDaoImpl getInstance() { return instance; } - public void deleteObject(ScssObject object) throws SQLException { - sqlMap.delete("deleteObject", object.getId()); - } - - public void deleteObjectByBFSKey(Long key) throws SQLException { - sqlMap.delete("deleteObjectByBFSKey", key); - } - - public void deleteObject(Long id) throws SQLException { - sqlMap.delete("deleteObject", id); + public void deleteObject(Long id) throws DBException { + try { + sqlMap.delete("deleteObject", id); + } catch (SQLException e) { + throw new DBException(e); + } } public ScssObject insertObject(ScssObject object) throws SameNameException { @@ -79,12 +82,13 @@ public ScssObject getObjectByKey(String key, Long bucketId) { } return null; } + public List getObjectByKey(String key, ScssUser user) { try { ScssObject su = new ScssObject(); su.setKey(key); su.setOwnerId(user.getId()); - return sqlMap.queryForList("getObjectByKeyAndUser", su); + return sqlMap.queryForList("getObjectByKeyAndUser", su); } catch (SQLException e) { e.printStackTrace(); } @@ -120,7 +124,229 @@ public ScssObject getObjectByBFSFile(Long key) { return su; } - public void updateObject(ScssObject scssObject) throws SQLException { - sqlMap.update("updateObject", scssObject); + public void updateObject(ScssObject scssObject) throws DBException { + try { + sqlMap.update("updateObject", scssObject); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void delete(ScssObject obj) throws DBException { + try { + sqlMap.delete("deleteObject", obj.getId()); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void delete(String object_key, String bucket_name) + throws DBException { + Map m = new HashMap(); + m.put("object_key", object_key); + m.put("bucket_name", bucket_name); + try { + sqlMap.delete("deleteObjectByBucketNameAndObjectKey", m); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void delete(String object_key, Long bucket_id) throws DBException { + Map m = new HashMap(); + m.put("object_key", object_key); + m.put("bucket_id", bucket_id); + try { + sqlMap.delete("deleteObjectByBucketIdAndObjectKey", m); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void deleteAll(String bucket_name) throws DBException { + try { + sqlMap.delete("deleteObjectAllByBucketName", bucket_name); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void deleteAll(Long bucket_id) throws DBException { + try { + sqlMap.delete("deleteObjectAll", bucket_id); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void deleteAllByOwner(String access_key) throws DBException { + try { + sqlMap.delete("deleteObjectAllByAccessKey", access_key); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void deleteAllByOwner(ScssUser user) throws DBException { + try { + sqlMap.delete("deleteObjectAllByUserId", user.getId()); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public void deleteAllByOwner(Long user_id) throws DBException { + try { + sqlMap.delete("deleteObjectAllByUserId", user_id); + } catch (SQLException e) { + throw new DBException(e); + } + + } + + @Override + public ScssObject get(long id) { + ScssObject su = null; + try { + su = (ScssObject) sqlMap.queryForObject("getObjectById", id); + } catch (SQLException e) { + e.printStackTrace(); + } + return su; + } + + @Override + public ScssObject get(String object_key, String bucket_name) { + try { + ScssBucket sb = (ScssBucket) sqlMap.queryForObject( + "getBucketByName", bucket_name); + return this.get(object_key, sb.getId()); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + @Override + public ScssObject get(String object_key, Long bucket_id) { + try { + ScssObject su = new ScssObject(); + su.setKey(object_key); + su.setBucketId(bucket_id); + return (ScssObject) sqlMap.queryForObject("getObjectByKey", su); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + @Override + public ScssObject get(String object_key, String bucket_name, Long owner_id) { + try { + ScssBucket sb = (ScssBucket) sqlMap.queryForObject( + "getBucketByName", bucket_name); + ScssObject scssObject = this.get(object_key, sb.getId()); + if (scssObject != null && scssObject.getOwnerId() == owner_id) + return scssObject; + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + @Override + public List getAll(String object_key, String owner_access_id) { + Map m = new HashMap(); + m.put("object_key", object_key); + m.put("owner_access_id", owner_access_id); + try { + return sqlMap.queryForList("getObjectByAccessId", m); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + @Override + public List getAll(String object_key, Long owner_id) { + Map m = new HashMap(); + m.put("object_key", object_key); + m.put("owner_id", owner_id); + try { + return sqlMap.queryForList("getObjectByOwnerId", m); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + @Override + public ScssObject insert(ScssObject object) throws SameNameException { + try { + object.setId((Long) sqlMap.insert("putObject", object)); + } catch (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) { + SameNameException ename = new SameNameException("ObjectExists", + "Object is exists in the bucket Which id is " + + object.getBucketId() + ""); + throw ename; + } catch (SQLException e) { + String message = e.getMessage(); + logger.debug(message); + if (message.indexOf("Duplicate entry") != -1) { + SameNameException ename = new SameNameException( + "key,user and BucketName", "Duplicate entry"); + throw ename; + } + } + return object; + } + + @Override + public void update(ScssObject obj) throws DBException { + try { + sqlMap.update("updateObject", obj); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public ScssObject insert(String object_key, String bucket_name, Long bfsFile) + throws SameNameException, DBException { + try { + ScssBucket sb = (ScssBucket) sqlMap.queryForObject( + "getBucketByName", bucket_name); + ScssObject o = new ScssObject(); + o.setBfsFile(bfsFile); + o.setBucketId(sb.getId()); + o.setOwnerId(sb.getOwnerId()); + return insert(o); + } catch (SQLException e) { + throw new DBException(e); + } + } + + @Override + public ScssObject insert(String object_key, Long bucket_id, Long bfs_num) + throws SameNameException, DBException { + try { + ScssBucket sb = (ScssBucket) sqlMap.queryForObject( + "getBucket", bucket_id); + ScssObject o = new ScssObject(); + o.setBfsFile(bfs_num); + o.setBucketId(bucket_id); + o.setOwnerId(sb.getOwnerId()); + return insert(o); + } catch (SQLException e) { + throw new DBException(e); + } } } diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssUserDaoImpl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssUserDaoImpl.java index 59ffb0c..dbca122 100644 --- a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssUserDaoImpl.java +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/ScssUserDaoImpl.java @@ -8,47 +8,59 @@ import com.ibatis.sqlmap.client.SqlMapClient; import com.scss.db.connpool.config.IbatisConfig; +import com.scss.db.dao.i.IUser; +import com.scss.db.exception.DBException; import com.scss.db.exception.SameNameException; import com.scss.db.model.ScssGroup; import com.scss.db.model.ScssUser; + /** * * @author Jack.wu.xu */ -public class ScssUserDaoImpl { +public class ScssUserDaoImpl implements IUser { private static final SqlMapClient sqlMap = IbatisConfig.getSqlMapInstance(); private static ScssUserDaoImpl instance = new ScssUserDaoImpl(); - private static ScssGroupDaoImpl groupDao = ScssGroupDaoImpl.getInstance(); -// private static final Logger logger = Logger.getLogger("DAO/SCSSUSER", 0, -// true); + + public static ScssUserDaoImpl getInstance() { + return instance; + } private final Logger logger = Logger.getLogger(this.getClass()); + private ScssUserDaoImpl() { } + @Override public List getUserList() { List userList = null; try { userList = sqlMap.queryForList("getScssUsers"); } catch (SQLException e) { - // TODO Auto-generated catch block e.printStackTrace(); } return userList; } - public static ScssUserDaoImpl getInstance() { - return instance; - } - - public void deleteUser(ScssUser user) throws SQLException { - sqlMap.delete("deleteUser", user.getId()); + @Override + public void deleteUser(ScssUser user) throws DBException { + try { + sqlMap.delete("deleteUser", user.getId()); + } catch (SQLException e) { + throw new DBException(e); + } } - public void deleteUser(Long id) throws SQLException { - sqlMap.delete("deleteUser", id); + @Override + public void deleteUser(Long id) throws DBException { + try { + sqlMap.delete("deleteUser", id); + } catch (SQLException e) { + throw new DBException(e); + } } + @Override public ScssUser insertUser(ScssUser user) throws SameNameException { try { user.setId((Long) sqlMap.insert("putUser", user)); @@ -75,6 +87,7 @@ public ScssUser insertUser(ScssUser user) throws SameNameException { return user; } + @Override public ScssUser getUserByAccessKey(String access_key) { ScssUser su = null; try { @@ -85,6 +98,8 @@ public ScssUser getUserByAccessKey(String access_key) { } return su; } + + @Override public ScssUser getUserByAccessId(String access_id) { ScssUser su = null; try { @@ -95,11 +110,20 @@ public ScssUser getUserByAccessId(String access_id) { } return su; } + + @Override public List getUsersByGroupId(Long groupId) { - ScssGroup groupById = groupDao.getGroupById(groupId); - return getUsersByGroup(groupById); + ScssGroup su; + try { + su = (ScssGroup) sqlMap.queryForObject("getGroupById", groupId); + return getUsersByGroup(su); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; } + @Override public List getUsersByGroup(ScssGroup group) { List result = new ArrayList(); String userIds = group.getUserIds(); @@ -113,6 +137,7 @@ public List getUsersByGroup(ScssGroup group) { return result; } + @Override public ScssUser getUserById(long id) { ScssUser su = null; try { @@ -123,6 +148,7 @@ public ScssUser getUserById(long id) { return su; } + @Override public ScssUser getUserBySohuId(String sohuId) { ScssUser su = null; try { @@ -133,7 +159,12 @@ public ScssUser getUserBySohuId(String sohuId) { return su; } - public void updateUser(ScssUser scssUser) throws SQLException { - sqlMap.update("updateUser", scssUser); + @Override + public void updateUser(ScssUser scssUser) throws DBException { + try { + sqlMap.update("updateUser", scssUser); + } catch (SQLException e) { + throw new DBException(e); + } } } diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IAcl.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IAcl.java new file mode 100644 index 0000000..e5c53e2 --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IAcl.java @@ -0,0 +1,25 @@ +package com.scss.db.dao.i; + +import java.sql.SQLException; +import java.util.List; + +import com.scss.db.exception.SameNameException; +import com.scss.db.model.ScssAcl; + +public interface IAcl { + + public void update(ScssAcl acl) throws SQLException; + public void delete(ScssAcl acl) throws SQLException; + + public ScssAcl getByAccessorOnResouce(Long acc, String accType, + Long res, String resType); + + public List getOnResouce(Long res, String resType); + + public List getByAccessor(Long acc, String accType); + + public ScssAcl get(Long id); + + public ScssAcl insert(ScssAcl acl) throws SameNameException; + +} diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucket.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucket.java new file mode 100644 index 0000000..fd53345 --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucket.java @@ -0,0 +1,29 @@ +package com.scss.db.dao.i; + +import java.sql.SQLException; +import java.util.List; + +import com.scss.db.exception.SameNameException; +import com.scss.db.model.ScssBucket; +import com.scss.db.model.ScssUser; + +public interface IBucket { + + ScssBucket insertBucket(ScssBucket bucket) throws SameNameException, + SQLException; + + ScssBucket get(Long id); + + List getByUser(ScssUser user); + + ScssBucket get(ScssBucket sb); + + List get(); + + void delete(ScssBucket sb) throws SQLException; + + void update(ScssBucket sb) throws SQLException; + + ScssBucket get(String name); + +} diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucketLifecycle.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucketLifecycle.java new file mode 100644 index 0000000..c552f12 --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IBucketLifecycle.java @@ -0,0 +1,19 @@ +package com.scss.db.dao.i; + +import java.sql.SQLException; + +import com.scss.db.exception.SameNameException; +import com.scss.db.model.ScssBucketLifecycle; + +public interface IBucketLifecycle { + + ScssBucketLifecycle insert( + ScssBucketLifecycle bucketLifecycle) throws SameNameException; + + ScssBucketLifecycle get(Long id); + + void update(ScssBucketLifecycle sbl) throws SQLException; + + void delete(ScssBucketLifecycle sbl) throws SQLException; + +} diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IGroup.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IGroup.java new file mode 100644 index 0000000..bbdd079 --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IGroup.java @@ -0,0 +1,32 @@ +package com.scss.db.dao.i; + +import java.sql.SQLException; +import java.util.List; + +import com.scss.db.exception.DBException; +import com.scss.db.model.ScssGroup; +import com.scss.db.model.ScssUser; + +public interface IGroup { + + ScssGroup getGroupById(Long groupId); + + List getGroupByName(String name); + + ScssGroup insert(ScssGroup group); + + void putUserToGroup(ScssUser user, ScssGroup sg) throws DBException ; + + void removeUserFromGroup(ScssUser user, ScssGroup sg) throws DBException ; + + void update(ScssGroup sg) throws DBException; + + void putUserIdsToGroup(String ids, ScssGroup sg) throws DBException ; + + void delete(ScssGroup sg) throws DBException ; + + void delete(Long gid) throws DBException ; + + ScssGroup getGroupByName(String name, Long ownerId); + +} diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/ILog.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/ILog.java new file mode 100644 index 0000000..9c0482e --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/ILog.java @@ -0,0 +1,5 @@ +package com.scss.db.dao.i; + +public interface ILog { + +} diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IObject.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IObject.java new file mode 100644 index 0000000..d745ed4 --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IObject.java @@ -0,0 +1,39 @@ +package com.scss.db.dao.i; + +import java.util.List; + +import com.scss.db.exception.DBException; +import com.scss.db.exception.SameNameException; +import com.scss.db.model.ScssObject; +import com.scss.db.model.ScssUser; + +/** + * + * @autho Samuel + * + */ +public interface IObject { + + ScssObject get(long id); + + ScssObject get(String object_key, String bucket_name); + + ScssObject get(String object_key, Long bucket_id); + + ScssObject get(String object_key, String bucket_name, Long owner_id); + List getAll(String object_key, String owner_access_id); + List getAll(String object_key, Long owner_id); + ScssObject insert(ScssObject obj) throws SameNameException; + ScssObject insert(String object_key, String bucket_name, Long bfs_num) throws SameNameException, DBException; + ScssObject insert(String object_key, Long bucket_id, Long bfs_num) + throws SameNameException, DBException; + void update(ScssObject obj) throws DBException; + void delete(ScssObject obj) throws DBException; + void delete(String object_key, String bucket_name) throws DBException; + void delete(String object_key, Long bucket_id) throws DBException; + void deleteAll(String bucket_name) throws DBException; + void deleteAll(Long bucket_id) throws DBException; + void deleteAllByOwner(String access_key) throws DBException; + void deleteAllByOwner(Long bucket_id) throws DBException; + void deleteAllByOwner(ScssUser user) throws DBException; +} diff --git a/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IUser.java b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IUser.java new file mode 100644 index 0000000..768ce6c --- /dev/null +++ b/src/StorageWorkspace/StorageAPI/src/com/scss/db/dao/i/IUser.java @@ -0,0 +1,34 @@ +package com.scss.db.dao.i; + +import java.util.List; + +import com.scss.db.exception.DBException; +import com.scss.db.exception.SameNameException; +import com.scss.db.model.ScssGroup; +import com.scss.db.model.ScssUser; + +public interface IUser { + + List getUserList(); + + void deleteUser(ScssUser user) throws DBException; + + void deleteUser(Long id) throws DBException; + + ScssUser insertUser(ScssUser user) throws SameNameException; + + ScssUser getUserByAccessKey(String access_key); + + ScssUser getUserByAccessId(String access_id); + + List getUsersByGroupId(Long groupId); + + List getUsersByGroup(ScssGroup group); + + ScssUser getUserById(long id); + + ScssUser getUserBySohuId(String sohuId); + + void updateUser(ScssUser scssUser) throws DBException; + +}