|
From: Michael K. <ko...@us...> - 2006-11-13 10:04:49
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/message In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv14445 Modified Files: ChannelEmail.java MessageManager.java MessageManagerImpl.java MessagePresenter.java Log Message: Index: MessagePresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/message/MessagePresenter.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- MessagePresenter.java 23 Feb 2004 08:20:59 -0000 1.3 +++ MessagePresenter.java 13 Nov 2006 10:04:46 -0000 1.4 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003 Cobricks Group. All rights reserved. + * Copyright (c) 2003-2006 Cobricks Group. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted under the terms of the Cobricks Software @@ -65,8 +65,47 @@ return result; } -} - + /** + * + */ + public void updateSubscriptions(int userid, String sdomain, + String saction, String scondition, + String channelname, String templatename) + { + logger.debug("updateSubscriptions"); + try { + deleteSubscriptions(userid, sdomain, saction, scondition); + // create new one + messageManager.createSubscription(userid, sdomain, saction, + -1, -1, -1, "*", + scondition, channelname, + templatename); + } catch (Throwable e) { + logger.error(LogUtil.ex("failed", e)); + } + } + public void deleteSubscriptions(int userid, String sdomain, + String saction, String scondition) + { + logger.debug("deleteSubscriptions"); + try { + List l = messageManager.getSubscriptions(userid, sdomain, + saction, scondition); + if (l!=null && l.size()>0) { + // delete old subscriptions + Iterator i = l.iterator(); + while (i.hasNext()) { + Subscription subscr = (Subscription)i.next(); + logger.error("delete subscription "+subscr.getId()); + messageManager.deleteSubscription(subscr.getId(), null); + } + } + } catch (Throwable e) { + logger.error(LogUtil.ex("failed", e)); + } + } + +} Index: MessageManager.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/message/MessageManager.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- MessageManager.java 16 Feb 2006 15:21:08 -0000 1.7 +++ MessageManager.java 13 Nov 2006 10:04:46 -0000 1.8 @@ -44,6 +44,8 @@ public void removeNewsletterMessages(int userid, String nlname); public List getSubscriptions(int userid); + public List getSubscriptions(int userid, String sdomain, String saction, + String scondition); public Set getSubscriptions(String domain, String action, int userid, int objectid, int objecttype, String sourcecomponentid); @@ -52,6 +54,10 @@ String sourcecompid, String scondition, String channelname, String templatename, User caller); + public int createSubscription(int userid, String sdomain, String saction, + int senderid, int objectid, int objecttype, + String sourcecompid, String scondition, + String channelname, String templatename); public void deleteSubscription(int subscrid, User caller); } Index: MessageManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/message/MessageManagerImpl.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- MessageManagerImpl.java 8 May 2006 07:47:59 -0000 1.10 +++ MessageManagerImpl.java 13 Nov 2006 10:04:46 -0000 1.11 @@ -406,6 +406,34 @@ return result; } + public List getSubscriptions(int userid, String sdomain, String saction, + String scondition) + { + List result = new ArrayList(); + String sql = "select subscrid, userid, sdomain, saction, senderid, " + +"objectid, objecttype, sourcecompid, templatename, channelname, " + +"scondition from msg_subscriptions where userid = " + +Integer.toString(userid); + if ((sdomain != null) && (sdomain.length()>0)) { + sql = sql +" and sdomain = '"+sdomain+"'"; + } + if ((saction != null) && (saction.length()>0)) { + sql = sql +" and saction = '"+saction+"'"; + } + if ((scondition != null) && (scondition.length()>0)) { + sql = sql +" and scondition = '"+scondition+"'"; + } + sql = sql +" order by sdomain, saction"; + List sqlresult = dbAccess.sqlQuery(sql); + Iterator i = sqlresult.iterator(); + while (i.hasNext()) { + Map map = (Map)i.next(); + Subscription subscr = new Subscription(map); + result.add(subscr); + } + return result; + } + /** * Return the subscriptions that match the given component @@ -475,6 +503,17 @@ public int createSubscription(int userid, String sdomain, String saction, int senderid, int objectid, int objecttype, String sourcecompid, String scondition, + String channelname, String templatename) + { + return createSubscription(userid, sdomain, saction, + senderid, objectid, objecttype, + sourcecompid, scondition, channelname, + templatename, null); + } + + public int createSubscription(int userid, String sdomain, String saction, + int senderid, int objectid, int objecttype, + String sourcecompid, String scondition, String channelname, String templatename, User caller) { Index: ChannelEmail.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/message/ChannelEmail.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ChannelEmail.java 16 Feb 2006 15:21:08 -0000 1.5 +++ ChannelEmail.java 13 Nov 2006 10:04:46 -0000 1.6 @@ -87,14 +87,14 @@ User user = userManager.getUser(recipientId); if (user == null) return false; - String emailto = user.getAttributeAsString(User.EMAIL); + String emailto = user.getEmail(); // from address String emailfrom = this.fromemail; int fromUserid = message.getSenderId(); if (fromUserid > 0) { User fromUser = userManager.getUser(fromUserid); - String tmps = fromUser.getAttributeAsString(User.EMAIL); + String tmps = fromUser.getEmail(); if (tmps!=null && tmps.trim().length()>0) emailfrom = tmps; } |