Index: lams_tool_larsrc/conf/language/ApplicationResources.properties =================================================================== diff -u -r6b786496dac3e368e8a686373ac4e3cdee391c47 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 6b786496dac3e368e8a686373ac4e3cdee391c47) +++ lams_tool_larsrc/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -103,7 +103,8 @@ label.learning.title=Shared Resource Learning label.learning.heading=Shared Resources label.resoruce.to.review=Resources to view -label.learning.minmum.review=You must view at least {0} of the resources. +label.learning.minimum.review=You must view at least {0} of the resources. +lable.learning.minimum.view.number.less=You at least view other {0} of the resources. label.check.for.new=Check for new label.suggest.new=Suggest a new label.learning.new.file=New file details: Index: lams_tool_larsrc/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r6b786496dac3e368e8a686373ac4e3cdee391c47 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 6b786496dac3e368e8a686373ac4e3cdee391c47) +++ lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -142,6 +142,21 @@ parameter="start" > + + + + + + + + + Index: lams_tool_larsrc/db/sql/tool_insert.sql =================================================================== diff -u -r754e5e666cf510aff7f8f25527987cee00319ee2 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 754e5e666cf510aff7f8f25527987cee00319ee2) +++ lams_tool_larsrc/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -41,9 +41,9 @@ 0, 2, 1, -'tool/larsrc11/learning/viewResource.do?mode=learner', -'tool/larsrc11/learning/viewResource.do?mode=author', -'tool/larsrc11/learning/viewResource.do?mode=teacher', +'tool/larsrc11/learning/start.do?mode=learner', +'tool/larsrc11/learning/start.do?mode=author', +'tool/larsrc11/learning/start.do?mode=teacher', 'tool/larsrc11/authoring/start.do', 'tool/larsrc11/monitoring.do', 'tool/larsrc11/defineLater.do', Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java =================================================================== diff -u -rf623eebadfbc3c47bda69461ebcd98de16c3401c -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java (.../ResourceConstants.java) (revision f623eebadfbc3c47bda69461ebcd98de16c3401c) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java (.../ResourceConstants.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -45,6 +45,7 @@ public static final String PARAM_FILE_VERSION_ID = "fileVersionId"; public static final String PARAM_FILE_UUID = "fileUuid"; public static final String PARAM_ITEM_INDEX = "itemIndex"; + public static final String PARAM_RESOURCE_ITEM_UID = "itemUid"; //for request attribute name public static final String ATTR_TOOL_CONTENT_ID = "toolContentID"; Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemDAO.java =================================================================== diff -u -r754e5e666cf510aff7f8f25527987cee00319ee2 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemDAO.java (.../ResourceItemDAO.java) (revision 754e5e666cf510aff7f8f25527987cee00319ee2) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemDAO.java (.../ResourceItemDAO.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -25,6 +25,8 @@ import java.util.List; +import org.lamsfoundation.lams.tool.rsrc.model.ResourceItem; + public interface ResourceItemDAO extends DAO { /** @@ -34,4 +36,6 @@ */ List getAuthoringItems(Long resourceUid); + ResourceItem getByUid(Long resourceItemUid); + } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemVisitDAO.java =================================================================== diff -u --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemVisitDAO.java (revision 0) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemVisitDAO.java (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -0,0 +1,33 @@ +/**************************************************************** + * 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 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 + * **************************************************************** + */ +/* $$Id$$ */ +package org.lamsfoundation.lams.tool.rsrc.dao; + +import org.lamsfoundation.lams.tool.rsrc.model.ResourceItemVisitLog; + +public interface ResourceItemVisitDAO extends DAO { + + public ResourceItemVisitLog getResourceItemLog(Long userUid,Long itemUid); + + public int getUserViewLogCount(Long userUid); +} Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceUserDAO.java =================================================================== diff -u -r57a8fd80863308a6aae133850dbe2de4acd15abf -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceUserDAO.java (.../ResourceUserDAO.java) (revision 57a8fd80863308a6aae133850dbe2de4acd15abf) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceUserDAO.java (.../ResourceUserDAO.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -27,6 +27,6 @@ public interface ResourceUserDAO extends DAO { - ResourceUser getUserByUserID(Class name, Long userUid); + ResourceUser getUserByUserID( Long userUid); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemDAOHibernate.java =================================================================== diff -u -r754e5e666cf510aff7f8f25527987cee00319ee2 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemDAOHibernate.java (.../ResourceItemDAOHibernate.java) (revision 754e5e666cf510aff7f8f25527987cee00319ee2) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemDAOHibernate.java (.../ResourceItemDAOHibernate.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -37,4 +37,8 @@ return this.getHibernateTemplate().find(FIND_AUTHORING_ITEMS,resourceUid); } + public ResourceItem getByUid(Long resourceItemUid) { + return (ResourceItem) this.getObject(ResourceItem.class,resourceItemUid); + } + } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java =================================================================== diff -u --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java (revision 0) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -0,0 +1,51 @@ +/**************************************************************** + * 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 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 + * **************************************************************** + */ +/* $$Id$$ */ +package org.lamsfoundation.lams.tool.rsrc.dao.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.tool.rsrc.dao.ResourceItemVisitDAO; +import org.lamsfoundation.lams.tool.rsrc.model.ResourceItemVisitLog; + +public class ResourceItemVisitDAOHibernate extends BaseDAOHibernate implements ResourceItemVisitDAO{ + + private static final String FIND_BY_ITEM_AND_USER = "from " + ResourceItemVisitLog.class.getName() + " where user.uid = ? and resourceItem.uid=?"; + private static final String FIND_VIEW_COUNT_BY_USER = "select count(*) from " + ResourceItemVisitLog.class.getName() + + " where user.uid = ?"; + + public ResourceItemVisitLog getResourceItemLog(Long userUid,Long itemUid){ + List list = getHibernateTemplate().find(FIND_BY_ITEM_AND_USER,new Object[]{userUid,itemUid}); + if(list == null || list.size() ==0) + return null; + return (ResourceItemVisitLog) list.get(0); + } + + public int getUserViewLogCount(Long userUid) { + List list = getHibernateTemplate().find(FIND_VIEW_COUNT_BY_USER,new Object[]{userUid}); + if(list == null || list.size() ==0) + return 0; + return ((Integer) list.get(0)).intValue(); + } + +} Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceUserDAOHibernate.java =================================================================== diff -u -r57a8fd80863308a6aae133850dbe2de4acd15abf -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceUserDAOHibernate.java (.../ResourceUserDAOHibernate.java) (revision 57a8fd80863308a6aae133850dbe2de4acd15abf) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceUserDAOHibernate.java (.../ResourceUserDAOHibernate.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -32,7 +32,7 @@ public class ResourceUserDAOHibernate extends BaseDAOHibernate implements ResourceUserDAO{ private static final String FIND_BY_USER_ID = "from " + ResourceUser.class.getName() + " as u where u.userId =?"; - public ResourceUser getUserByUserID(Class name, Long userUid) { + public ResourceUser getUserByUserID(Long userUid) { List list = this.getHibernateTemplate().find(FIND_BY_USER_ID,userUid); if(list == null || list.size() == 0) return null; Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/Resource.java =================================================================== diff -u -r6b786496dac3e368e8a686373ac4e3cdee391c47 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/Resource.java (.../Resource.java) (revision 6b786496dac3e368e8a686373ac4e3cdee391c47) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/Resource.java (.../Resource.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -105,6 +105,23 @@ try{ resource = (Resource) super.clone(); resource.setUid(null); + if(resourceItems != null){ + Iterator iter = resourceItems.iterator(); + Set set = new HashSet(); + while(iter.hasNext()){ + ResourceItem item = (ResourceItem)iter.next(); + ResourceItem newItem = (ResourceItem) item.clone(); +// if toolContentHandle is null, just clone old file without duplicate it in repository + if(toolContentHandler != null){ + //duplicate file node in repository + NodeKey keys = toolContentHandler.copyFile(item.getFileUuid()); + newItem.setFileUuid(keys.getUuid()); + newItem.setFileVersionId(keys.getVersion()); + } + set.add(newItem); + } + resource.resourceItems = set; + } //clone attachment if(attachments != null){ Iterator iter = attachments.iterator(); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItem.java =================================================================== diff -u -r80c80183c1497f0ba84e9ab1fa78a2fbb369ef65 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItem.java (.../ResourceItem.java) (revision 80c80183c1497f0ba84e9ab1fa78a2fbb369ef65) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItem.java (.../ResourceItem.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -24,17 +24,23 @@ package org.lamsfoundation.lams.tool.rsrc.model; import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; import java.util.Set; +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.contentrepository.NodeKey; + /** * Resource * @author Dapeng Ni * * @hibernate.class table="tl_larsrc11_resource_item" * */ -public class ResourceItem { - +public class ResourceItem implements Cloneable{ + private static final Logger log = Logger.getLogger(ResourceItem.class); + private Long uid; //Resource Type:1=URL,2=File,3=Website,4=Learning Object private short type; @@ -67,6 +73,32 @@ private Date createDate; private ResourceUser createBy; + //*********************************************** + //DTO fields: + private boolean complete; + + public Object clone(){ + ResourceItem obj = null; + try { + obj = (ResourceItem) super.clone(); +// clone attachment + if(itemInstructions != null){ + Iterator iter = itemInstructions.iterator(); + Set set = new HashSet(); + while(iter.hasNext()){ + ResourceItemInstruction instruct = (ResourceItemInstruction)iter.next(); + ResourceItemInstruction newInsruct = (ResourceItemInstruction) instruct.clone(); + set.add(newInsruct); + } + obj.itemInstructions = set; + } + ((ResourceItem)obj).setUid(null); + } catch (CloneNotSupportedException e) { + log.error("When clone " + ResourceItem.class + " failed"); + } + + return obj; + } // ********************************************************** // Get/Set methods // ********************************************************** @@ -256,4 +288,11 @@ public void setFileName(String name) { this.fileName = name; } + + public void setComplete(boolean complete) { + this.complete=complete; + } + public boolean isComplete() { + return complete; + } } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItemInstruction.java =================================================================== diff -u -r57a8fd80863308a6aae133850dbe2de4acd15abf -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItemInstruction.java (.../ResourceItemInstruction.java) (revision 57a8fd80863308a6aae133850dbe2de4acd15abf) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItemInstruction.java (.../ResourceItemInstruction.java) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -24,19 +24,32 @@ package org.lamsfoundation.lams.tool.rsrc.model; import java.util.Set; + +import org.apache.log4j.Logger; /** * @hibernate.class table="tl_larsrc11_item_instruction" * @author Steve.Ni * * @version $Revision$ */ -public class ResourceItemInstruction { - +public class ResourceItemInstruction implements Cloneable{ + private static final Logger log = Logger.getLogger(ResourceItemInstruction.class); + private Long uid; private int sequenceId; private String description; - + public Object clone(){ + Object obj = null; + try { + obj = super.clone(); + ((ResourceItemInstruction)obj).setUid(null); + } catch (CloneNotSupportedException e) { + log.error("When clone " + ResourceItemInstruction.class + " failed"); + } + + return obj; + } // ********************************************************** // Get/Set methods // ********************************************************** Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItemVisitLog.hbm.xml =================================================================== diff -u -r6b786496dac3e368e8a686373ac4e3cdee391c47 -r27653cd039c7a5c282fed7bb692473179a4d89ec --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItemVisitLog.hbm.xml (.../ResourceItemVisitLog.hbm.xml) (revision 6b786496dac3e368e8a686373ac4e3cdee391c47) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItemVisitLog.hbm.xml (.../ResourceItemVisitLog.hbm.xml) (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -53,6 +53,14 @@ column="user_uid" /> + + @@ -32,6 +44,7 @@ + <%@ include file="/common/messages.jsp"%> - - + + + Index: lams_tool_larsrc/web/pages/learning/success.jsp =================================================================== diff -u --- lams_tool_larsrc/web/pages/learning/success.jsp (revision 0) +++ lams_tool_larsrc/web/pages/learning/success.jsp (revision 27653cd039c7a5c282fed7bb692473179a4d89ec) @@ -0,0 +1,19 @@ +<%@ include file="/common/taglibs.jsp"%> + + + <%@ include file="/common/header.jsp"%> + + + +
+ + Add URL success, click here to return. + + + Add File success, click here to return. + +
+ + \ No newline at end of file
@@ -41,22 +54,30 @@ - +
${item.title} - - + + + + + + +
- + + +