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"%>