Author: unibrew Date: 2006-05-10 19:37:21 -0400 (Wed, 10 May 2006) New Revision: 4192 Modified: labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersEntity.java labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersServiceBean.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Counter.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersService.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersWatcher.java Log: [JBLAB-665] Further working on counters' ejbs Modified: labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersEntity.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersEntity.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersEntity.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -43,16 +43,14 @@ private String order; private String projectId; private boolean visible; - - public CountersEntity(String path) + + public CountersEntity (String path, long initValue, String projectId, boolean visible, String order) { - this(path,0L); - } - - public CountersEntity (String path, long initValue) - { this.path = path; this.counterValue=initValue; + this.projectId = projectId; + this.visible = visible; + this.order = order; } @Id Modified: labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersServiceBean.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersServiceBean.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/counters-ejb3/src/java/org/jboss/forge/counters/CountersServiceBean.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -48,12 +48,6 @@ @PersistenceContext (unitName="counters") protected EntityManager em; - public void createCounterWithPath(String path) - { - CountersEntity ce = new CountersEntity(path); - em.persist(ce); - } - public Map<String,Counter> getCountersMap() { List<CountersEntity> countersRows = em.createQuery("from CountersEntity e").getResultList(); @@ -70,8 +64,34 @@ } public void updateCounters(Map<String,Counter> downloadCounters) - { - List<CountersEntity> countersRows = em.createQuery("from CountersEntity e").getResultList(); + { + + synchronized (downloadCounters) { + for (String path : downloadCounters.keySet()) + { + Counter counter = downloadCounters.get(path); + CountersEntity ce = em.find(CountersEntity.class,path); + if (ce==null) + { + ce = new CountersEntity(path,counter.getValue(),counter.getProjectId(),counter.getVisible(),counter.getSorting().name()); + em.persist(ce); + } else { + ce.setCounterValue(counter.getValue()); + ce.setVisible(counter.getVisible()); + ce.setOrder(counter.getSorting().name()); + ce.setProjectId(counter.getProjectId()); + } + } + List<String> pathsFromDB = em.createQuery("select path from CountersEntity e").getResultList(); + for (String path : pathsFromDB) + { + if (!downloadCounters.containsKey(path)) + { + em.remove(em.find(CountersEntity.class,path)); + } + } + + } } public void incrementCounter (String path) Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Counter.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Counter.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Counter.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -71,7 +71,7 @@ /** * This method increments the value of the counter. */ - void increment () { + public void increment () { value++; } @@ -80,7 +80,7 @@ * * @return Project id name for this counter. */ - String getProjectId() { + public String getProjectId() { return projectId; } @@ -88,7 +88,7 @@ * Method returns current value of the counter. * @return Current value of the counter. */ - long getValue() { + public long getValue() { return value; } @@ -105,7 +105,7 @@ * Method sets visibility of the counter. * @param visible */ - void setVisible(Boolean visible) { + public void setVisible(Boolean visible) { this.visible = visible; } Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersService.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersService.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersService.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -36,8 +36,6 @@ @Local public interface CountersService { - - public void createCounterWithPath(String path); public Map<String,Counter> getCountersMap(); Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -52,7 +52,6 @@ public DownloadCountersDB(String portalName, ContentManager cm) { super(); - System.out.println("HALO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1"); this.setContentManager(cm); try { @@ -61,11 +60,12 @@ (CountersService) ctx.lookup(CountersService.class.getName()); downloadCounters = countersService.getCountersMap(); + // SOD for (String path : downloadCounters.keySet()) { - System.out.println("Path: "+path+" Value: "+downloadCounters.get(path)); + System.out.println("SOD 1 Path: "+path+" Value: "+downloadCounters.get(path)); } - + // Getting Map containing pairs of ProjectId and shotoku Node // which refers to projects' download counter descriptor. Map<String, org.jboss.shotoku.Node> descriptors = @@ -75,9 +75,11 @@ // projects download counter descriptors. synchronizeCounters(descriptors); + + // SOD for (String path : downloadCounters.keySet()) { - System.out.println("Path: "+path+" Value: "+downloadCounters.get(path)); + System.out.println("SOD 2 Path: "+path+" Value: "+downloadCounters.get(path)); } } @@ -96,6 +98,13 @@ */ public void synchronizeWithFile(String portalName) { + + // SOD + for (String path : downloadCounters.keySet()) + { + System.out.println("SOD 4 Path: "+path+" Value: "+downloadCounters.get(path)); + } + try { CountersService countersService = Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -245,6 +245,12 @@ removeLinksForProjects (projects); } + // SOD + //for (String path : downloadCounters.keySet()) + //{ + // System.out.println("SOD 3 Path: "+path+" Value: "+downloadCounters.get(path)); + // } + // Iterating through projects nodes containing download counter descriptors. for (String projectId:counters.keySet()){ try { @@ -284,6 +290,12 @@ } + // SOD + // for (String path : downloadCounters.keySet()) + // { + // System.out.println("SOD 5 Path: "+path+" Value: "+downloadCounters.get(path)); + // } + // Changing status to false becouse downloadCounters Map // is now synchronized with projects' download counter descriptors. changeStatus=false; @@ -297,10 +309,23 @@ * List<String> of links which should be removed. */ private synchronized void removeLinksFromCounting (List<String> linksToDelete) { + + // SOD + for (String path : downloadCounters.keySet()) + { + System.out.println("SOD 6 Path: "+path+" Value: "+downloadCounters.get(path)); + } + // Removing links which shouldn't be tracked any more. for (String link:linksToDelete) { downloadCounters.remove(link); } + + // SOD + for (String path : downloadCounters.keySet()) + { + System.out.println("SOD 7 Path: "+path+" Value: "+downloadCounters.get(path)); + } } /** @@ -342,6 +367,13 @@ } private synchronized void removeLinksForProjects (Set<String> projects) { + + // SOD + for (String path : downloadCounters.keySet()) + { + System.out.println("SOD 8 Path: "+path+" Value: "+downloadCounters.get(path)); + } + Set<String> countersLinks = downloadCounters.keySet(); List<String> linksForRemoval = new LinkedList<String>(); for (String link: countersLinks) { @@ -350,6 +382,12 @@ } } downloadCounters.keySet().removeAll(linksForRemoval); + + // SOD + for (String path : downloadCounters.keySet()) + { + System.out.println("SOD 9 Path: "+path+" Value: "+downloadCounters.get(path)); + } } private synchronized Set<String> getTrackedProjects () { Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersWatcher.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersWatcher.java 2006-05-10 21:00:36 UTC (rev 4191) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersWatcher.java 2006-05-10 23:37:21 UTC (rev 4192) @@ -53,7 +53,6 @@ */ public DownloadCountersWatcher (ContentManager contentManager) { this.contentManager = contentManager; - //System.out.println("WATCHER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } @@ -68,10 +67,7 @@ * @param portalName * @return DownloadCountersDescriptor object. */ - private Object getDescriptor (String portalName) { - - //System.out.println("GETDESCRIPTOR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - + private Object getDescriptor (String portalName) { DownloadCountersDescriptor descriptor = new DownloadCountersDescriptor(portalName, contentManager); rw = new ResourceWatcher(contentManager); @@ -93,7 +89,6 @@ * If the object is changed the method returns new object if not returns null. */ public Object nodeUpdate(String portalName, Object currentValue) { - //System.out.println("NODE UPDATE!!!!!!!!!!!!!!"); if (currentValue==null || rw.checkResources() || !checkForNewResources((DownloadCountersDescriptor)currentValue,portalName)) { return getDescriptor(portalName); |