major classes refactoring

This commit is contained in:
Athou
2013-04-11 20:49:08 +02:00
parent 54ebf7b9db
commit 5b5ad242e0
31 changed files with 380 additions and 297 deletions

View File

@@ -23,19 +23,21 @@ import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
import org.apache.wicket.protocol.http.servlet.ServletWebResponse;
import org.apache.wicket.request.cycle.RequestCycle;
import com.commafeed.backend.dao.FeedCategoryService;
import com.commafeed.backend.dao.FeedEntryService;
import com.commafeed.backend.dao.FeedEntryStatusService;
import com.commafeed.backend.dao.FeedService;
import com.commafeed.backend.dao.FeedSubscriptionService;
import com.commafeed.backend.dao.UserRoleService;
import com.commafeed.backend.dao.UserService;
import com.commafeed.backend.dao.UserSettingsService;
import com.commafeed.backend.dao.FeedCategoryDAO;
import com.commafeed.backend.dao.FeedDAO;
import com.commafeed.backend.dao.FeedEntryDAO;
import com.commafeed.backend.dao.FeedEntryStatusDAO;
import com.commafeed.backend.dao.FeedSubscriptionDAO;
import com.commafeed.backend.dao.UserDAO;
import com.commafeed.backend.dao.UserRoleDAO;
import com.commafeed.backend.dao.UserSettingsDAO;
import com.commafeed.backend.feeds.FeedFetcher;
import com.commafeed.backend.feeds.OPMLImporter;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.backend.security.PasswordEncryptionService;
import com.commafeed.backend.services.FeedSubscriptionService;
import com.commafeed.backend.services.PasswordEncryptionService;
import com.commafeed.backend.services.UserService;
import com.commafeed.frontend.CommaFeedApplication;
import com.commafeed.frontend.CommaFeedSession;
import com.commafeed.frontend.SecurityCheck;
@@ -52,28 +54,34 @@ public abstract class AbstractREST {
HttpServletResponse response;
@Inject
FeedService feedService;
FeedDAO feedDAO;
@Inject
FeedSubscriptionDAO feedSubscriptionDAO;
@Inject
FeedSubscriptionService feedSubscriptionService;
@Inject
FeedCategoryService feedCategoryService;
FeedCategoryDAO feedCategoryDAO;
@Inject
FeedEntryService feedEntryService;
FeedEntryDAO feedEntryDAO;
@Inject
FeedEntryStatusService feedEntryStatusService;
FeedEntryStatusDAO feedEntryStatusDAO;
@Inject
UserDAO userDAO;
@Inject
UserService userService;
@Inject
UserSettingsService userSettingsService;
UserSettingsDAO userSettingsDAO;
@Inject
UserRoleService userRoleService;
UserRoleDAO userRoleDAO;
@Inject
OPMLImporter opmlImporter;

View File

@@ -6,7 +6,7 @@ import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import com.commafeed.backend.dao.ApplicationSettingsService;
import com.commafeed.backend.dao.ApplicationSettingsDAO;
import com.commafeed.backend.model.ApplicationSettings;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.frontend.SecurityCheck;
@@ -16,18 +16,18 @@ import com.commafeed.frontend.SecurityCheck;
public class AdminSettingsREST {
@Inject
ApplicationSettingsService applicationSettingsService;
ApplicationSettingsDAO applicationSettingsDAO;
@Path("get")
@GET
public ApplicationSettings get() {
return applicationSettingsService.get();
return applicationSettingsDAO.get();
}
@Path("save")
@POST
public Response save(ApplicationSettings settings) {
applicationSettingsService.save(settings);
applicationSettingsDAO.save(settings);
return Response.ok().build();
}
}

View File

@@ -50,7 +50,7 @@ public class AdminUsersREST extends AbstractREST {
.entity("User already exists.").build();
}
} else {
User user = userService.findById(id);
User user = userDAO.findById(id);
if (StartupBean.ADMIN_NAME.equals(user.getName())
&& !userModel.isEnabled()) {
return Response.status(Status.FORBIDDEN)
@@ -62,11 +62,11 @@ public class AdminUsersREST extends AbstractREST {
userModel.getPassword(), user.getSalt()));
}
user.setDisabled(!userModel.isEnabled());
userService.update(user);
userDAO.update(user);
Set<Role> roles = userRoleService.getRoles(user);
Set<Role> roles = userRoleDAO.findRoles(user);
if (userModel.isAdmin() && !roles.contains(Role.ADMIN)) {
userRoleService.save(new UserRole(user, Role.ADMIN));
userRoleDAO.save(new UserRole(user, Role.ADMIN));
} else if (!userModel.isAdmin() && roles.contains(Role.ADMIN)) {
if (StartupBean.ADMIN_NAME.equals(user.getName())) {
return Response
@@ -74,9 +74,9 @@ public class AdminUsersREST extends AbstractREST {
.entity("You cannot remove the admin role from the admin user.")
.build();
}
for (UserRole userRole : userRoleService.findAll(user)) {
for (UserRole userRole : userRoleDAO.findAll(user)) {
if (userRole.getRole() == Role.ADMIN) {
userRoleService.delete(userRole);
userRoleDAO.delete(userRole);
}
}
}
@@ -89,12 +89,12 @@ public class AdminUsersREST extends AbstractREST {
@Path("get")
@GET
public UserModel getUser(@QueryParam("id") Long id) {
User user = userService.findById(id);
User user = userDAO.findById(id);
UserModel userModel = new UserModel();
userModel.setId(user.getId());
userModel.setName(user.getName());
userModel.setEnabled(!user.isDisabled());
for (UserRole role : userRoleService.findAll(user)) {
for (UserRole role : userRoleDAO.findAll(user)) {
if (role.getRole() == Role.ADMIN) {
userModel.setAdmin(true);
}
@@ -106,7 +106,7 @@ public class AdminUsersREST extends AbstractREST {
@GET
public Collection<UserModel> getUsers() {
Map<Long, UserModel> users = Maps.newHashMap();
for (UserRole role : userRoleService.findAll()) {
for (UserRole role : userRoleDAO.findAll()) {
User user = role.getUser();
Long key = user.getId();
UserModel userModel = users.get(key);
@@ -127,7 +127,7 @@ public class AdminUsersREST extends AbstractREST {
@Path("delete")
@GET
public Response delete(@QueryParam("id") Long id) {
User user = userService.findById(id);
User user = userDAO.findById(id);
if (user == null) {
return Response.status(Status.NOT_FOUND).build();
}
@@ -135,13 +135,13 @@ public class AdminUsersREST extends AbstractREST {
return Response.status(Status.FORBIDDEN)
.entity("You cannot delete the admin user.").build();
}
feedEntryStatusService.delete(feedEntryStatusService.getStatuses(user,
feedEntryStatusDAO.delete(feedEntryStatusDAO.findAll(user,
false, ReadingOrder.desc, false));
feedSubscriptionService.delete(feedSubscriptionService.findAll(user));
feedCategoryService.delete(feedCategoryService.findAll(user));
userSettingsService.delete(userSettingsService.findByUser(user));
userRoleService.delete(userRoleService.findAll(user));
userService.delete(user);
feedSubscriptionDAO.delete(feedSubscriptionDAO.findAll(user));
feedCategoryDAO.delete(feedCategoryDAO.findAll(user));
userSettingsDAO.delete(userSettingsDAO.findByUser(user));
userRoleDAO.delete(userRoleDAO.findAll(user));
userDAO.delete(user);
return Response.ok().build();
}

View File

@@ -54,15 +54,15 @@ public class EntriesREST extends AbstractREST {
boolean unreadOnly = readType == ReadType.unread;
if (type == Type.feed) {
FeedSubscription subscription = feedSubscriptionService.findById(
FeedSubscription subscription = feedSubscriptionDAO.findById(
getUser(), Long.valueOf(id));
if (subscription != null) {
entries.setName(subscription.getTitle());
entries.setMessage(subscription.getFeed().getMessage());
entries.setErrorCount(subscription.getFeed().getErrorCount());
List<FeedEntryStatus> unreadEntries = feedEntryStatusService
.getStatuses(subscription.getFeed(), getUser(),
List<FeedEntryStatus> unreadEntries = feedEntryStatusDAO
.findByFeed(subscription.getFeed(), getUser(),
unreadOnly, offset, limit, order, true);
for (FeedEntryStatus status : unreadEntries) {
entries.getEntries().add(buildEntry(status));
@@ -73,21 +73,21 @@ public class EntriesREST extends AbstractREST {
if (ALL.equals(id)) {
entries.setName("All");
List<FeedEntryStatus> unreadEntries = feedEntryStatusService
.getStatuses(getUser(), unreadOnly, offset, limit,
List<FeedEntryStatus> unreadEntries = feedEntryStatusDAO
.findAll(getUser(), unreadOnly, offset, limit,
order, true);
for (FeedEntryStatus status : unreadEntries) {
entries.getEntries().add(buildEntry(status));
}
} else {
FeedCategory feedCategory = feedCategoryService.findById(
FeedCategory feedCategory = feedCategoryDAO.findById(
getUser(), Long.valueOf(id));
if (feedCategory != null) {
List<FeedCategory> childrenCategories = feedCategoryService
List<FeedCategory> childrenCategories = feedCategoryDAO
.findAllChildrenCategories(getUser(), feedCategory);
List<FeedEntryStatus> unreadEntries = feedEntryStatusService
.getStatuses(childrenCategories, getUser(),
List<FeedEntryStatus> unreadEntries = feedEntryStatusDAO
.findByCategories(childrenCategories, getUser(),
unreadOnly, offset, limit, order, true);
for (FeedEntryStatus status : unreadEntries) {
entries.getEntries().add(buildEntry(status));
@@ -136,15 +136,15 @@ public class EntriesREST extends AbstractREST {
olderThanTimestamp);
if (type == Type.entry) {
FeedEntryStatus status = feedEntryStatusService.findById(getUser(),
FeedEntryStatus status = feedEntryStatusDAO.findById(getUser(),
Long.valueOf(id));
status.setRead(read);
feedEntryStatusService.update(status);
feedEntryStatusDAO.update(status);
} else if (type == Type.feed) {
if (read) {
FeedSubscription subscription = feedSubscriptionService
FeedSubscription subscription = feedSubscriptionDAO
.findById(getUser(), Long.valueOf(id));
feedEntryStatusService.markFeedEntries(getUser(),
feedEntryStatusDAO.markFeedEntries(getUser(),
subscription.getFeed(), olderThan);
} else {
throw new WebApplicationException(Response.status(
@@ -153,13 +153,13 @@ public class EntriesREST extends AbstractREST {
} else if (type == Type.category) {
if (read) {
if (ALL.equals(id)) {
feedEntryStatusService.markAllEntries(getUser(), olderThan);
feedEntryStatusDAO.markAllEntries(getUser(), olderThan);
} else {
List<FeedCategory> categories = feedCategoryService
List<FeedCategory> categories = feedCategoryDAO
.findAllChildrenCategories(getUser(),
feedCategoryService.findById(getUser(),
feedCategoryDAO.findById(getUser(),
Long.valueOf(id)));
feedEntryStatusService.markCategoryEntries(getUser(),
feedEntryStatusDAO.markCategoryEntries(getUser(),
categories, olderThan);
}
} else {
@@ -180,8 +180,8 @@ public class EntriesREST extends AbstractREST {
Entries entries = new Entries();
List<Entry> list = Lists.newArrayList();
List<FeedEntryStatus> entriesStatus = feedEntryStatusService
.getStatusesByKeywords(getUser(), keywords, offset, limit, true);
List<FeedEntryStatus> entriesStatus = feedEntryStatusDAO
.findByKeywords(getUser(), keywords, offset, limit, true);
for (FeedEntryStatus status : entriesStatus) {
list.add(buildEntry(status));
}

View File

@@ -19,7 +19,7 @@ public class SessionREST extends AbstractREST {
userModel.setId(user.getId());
userModel.setName(user.getName());
userModel.setEnabled(!user.isDisabled());
for (UserRole role : userRoleService.findAll(user)) {
for (UserRole role : userRoleDAO.findAll(user)) {
if (role.getRole() == Role.ADMIN) {
userModel.setAdmin(true);
}

View File

@@ -19,7 +19,7 @@ public class SettingsREST extends AbstractREST {
@GET
public Settings get() {
Settings s = new Settings();
UserSettings settings = userSettingsService.findByUser(getUser());
UserSettings settings = userSettingsDAO.findByUser(getUser());
if (settings != null) {
s.setReadingMode(settings.getReadingMode().name());
s.setReadingOrder(settings.getReadingOrder().name());
@@ -36,7 +36,7 @@ public class SettingsREST extends AbstractREST {
public Response save(Settings settings) {
Preconditions.checkNotNull(settings);
UserSettings s = userSettingsService.findByUser(getUser());
UserSettings s = userSettingsDAO.findByUser(getUser());
if (s == null) {
s = new UserSettings();
s.setUser(getUser());
@@ -44,7 +44,7 @@ public class SettingsREST extends AbstractREST {
s.setReadingMode(ReadingMode.valueOf(settings.getReadingMode()));
s.setReadingOrder(ReadingOrder.valueOf(settings.getReadingOrder()));
s.setCustomCss(settings.getCustomCss());
userSettingsService.saveOrUpdate(s);
userSettingsDAO.saveOrUpdate(s);
return Response.ok(Status.OK).build();
}

View File

@@ -61,7 +61,7 @@ public class SubscriptionsREST extends AbstractREST {
String url = prependHttp(req.getUrl());
FeedCategory category = EntriesREST.ALL.equals(req.getCategoryId()) ? null
: feedCategoryService
: feedCategoryDAO
.findById(Long.valueOf(req.getCategoryId()));
Feed fetchedFeed = fetchFeed(url);
feedSubscriptionService.subscribe(getUser(), fetchedFeed.getUrl(),
@@ -80,10 +80,10 @@ public class SubscriptionsREST extends AbstractREST {
@GET
@Path("unsubscribe")
public Response unsubscribe(@QueryParam("id") Long subscriptionId) {
FeedSubscription sub = feedSubscriptionService.findById(getUser(),
FeedSubscription sub = feedSubscriptionDAO.findById(getUser(),
subscriptionId);
if (sub != null) {
feedSubscriptionService.delete(sub);
feedSubscriptionDAO.delete(sub);
return Response.ok(Status.OK).build();
} else {
return Response.status(Status.NOT_FOUND).build();
@@ -95,14 +95,14 @@ public class SubscriptionsREST extends AbstractREST {
public Response rename(@QueryParam("type") Type type,
@QueryParam("id") Long id, @QueryParam("name") String name) {
if (type == Type.feed) {
FeedSubscription subscription = feedSubscriptionService.findById(
FeedSubscription subscription = feedSubscriptionDAO.findById(
getUser(), id);
subscription.setTitle(name);
feedSubscriptionService.update(subscription);
feedSubscriptionDAO.update(subscription);
} else if (type == Type.category) {
FeedCategory category = feedCategoryService.findById(getUser(), id);
FeedCategory category = feedCategoryDAO.findById(getUser(), id);
category.setName(name);
feedCategoryService.update(category);
feedCategoryDAO.update(category);
}
return Response.ok(Status.OK).build();
}
@@ -113,10 +113,10 @@ public class SubscriptionsREST extends AbstractREST {
@QueryParam("collapse") boolean collapse) {
Preconditions.checkNotNull(id);
if (!EntriesREST.ALL.equals(id)) {
FeedCategory category = feedCategoryService.findById(getUser(),
FeedCategory category = feedCategoryDAO.findById(getUser(),
Long.valueOf(id));
category.setCollapsed(collapse);
feedCategoryService.update(category);
feedCategoryDAO.update(category);
}
return Response.ok(Status.OK).build();
}
@@ -135,22 +135,22 @@ public class SubscriptionsREST extends AbstractREST {
parent.setId(Long.valueOf(parentId));
cat.setParent(parent);
}
feedCategoryService.save(cat);
feedCategoryDAO.save(cat);
return Response.ok().build();
}
@GET
@Path("deleteCategory")
public Response deleteCategory(@QueryParam("id") Long id) {
FeedCategory cat = feedCategoryService.findById(getUser(), id);
FeedCategory cat = feedCategoryDAO.findById(getUser(), id);
if (cat != null) {
List<FeedSubscription> subs = feedSubscriptionService
List<FeedSubscription> subs = feedSubscriptionDAO
.findByCategory(getUser(), cat);
for (FeedSubscription sub : subs) {
sub.setCategory(null);
}
feedSubscriptionService.update(subs);
feedCategoryService.delete(cat);
feedSubscriptionDAO.update(subs);
feedCategoryDAO.delete(cat);
return Response.ok().build();
} else {
return Response.status(Status.NOT_FOUND).build();
@@ -182,10 +182,10 @@ public class SubscriptionsREST extends AbstractREST {
@GET
public Category getSubscriptions() {
List<FeedCategory> categories = feedCategoryService.findAll(getUser());
List<FeedSubscription> subscriptions = feedSubscriptionService
List<FeedCategory> categories = feedCategoryDAO.findAll(getUser());
List<FeedSubscription> subscriptions = feedSubscriptionDAO
.findAll(getUser());
Map<Long, Long> unreadCount = feedEntryStatusService
Map<Long, Long> unreadCount = feedEntryStatusDAO
.getUnreadCount(getUser());
Category root = buildCategory(null, categories, subscriptions,