You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/04/12 22:42:02 UTC
svn commit: r393602 - in
/incubator/roller/branches/roller-newbackend/sandbox:
atomadminprotocol/src/org/roller/presentation/atomadminapi/
atomprotocol/src/org/roller/presentation/atomapi/
Author: agilliland
Date: Wed Apr 12 13:42:00 2006
New Revision: 393602
URL: http://svn.apache.org/viewcvs?rev=393602&view=rev
Log:
cleaning up backend calls in Atom and AtomAdmin sandbox code.
NOTE: this hasn't been fully checked, so we still need to build it and test it to verify these changes.
Modified:
incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/Handler.java
incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerMemberHandler.java
incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerUserHandler.java
incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerWeblogHandler.java
incubator/roller/branches/roller-newbackend/sandbox/atomprotocol/src/org/roller/presentation/atomapi/RollerAtomHandler.java
Modified: incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/Handler.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/Handler.java?rev=393602&r1=393601&r2=393602&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/Handler.java (original)
+++ incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/Handler.java Wed Apr 12 13:42:00 2006
@@ -139,7 +139,6 @@
UserData user = getRoller().getUserManager().getUser(auth.getUserId());
if (user != null && user.hasRole("admin") && user.getEnabled().booleanValue()) {
// success!
- getRoller().setUser(user);
username = auth.getUserId();
} else {
logger.warn("WARN: Is not global admin user: " + user.getUserName());
Modified: incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerMemberHandler.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerMemberHandler.java?rev=393602&r1=393601&r2=393602&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerMemberHandler.java (original)
+++ incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerMemberHandler.java Wed Apr 12 13:42:00 2006
@@ -269,15 +269,12 @@
try {
UserManager mgr = getRoller().getUserManager();
- // Need system user to create website
- getRoller().setUser(UserData.SYSTEM_USER);
-
+ // TODO BACKEND: new transaction method storePermissions(list)?
for (int i = 0; i < c.getEntries().length; i++) {
MemberEntry entry = (MemberEntry)c.getEntries()[i];
PermissionsData pd = toPermissionsData(entry);
- pd.save();
+ mgr.storePermissions(pd);
}
- getRoller().commit();
} catch (RollerException re) {
throw new InternalException("ERROR: Could not create members", re);
}
@@ -319,7 +316,7 @@
private void updateMembers(MemberEntrySet c) throws HandlerException {
try {
- getRoller().setUser(UserData.SYSTEM_USER);
+ // TODO BACKEND: new transaction method storePermissions(list)?
for (int i = 0; i < c.getEntries().length; i++) {
MemberEntry entry = (MemberEntry)c.getEntries()[i];
PermissionsData pd = getPermissionsData(entry);
@@ -328,7 +325,6 @@
}
updatePermissionsData(pd, entry);
}
- getRoller().commit();
} catch (RollerException re) {
throw new InternalException("ERROR: Could not update members", re);
}
@@ -347,7 +343,9 @@
WebsiteData wd = getRoller().getUserManager().getWebsiteByHandle(entry.getHandle());
CacheManager.invalidate(wd);
- pd.save();
+ UserManager mgr = getRoller().getUserManager();
+ mgr.storePermissions(pd);
+
} catch (RollerException re) {
throw new InternalException("ERROR: Could not update permissions data", re);
}
@@ -365,7 +363,6 @@
}
try {
- getRoller().setUser(UserData.SYSTEM_USER);
PermissionsData pd = getPermissionsData(handle, username);
PermissionsData[] pds;
if (pd == null) {
@@ -373,8 +370,8 @@
}
pds = new PermissionsData[] { pd };
- pd.remove();
- getRoller().commit();
+ UserManager mgr = getRoller().getUserManager();
+ mgr.removePermissions(pd);
UserData ud = getRoller().getUserManager().getUser(username);
CacheManager.invalidate(ud);
Modified: incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerUserHandler.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerUserHandler.java?rev=393602&r1=393601&r2=393602&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerUserHandler.java (original)
+++ incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerUserHandler.java Wed Apr 12 13:42:00 2006
@@ -171,15 +171,12 @@
try {
UserManager mgr = getRoller().getUserManager();
- // Need system user to create website
- getRoller().setUser(UserData.SYSTEM_USER);
-
+ // TODO BACKEND: new transaction method addUsers(list)?
for (int i = 0; i < c.getEntries().length; i++) {
UserEntry entry = (UserEntry)c.getEntries()[i];
UserData user = toUserData(entry);
mgr.addUser(user);
}
- getRoller().commit();
} catch (RollerException re) {
throw new InternalException("ERROR: Could not create users: " + c, re);
}
@@ -189,9 +186,7 @@
try {
UserManager mgr = getRoller().getUserManager();
- // Need system user to create user
- getRoller().setUser(UserData.SYSTEM_USER);
-
+ // TODO BACKEND: new transaction method storeUsers(list)?
for (int i = 0; i < c.getEntries().length; i++) {
UserEntry entry = (UserEntry)c.getEntries()[i];
UserData ud = mgr.getUser(entry.getName());
@@ -199,9 +194,9 @@
throw new NotFoundException("ERROR: Uknown user: " + entry.getName());
}
updateUserData(ud, entry);
- ud.save();
+
+ mgr.storeUser(ud);
}
- getRoller().commit();
} catch (RollerException re) {
throw new InternalException("ERROR: Could not update users: " + c, re);
}
@@ -229,7 +224,6 @@
private EntrySet deleteEntry() throws HandlerException {
try {
- getRoller().setUser(UserData.SYSTEM_USER);
UserManager mgr = getRoller().getUserManager();
UserData ud = mgr.getUser(getUri().getEntryId());
@@ -242,8 +236,8 @@
}
UserData[] uds = new UserData[] { ud };
- ud.remove();
- getRoller().commit();
+ mgr.removeUser(ud);
+
CacheManager.invalidate(ud);
EntrySet es = toUserEntrySet(uds);
Modified: incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerWeblogHandler.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerWeblogHandler.java?rev=393602&r1=393601&r2=393602&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerWeblogHandler.java (original)
+++ incubator/roller/branches/roller-newbackend/sandbox/atomadminprotocol/src/org/roller/presentation/atomadminapi/RollerWeblogHandler.java Wed Apr 12 13:42:00 2006
@@ -181,17 +181,13 @@
//TODO: group blogging check?
- // Need system user to create website
- getRoller().setUser(UserData.SYSTEM_USER);
HashMap pages = null; //getRollerContext().readThemeMacros(form.getTheme());
for (int i = 0; i < c.getEntries().length; i++) {
WeblogEntry entry = (WeblogEntry)c.getEntries()[i];
UserData user = mgr.getUser(entry.getCreatingUser());
WebsiteData wd = mgr.createWebsite(user, pages, entry.getHandle(), entry.getName(), entry.getDescription(), entry.getEmailAddress(), DEFAULT_THEME, entry.getLocale(), entry.getTimezone());
- wd.save();
}
- getRoller().commit();
} catch (RollerException re) {
throw new InternalException("ERROR: Could not create weblogs: " + c, re);
}
@@ -203,10 +199,9 @@
//TODO: group blogging check?
- // Need system user to create website
- getRoller().setUser(UserData.SYSTEM_USER);
HashMap pages = null;
+ // TODO BACKEND: new transaction method storeWeblogs(list)?
for (int i = 0; i < c.getEntries().length; i++) {
WeblogEntry entry = (WeblogEntry)c.getEntries()[i];
WebsiteData wd = mgr.getWebsiteByHandle(entry.getHandle());
@@ -215,7 +210,6 @@
}
updateWebsiteData(wd, entry);
}
- getRoller().commit();
} catch (RollerException re) {
throw new InternalException("ERROR: Could not update weblogs: " + c, re);
}
@@ -239,7 +233,9 @@
}
try {
- wd.save();
+ UserManager mgr = getRoller().getUserManager();
+ mgr.storeWebsite(wd);
+
CacheManager.invalidate(wd);
} catch (RollerException re) {
throw new InternalException("ERROR: Could not update website data", re);
@@ -250,9 +246,6 @@
try {
UserManager mgr = getRoller().getUserManager();
- // Need system user to create website
- getRoller().setUser(UserData.SYSTEM_USER);
-
WebsiteData wd = mgr.getWebsiteByHandle(getUri().getEntryId());
if (wd == null) {
throw new NotFoundException("ERROR: Uknown weblog handle: " + getUri().getEntryId());
@@ -261,8 +254,7 @@
WebsiteData[] wds = new WebsiteData[] { wd };
EntrySet es = toWeblogEntrySet(wds);
- wd.remove();
- getRoller().commit();
+ mgr.removeWebsite(wd);
CacheManager.invalidate(wd);
Modified: incubator/roller/branches/roller-newbackend/sandbox/atomprotocol/src/org/roller/presentation/atomapi/RollerAtomHandler.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/sandbox/atomprotocol/src/org/roller/presentation/atomapi/RollerAtomHandler.java?rev=393602&r1=393601&r2=393602&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/sandbox/atomprotocol/src/org/roller/presentation/atomapi/RollerAtomHandler.java (original)
+++ incubator/roller/branches/roller-newbackend/sandbox/atomprotocol/src/org/roller/presentation/atomapi/RollerAtomHandler.java Wed Apr 12 13:42:00 2006
@@ -52,6 +52,7 @@
import javax.activation.FileTypeMap;
import org.roller.RollerException;
import org.roller.config.RollerConfig;
+import org.roller.model.WeblogManager;
import org.roller.presentation.cache.CacheManager;
/**
@@ -82,7 +83,7 @@
private HttpServletRequest mRequest;
private Roller mRoller;
private RollerContext mRollerContext;
- private String mUsername;
+ private UserData user;
private int mMaxEntries = 20;
//private MessageDigest md5Helper = null;
//private MD5Encoder md5Encoder = new MD5Encoder();
@@ -104,12 +105,11 @@
// TODO: decide what to do about authentication, is WSSE going to fly?
//mUsername = authenticateWSSE(request);
- mUsername = authenticateBASIC(request);
+ String mUsername = authenticateBASIC(request);
if (mUsername != null) {
try {
- UserData user = mRoller.getUserManager().getUser(mUsername);
- mRoller.setUser(user);
+ this.user = mRoller.getUserManager().getUser(mUsername);
} catch (Exception e) {
mLogger.error("ERROR: setting user", e);
}
@@ -120,7 +120,7 @@
* Return weblogHandle of authenticated user or null if there is none.
*/
public String getAuthenticatedUsername() {
- return mUsername;
+ return this.user.getUserName();
}
//---------------------------------------------------------------- introspection
@@ -133,7 +133,6 @@
if (pathInfo.length == 0) {
String absUrl = mRollerContext.getAbsoluteContextUrl(mRequest);
AtomService service = new AtomService();
- UserData user = mRoller.getUserManager().getUser(mUsername);
List perms = mRoller.getUserManager().getAllPermissions(user);
if (perms != null) {
for (Iterator iter=perms.iterator(); iter.hasNext();) {
@@ -298,13 +297,12 @@
// authenticated client posted a weblog entry
String handle = pathInfo[0];
WebsiteData website = mRoller.getUserManager().getWebsiteByHandle(handle);
- UserData creator = mRoller.getUserManager().getUser(mUsername);
if (canEdit(website)) {
// Save it and commit it
+ WeblogManager mgr = mRoller.getWeblogManager();
WeblogEntryData rollerEntry = createRollerEntry(website, entry);
- rollerEntry.setCreator(creator);
- rollerEntry.save();
- mRoller.commit();
+ rollerEntry.setCreator(this.user);
+ mgr.storeWeblogEntry(rollerEntry);
// Throttle one entry per second
// (MySQL timestamp has 1 sec resolution, damnit)
@@ -346,6 +344,8 @@
WeblogEntryData rollerEntry =
mRoller.getWeblogManager().retrieveWeblogEntry(pathInfo[2]);
if (canEdit(rollerEntry)) {
+ WeblogManager mgr = mRoller.getWeblogManager();
+
WeblogEntryData rawUpdate = createRollerEntry(rollerEntry.getWebsite(), entry);
rollerEntry.setPubTime(rawUpdate.getPubTime());
rollerEntry.setUpdateTime(rawUpdate.getUpdateTime());
@@ -353,8 +353,8 @@
rollerEntry.setStatus(rawUpdate.getStatus());
rollerEntry.setCategory(rawUpdate.getCategory());
rollerEntry.setTitle(rawUpdate.getTitle());
- rollerEntry.save();
- mRoller.commit();
+
+ mgr.storeWeblogEntry(rollerEntry);
CacheManager.invalidate(rollerEntry.getWebsite());
if (rollerEntry.isPublished()) {
@@ -376,8 +376,8 @@
WeblogEntryData rollerEntry =
mRoller.getWeblogManager().retrieveWeblogEntry(pathInfo[2]);
if (canEdit(rollerEntry)) {
- rollerEntry.remove();
- mRoller.commit();
+ WeblogManager mgr = mRoller.getWeblogManager();
+ mgr.removeWeblogEntry(rollerEntry);
return;
}
throw new Exception("ERROR not authorized to delete entry");
@@ -555,7 +555,7 @@
*/
private boolean canEdit(WeblogEntryData entry) {
try {
- return entry.canSave();
+ return entry.hasWritePermissions(this.user);
} catch (Exception e) {
mLogger.error("ERROR: checking website.canSave()");
}
@@ -567,8 +567,7 @@
*/
private boolean canEdit(WebsiteData website) {
try {
- UserData user = mRoller.getUser();
- return website.hasUserPermissions(user, PermissionsData.AUTHOR);
+ return website.hasUserPermissions(this.user, PermissionsData.AUTHOR);
} catch (Exception e) {
mLogger.error("ERROR: checking website.hasUserPermissions()");
}
@@ -671,9 +670,6 @@
RollerConfig.getProperty("passwds.encryption.algorithm"));
}
valid = user.getPassword().equals(password);
- if (valid) {
- RollerFactory.getRoller().setUser(user);
- }
}
}
}