Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/IVoteUsrAttemptDAO.java =================================================================== diff -u -ra209f8ccd31fae9a3d1ecce40c02ad0ebb6a3190 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/IVoteUsrAttemptDAO.java (.../IVoteUsrAttemptDAO.java) (revision a209f8ccd31fae9a3d1ecce40c02ad0ebb6a3190) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/IVoteUsrAttemptDAO.java (.../IVoteUsrAttemptDAO.java) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -53,6 +53,8 @@ public Set getSessionUserEntries(final Long voteSessionUid); + public List getUserEnteredVotesForSession(final String userEntry, final Long voteSessionUid); + public VoteUsrAttempt getAttemptByUID(Long uid); public int getCompletedSessionEntriesCount(final Long voteSessionUid); Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/hibernate/VoteUsrAttemptDAO.java =================================================================== diff -u -r757371b55a625e9180b72983c88391f15673cba4 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/hibernate/VoteUsrAttemptDAO.java (.../VoteUsrAttemptDAO.java) (revision 757371b55a625e9180b72983c88391f15673cba4) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/hibernate/VoteUsrAttemptDAO.java (.../VoteUsrAttemptDAO.java) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -432,7 +432,31 @@ .list(); return list; } - + + public List getUserEnteredVotesForSession(final String userEntry, final Long voteSessionUid) + { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(LOAD_USER_ENTRY_RECORDS) + .setString("userEntry", userEntry) + .list(); + + + List sessionUserEntries= new ArrayList(); + if(list != null && list.size() > 0){ + Iterator listIterator=list.iterator(); + while (listIterator.hasNext()) + { + VoteUsrAttempt attempt=(VoteUsrAttempt)listIterator.next(); + logger.debug("attempt: " + attempt); + if (attempt.getVoteQueUsr().getVoteSession().getUid().toString().equals(voteSessionUid.toString())) + { + sessionUserEntries.add(attempt.getUserEntry()); + } + } + } + return sessionUserEntries; + } + public int getAllEntriesCount() { HibernateTemplate templ = this.getHibernateTemplate(); @@ -465,8 +489,6 @@ } - - public int getCompletedSessionEntriesCount(final Long voteSessionUid) { HibernateTemplate templ = this.getHibernateTemplate(); Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java =================================================================== diff -u -ra209f8ccd31fae9a3d1ecce40c02ad0ebb6a3190 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java (.../IVoteService.java) (revision a209f8ccd31fae9a3d1ecce40c02ad0ebb6a3190) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/IVoteService.java (.../IVoteService.java) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -65,6 +65,8 @@ public void createVoteQueUsr(VoteQueUsr voteQueUsr) throws VoteApplicationException; + public List getUserEnteredVotesForSession(final String userEntry, final Long voteSessionUid); + public VoteQueUsr getVoteUserBySession(final Long queUsrId, final Long voteSessionId) throws VoteApplicationException; public VoteQueUsr retrieveVoteQueUsr(Long userId) throws VoteApplicationException; Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java =================================================================== diff -u -ra209f8ccd31fae9a3d1ecce40c02ad0ebb6a3190 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java (.../VoteServicePOJO.java) (revision a209f8ccd31fae9a3d1ecce40c02ad0ebb6a3190) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java (.../VoteServicePOJO.java) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -723,7 +723,22 @@ } + public List getUserEnteredVotesForSession(final String userEntry, final Long voteSessionUid) + { + try + { + return voteUsrAttemptDAO.getUserEnteredVotesForSession(userEntry, voteSessionUid); + } + catch (DataAccessException e) + { + throw new VoteApplicationException("Exception occured when lams is getting user entered votes for session: " + + e.getMessage(), + e); + } + + } + public List getAttemptForQueContent(final Long queUsrId, final Long voteQueContentId) throws VoteApplicationException { try Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java =================================================================== diff -u -r55e015221d64f87ca024dd967925bd763dceafd0 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java (.../ExportServlet.java) (revision 55e015221d64f87ca024dd967925bd763dceafd0) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/ExportServlet.java (.../ExportServlet.java) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -98,6 +98,7 @@ VoteContent content=voteSession.getVoteContent(); logger.debug("content: " + content); + logger.debug("content id: " + content.getVoteContentId()); if (content == null) { @@ -109,6 +110,9 @@ logger.debug("calling learning mode toolSessionID:" + toolSessionID + " userID: " + userID ); VoteMonitoringAction voteMonitoringAction= new VoteMonitoringAction(); voteMonitoringAction.refreshSummaryData(request, content, voteService, true, true, toolSessionID.toString(), userID.toString() , true); + + MonitoringUtil.prepareChartDataForExport(request, voteService, null, content.getVoteContentId(), voteSession.getUid()); + logger.debug("post prepareChartDataForExport"); logger.debug("ending learner mode: "); } @@ -143,6 +147,10 @@ logger.debug("starting refreshSummaryData."); voteMonitoringAction.refreshSummaryData(request, content, voteService, true, false, null, null, false); + //MonitoringUtil.prepareChartDataForExport(request, voteService, null, content.getVoteContentId(), voteSession.getUid()); + logger.debug("post prepareChartDataForExport"); + + logger.debug("ending teacher mode: "); } } Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -661,10 +661,6 @@ userEntries=voteService.getSessionUserEntries(toolSessionUid); logger.debug("sessionUserCount: " + userEntries.size()); - // this was replaced by voteService.getVoteSessionPotentialLearnersCount(toolSessionUid) - //distinctSessionUsers=voteService.getVoteUserBySessionUid(toolSessionUid); - //logger.debug("distinctSessionUsers: " + distinctSessionUsers); - int completedSessionUserCount=voteService.getCompletedVoteUserBySessionUid(toolSessionUid); logger.debug("completedSessionUserCount: " + completedSessionUserCount); @@ -789,4 +785,179 @@ request.getSession().setAttribute(MAP_STANDARD_USER_COUNT, mapStandardUserCount); logger.debug("test2: MAP_STANDARD_USER_COUNT: " + request.getSession().getAttribute(MAP_STANDARD_USER_COUNT)); } + + + public static void prepareChartDataForExport(HttpServletRequest request, IVoteService voteService, VoteMonitoringForm voteMonitoringForm, Long toolContentId, Long toolSessionUid) + { + logger.debug("starting prepareChartDataForExport, toolContentId: " + toolContentId); + logger.debug("starting prepareChartDataForExport, toolSessionUid: " + toolSessionUid); + VoteContent voteContent=voteService.retrieveVote(toolContentId); + logger.debug("starting prepareChartData, voteContent uid: " + voteContent.getUid()); + + logger.debug("starting prepareChartDataForExport, voteMonitoringForm: " + voteMonitoringForm); + + logger.debug("existing voteContent:" + voteContent); + Map mapOptionsContent= new TreeMap(new VoteComparator()); + logger.debug("mapOptionsContent: " + mapOptionsContent); + + Map mapVoteRatesContent= new TreeMap(new VoteComparator()); + logger.debug("mapVoteRatesContent: " + mapVoteRatesContent); + + List distinctSessionUsers=new ArrayList(); + boolean sessionLevelCharting=true; + int entriesCount=0; + Set userEntries=null; + + if (toolSessionUid != null) + { + logger.debug("process for session: " + toolSessionUid); + entriesCount=voteService.getSessionEntriesCount(toolSessionUid); + logger.debug("entriesCount: " + entriesCount); + userEntries=voteService.getSessionUserEntries(toolSessionUid); + logger.debug("sessionUserCount: " + userEntries.size()); + + int completedSessionUserCount=voteService.getCompletedVoteUserBySessionUid(toolSessionUid); + logger.debug("completedSessionUserCount: " + completedSessionUserCount); + + int completedEntriesCount=voteService.getCompletedSessionEntriesCount(toolSessionUid); + logger.debug("completedEntriesCount: " + completedEntriesCount); + + int potentialUserCount=voteService.getVoteSessionPotentialLearnersCount(toolSessionUid); + logger.debug("potentialUserCount: " + potentialUserCount); + + + //request.getSession().setAttribute("sessionUserCount", Integer.toString(potentialUserCount)); + ///request.getSession().setAttribute("completedSessionUserCount", new Integer(completedSessionUserCount).toString()); + + if (potentialUserCount != 0) + { + double completedPercent=(completedSessionUserCount * 100) / potentialUserCount; + logger.debug("completed percent: " + completedPercent); + //request.getSession().setAttribute("completedSessionUserPercent", new Double(completedPercent).toString()); + } + else + { + //request.getSession().setAttribute("completedSessionUserPercent", "Not Available"); + } + + } + + logger.debug("entriesCount: " + entriesCount); + logger.debug("userEntries: " + userEntries); + logger.debug("sessionLevelCharting: " + sessionLevelCharting); + + + Map mapStandardUserCount= new TreeMap(new VoteComparator()); + + logger.debug("setting existing content data from the db"); + mapOptionsContent.clear(); + Iterator queIterator=voteContent.getVoteQueContents().iterator(); + Long mapIndex=new Long(1); + logger.debug("mapOptionsContent: " + mapOptionsContent); + int totalStandardVotesCount=0; + + logger.debug("using entriesCount: " + entriesCount); + + while (queIterator.hasNext()) + { + VoteQueContent voteQueContent=(VoteQueContent) queIterator.next(); + if (voteQueContent != null) + { + logger.debug("question: " + voteQueContent.getQuestion()); + mapOptionsContent.put(mapIndex.toString(),voteQueContent.getQuestion()); + + int votesCount=0; + if (sessionLevelCharting == true) + { + logger.debug("getting votesCount based on session: " + toolSessionUid); + votesCount=voteService.getStandardAttemptsForQuestionContentAndSessionUid(voteQueContent.getUid(), toolSessionUid); + logger.debug("votesCount for questionContent uid: " + votesCount + " for" + voteQueContent.getUid()); + mapStandardUserCount.put(mapIndex.toString(),new Integer(votesCount).toString()); + totalStandardVotesCount=totalStandardVotesCount + votesCount; + } + else + { + logger.debug("getting votesCount based on content: " + voteQueContent.getUid()); + votesCount=voteService.getAttemptsForQuestionContent(voteQueContent.getUid()); + logger.debug("votesCount for questionContent uid: " + votesCount + " for" + voteQueContent.getUid()); + } + + double voteRate=0d; + if (entriesCount != 0) + { + voteRate=((votesCount * 100)/ entriesCount); + } + + logger.debug("voteRate" + voteRate); + + mapVoteRatesContent.put(mapIndex.toString(), new Double(voteRate).toString()); + mapIndex=new Long(mapIndex.longValue()+1); + } + } + logger.debug("test1: Map initialized with existing contentid to: " + mapOptionsContent); + Map mapStandardNominationsContent= new TreeMap(new VoteComparator()); + mapStandardNominationsContent=mapOptionsContent; + logger.debug("mapStandardNominationsContent: " + mapStandardNominationsContent); + + Map mapStandardRatesContent= new TreeMap(new VoteComparator()); + mapStandardRatesContent=mapVoteRatesContent; + logger.debug("test1: mapStandardRatesContent: " + mapStandardRatesContent); + logger.debug("test1: mapStandardUserCount: " + mapStandardUserCount); + + Iterator itListQuestions = userEntries.iterator(); + int mapVoteRatesSize=mapVoteRatesContent.size(); + logger.debug("mapVoteRatesSize: " + mapVoteRatesSize); + mapIndex=new Long(mapVoteRatesSize+1); + logger.debug("updated mapIndex: " + mapIndex); + + double total=MonitoringUtil.calculateTotal(mapVoteRatesContent); + logger.debug("updated mapIndex: " + mapIndex); + double share=100d-total ; + logger.debug("share: " + share); + + logger.debug("totalStandardVotesCount: " + totalStandardVotesCount); + int userEnteredVotesCount=entriesCount - totalStandardVotesCount; + logger.debug("userEnteredVotesCount for this session: " + userEnteredVotesCount); + + logger.debug("start processing userEntries: " + userEntries); + itListQuestions = userEntries.iterator(); + while (itListQuestions.hasNext()) + { + String userEntry =(String)itListQuestions.next(); + logger.debug("userEntry:..." + userEntry); + logger.debug("mapIndex: " + mapIndex); + + if ((userEntry != null) && (userEntry.length() > 0)) + { + int userEntryRate=0; + if (sessionLevelCharting == true) + { + logger.debug("getting userEntryRate based on session: " + toolSessionUid); + List voteEntries=voteService.getUserEnteredVotesForSession(userEntry, toolSessionUid); + logger.debug("voteEntries: " + voteEntries); + int individualUserEnteredVoteCount=voteEntries.size(); + logger.debug("individualUserEnteredVoteCount: " + individualUserEnteredVoteCount); + + double votesShare=(individualUserEnteredVoteCount * share) / userEnteredVotesCount; + logger.debug("votesShare: " + votesShare); + + mapStandardNominationsContent.put(mapIndex.toString(), userEntry); + mapStandardRatesContent.put(mapIndex.toString(), new Double(votesShare).toString()); + mapStandardUserCount.put(mapIndex.toString(), new Integer(individualUserEnteredVoteCount).toString()); + mapIndex=new Long(mapIndex.longValue()+1); + } + } + } + + request.getSession().setAttribute(MAP_STANDARD_NOMINATIONS_CONTENT, mapStandardNominationsContent); + logger.debug("test2: MAP_STANDARD_NOMINATIONS_CONTENT: " + request.getSession().getAttribute(MAP_STANDARD_NOMINATIONS_CONTENT)); + + request.getSession().setAttribute(MAP_STANDARD_RATES_CONTENT, mapStandardRatesContent); + logger.debug("test2: MAP_STANDARD_RATES_CONTENT: " + request.getSession().getAttribute(MAP_STANDARD_RATES_CONTENT)); + + request.getSession().setAttribute(MAP_STANDARD_USER_COUNT, mapStandardUserCount); + logger.debug("test2: MAP_STANDARD_USER_COUNT: " + request.getSession().getAttribute(MAP_STANDARD_USER_COUNT)); + } + + } Index: lams_tool_vote/web/export/ExportContent.jsp =================================================================== diff -u --- lams_tool_vote/web/export/ExportContent.jsp (revision 0) +++ lams_tool_vote/web/export/ExportContent.jsp (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -0,0 +1,179 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA + + http://www.gnu.org/licenses/gpl.txt +--%> + + +<%@ taglib uri="tags-bean" prefix="bean"%> +<%@ taglib uri="tags-html" prefix="html"%> +<%@ taglib uri="tags-logic" prefix="logic" %> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="fck-editor" prefix="FCK" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +  ( ) + + +
+
+ chart 1 +
+ chart2 +
  

  
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  
: + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
  
: + +
+ + + + + + + + + + + +
+
+
+ Index: lams_tool_vote/web/export/exportportfolio.jsp =================================================================== diff -u -r55e015221d64f87ca024dd967925bd763dceafd0 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision 55e015221d64f87ca024dd967925bd763dceafd0) +++ lams_tool_vote/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -32,10 +32,12 @@ - + + <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> + - + <bean:message key="label.title.export"/> @@ -54,15 +56,32 @@ - - + + - + + + + + +
+ +
+
+ + + + + +
+ + + Index: lams_tool_vote/web/learning/AllNominations.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/learning/AllNominations.jsp (.../AllNominations.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/learning/AllNominations.jsp (.../AllNominations.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -32,6 +32,7 @@ + Index: lams_tool_vote/web/learning/AnswersContent.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -32,6 +32,7 @@ + Index: lams_tool_vote/web/learning/ExitLearning.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/learning/ExitLearning.jsp (.../ExitLearning.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/learning/ExitLearning.jsp (.../ExitLearning.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -12,6 +12,7 @@ + Index: lams_tool_vote/web/learning/IndividualLearnerResults.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/learning/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/learning/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -12,6 +12,7 @@ + Index: lams_tool_vote/web/learning/Preview.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/learning/Preview.jsp (.../Preview.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/learning/Preview.jsp (.../Preview.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -33,6 +33,7 @@ + Index: lams_tool_vote/web/learning/learningHeader.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/learning/learningHeader.jsp (.../learningHeader.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/learning/learningHeader.jsp (.../learningHeader.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -33,10 +33,8 @@ <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> - <bean:message key="label.learning"/> - Index: lams_tool_vote/web/monitoring/SummaryStatsCommon.jsp =================================================================== diff -u -r34394364c9017ea473d58b5b8d0ee3819fc83828 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/monitoring/SummaryStatsCommon.jsp (.../SummaryStatsCommon.jsp) (revision 34394364c9017ea473d58b5b8d0ee3819fc83828) +++ lams_tool_vote/web/monitoring/SummaryStatsCommon.jsp (.../SummaryStatsCommon.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -175,52 +175,44 @@ - - - - - - - - + + + - - + + + + + + + - - - - - - - - - - -
- +
+ + + + + + + + + + + - - - - - - - - - - - - - - -
- - -
+ + + + + + + + + + Index: lams_tool_vote/web/monitoring/UserResponses.jsp =================================================================== diff -u -re8bdd364f7372b39f60efbd8cdbb114e7955e9a2 -rca438ee67636fd831f44725bdb36bb7ff5108ebf --- lams_tool_vote/web/monitoring/UserResponses.jsp (.../UserResponses.jsp) (revision e8bdd364f7372b39f60efbd8cdbb114e7955e9a2) +++ lams_tool_vote/web/monitoring/UserResponses.jsp (.../UserResponses.jsp) (revision ca438ee67636fd831f44725bdb36bb7ff5108ebf) @@ -34,7 +34,6 @@ -