Index: lams_build/3rdParty.userlibraries =================================================================== RCS file: /usr/local/cvsroot/lams_build/3rdParty.userlibraries,v diff -u -r1.44 -r1.44.2.1 --- lams_build/3rdParty.userlibraries 20 Jul 2009 13:40:13 -0000 1.44 +++ lams_build/3rdParty.userlibraries 17 Aug 2009 04:39:16 -0000 1.44.2.1 @@ -97,6 +97,7 @@ + Index: lams_build/build.xml =================================================================== RCS file: /usr/local/cvsroot/lams_build/build.xml,v diff -u -r1.83 -r1.83.2.1 --- lams_build/build.xml 2 Jul 2009 08:18:32 -0000 1.83 +++ lams_build/build.xml 17 Aug 2009 04:39:16 -0000 1.83.2.1 @@ -138,6 +138,7 @@ + Index: lams_build/lib/lams/lams-central.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams-central.jar,v diff -u -r1.62 -r1.62.8.1 Binary files differ Index: lams_build/lib/oauth/signpost-core-1.1-SNAPSHOT.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/oauth/Attic/signpost-core-1.1-SNAPSHOT.jar,v diff -u -r1.1 -r1.1.2.1 Binary files differ Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/oauth/FireEagleOAuthPOJO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/oauth/GoogleDoc.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/oauth/GoogleOAuthPOJO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/oauth/OAuthNoTokenException.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/oauth/OAuthPOJO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/oauth/OAuthService.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/util/XMLReaders.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java,v diff -u -r1.50 -r1.50.2.1 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 19 Jun 2009 10:54:17 -0000 1.50 +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 17 Aug 2009 04:39:16 -0000 1.50.2.1 @@ -76,6 +76,7 @@ * @struts.action-forward name="passwordChanged" path=".passwordChangeOk" * @struts.action-forward name="portrait" path="/portrait.do" * @struts.action-forward name="lessons" path="/profile.do?method=lessons" + * @struts.action-forward name="applications" path="/oauth.do?method=applications" */ public class IndexAction extends Action { @@ -140,6 +141,8 @@ request.setAttribute("comLoginUrl", comLoginUrl); request.setAttribute("tab", tab); return mapping.findForward("community"); + } else if (StringUtils.equals(tab, "applications")) { + return mapping.findForward("applications"); } if (request.isUserInRole(Role.SYSADMIN)) { Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/OAuthAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/web/applications.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/web/profile.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/profile.jsp,v diff -u -r1.19 -r1.19.12.1 --- lams_central/web/profile.jsp 28 Nov 2007 01:30:22 -0000 1.19 +++ lams_central/web/profile.jsp 17 Aug 2009 04:39:17 -0000 1.19.12.1 @@ -50,6 +50,10 @@
  • + +
  • Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/commonContext.xml,v diff -u -r1.84 -r1.84.2.1 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 11 Aug 2009 03:23:46 -0000 1.84 +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 17 Aug 2009 04:39:19 -0000 1.84.2.1 @@ -502,6 +502,11 @@ + + + + + Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java,v diff -u -r1.38 -r1.38.2.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java 2 Aug 2009 20:14:54 -0000 1.38 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java 17 Aug 2009 04:39:18 -0000 1.38.2.1 @@ -40,6 +40,8 @@ public static final short RESOURCE_TYPE_WEBSITE = 3; public static final short RESOURCE_TYPE_LEARNING_OBJECT = 4; + + public static final short RESOURCE_TYPE_GOOGLE_DOC = 5; // for action forward name public static final String SUCCESS = "success"; Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java,v diff -u -r1.26 -r1.26.12.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java 10 Oct 2008 00:37:16 -0000 1.26 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java 17 Aug 2009 04:39:19 -0000 1.26.12.1 @@ -23,6 +23,8 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool.rsrc.service; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; import java.util.Set; @@ -32,6 +34,7 @@ import org.lamsfoundation.lams.contentrepository.IVersionedNode; import org.lamsfoundation.lams.events.IEventNotificationService; import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.oauth.GoogleOAuthPOJO; import org.lamsfoundation.lams.tool.rsrc.dto.ReflectDTO; import org.lamsfoundation.lams.tool.rsrc.dto.Summary; import org.lamsfoundation.lams.tool.rsrc.model.Resource; @@ -101,7 +104,7 @@ * @param file * @throws UploadResourceFileException */ - void uploadResourceItemFile(ResourceItem item, FormFile file) throws UploadResourceFileException; + void uploadResourceItemFile(ResourceItem item, InputStream is, String fileName, String fileType) throws UploadResourceFileException; // ********** for user methods ************* /** @@ -307,4 +310,6 @@ * @return list of teachers that monitor the lesson which contains the tool with given session ID */ public List getMonitorsByToolSessionId(Long sessionId); + + public GoogleOAuthPOJO getGoogleDocPOJO(String login) throws UnsupportedEncodingException; } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java,v diff -u -r1.63 -r1.63.2.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java 2 Aug 2009 20:14:54 -0000 1.63 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java 17 Aug 2009 04:39:19 -0000 1.63.2.1 @@ -28,6 +28,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.io.UnsupportedEncodingException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; @@ -68,6 +69,7 @@ import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; +import org.lamsfoundation.lams.oauth.GoogleOAuthPOJO; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; import org.lamsfoundation.lams.tool.ToolOutput; @@ -687,23 +689,41 @@ */ private NodeKey processFile(FormFile file, String fileType) throws UploadResourceFileException { NodeKey node = null; - if (file != null && !StringUtils.isEmpty(file.getFileName())) { - String fileName = file.getFileName(); + String fileName = file.getFileName(); + if (file != null && !StringUtils.isEmpty(fileName)) { try { - node = resourceToolContentHandler.uploadFile(file.getInputStream(), fileName, file.getContentType(), - fileType); - } catch (InvalidParameterException e) { - throw new UploadResourceFileException(messageService.getMessage("error.msg.invaid.param.upload")); + node = processInputStream(file.getInputStream(), fileName, file.getContentType(), fileType); } catch (FileNotFoundException e) { throw new UploadResourceFileException(messageService.getMessage("error.msg.file.not.found")); - } catch (RepositoryCheckedException e) { - throw new UploadResourceFileException(messageService.getMessage("error.msg.repository")); } catch (IOException e) { throw new UploadResourceFileException(messageService.getMessage("error.msg.io.exception")); } } return node; } + + /** + * Process an uploaded file. + * + * @throws ResourceApplicationException + * @throws FileNotFoundException + * @throws IOException + * @throws RepositoryCheckedException + * @throws InvalidParameterException + */ + private NodeKey processInputStream(InputStream is, String fileName, String contentType, String fileType) throws UploadResourceFileException { + NodeKey node = null; + if (is != null && StringUtils.isNotBlank(fileName)) { + try { + node = resourceToolContentHandler.uploadFile(is, fileName, contentType, fileType); + } catch (InvalidParameterException e) { + throw new UploadResourceFileException(messageService.getMessage("error.msg.invaid.param.upload")); + } catch (RepositoryCheckedException e) { + throw new UploadResourceFileException(messageService.getMessage("error.msg.repository")); + } + } + return node; + } private NodeKey processPackage(String packageDirectory, String initFile) throws UploadResourceFileException { NodeKey node = null; @@ -717,14 +737,17 @@ return node; } - public void uploadResourceItemFile(ResourceItem item, FormFile file) throws UploadResourceFileException { + public void uploadResourceItemFile(ResourceItem item, InputStream is, String fileName, String fileType) throws UploadResourceFileException { try { - InputStream is = file.getInputStream(); - String fileName = file.getFileName(); - String fileType = file.getContentType(); + // google doc + if (item.getType() == ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC) { + NodeKey nodeKey = processInputStream(is, fileName, fileType, IToolContentHandler.TYPE_ONLINE); + item.setFileUuid(nodeKey.getUuid()); + item.setFileVersionId(nodeKey.getVersion()); + } // For file only upload one sigle file if (item.getType() == ResourceConstants.RESOURCE_TYPE_FILE) { - NodeKey nodeKey = processFile(file, IToolContentHandler.TYPE_ONLINE); + NodeKey nodeKey = processInputStream(is, fileName, fileType, IToolContentHandler.TYPE_ONLINE); item.setFileUuid(nodeKey.getUuid()); item.setFileVersionId(nodeKey.getVersion()); } @@ -762,12 +785,6 @@ ResourceServiceImpl.log.error(messageService.getMessage("error.msg.zip.file.exception") + " : " + e.toString()); throw new UploadResourceFileException(messageService.getMessage("error.msg.zip.file.exception")); - } catch (FileNotFoundException e) { - ResourceServiceImpl.log.error(messageService.getMessage("error.msg.file.not.found") + ":" + e.toString()); - throw new UploadResourceFileException(messageService.getMessage("error.msg.file.not.found")); - } catch (IOException e) { - ResourceServiceImpl.log.error(messageService.getMessage("error.msg.io.exception") + ":" + e.toString()); - throw new UploadResourceFileException(messageService.getMessage("error.msg.io.exception")); } catch (IMSManifestException e) { ResourceServiceImpl.log.error(messageService.getMessage("error.msg.ims.package") + ":" + e.toString()); throw new UploadResourceFileException(messageService.getMessage("error.msg.ims.package")); @@ -1254,6 +1271,18 @@ toolContentObj.setReflectOnActivity(Boolean.TRUE); toolContentObj.setReflectInstructions(description); } + + public GoogleOAuthPOJO getGoogleDocPOJO(String login) throws UnsupportedEncodingException { + GoogleOAuthPOJO googlePojo = null; + if (StringUtils.isNotBlank(login)) { + User user = userManagementService.getUserByLogin(login); + if (StringUtils.isNotBlank(user.getAddressLine3()) && StringUtils.isNotBlank(user.getCity())) { + googlePojo = new GoogleOAuthPOJO(GoogleOAuthPOJO.docScope); + googlePojo.consumer.setTokenWithSecret(user.getAddressLine3(), user.getCity()); + } + } + return googlePojo; + } /* =================================================================================== */ Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java,v diff -u -r1.53 -r1.53.2.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java 14 Apr 2009 05:33:37 -0000 1.53 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java 17 Aug 2009 04:39:18 -0000 1.53.2.1 @@ -24,9 +24,11 @@ package org.lamsfoundation.lams.tool.rsrc.web.action; import java.io.IOException; +import java.io.InputStream; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import java.net.URLEncoder; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; @@ -46,7 +48,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import javax.xml.parsers.ParserConfigurationException; +import oauth.signpost.exception.OAuthCommunicationException; +import oauth.signpost.exception.OAuthExpectationFailedException; +import oauth.signpost.exception.OAuthMessageSignerException; + import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; @@ -61,6 +68,9 @@ import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.authoring.web.AuthoringConstants; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.oauth.GoogleOAuthPOJO; +import org.lamsfoundation.lams.oauth.OAuthNoTokenException; +import org.lamsfoundation.lams.oauth.OAuthService; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.rsrc.ResourceConstants; import org.lamsfoundation.lams.tool.rsrc.model.Resource; @@ -78,11 +88,13 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.FileValidatorUtil; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.util.XMLReaders; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; +import org.xml.sax.SAXException; /** * @author Steve.Ni @@ -254,6 +266,9 @@ populateItemToForm(itemIdx, item, (ResourceItemForm) form, request); } } + if (item.getType() == ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC) { + addGoogleDocList(request); + } return findForward(item == null ? -1 : item.getType(), mapping); } @@ -277,6 +292,10 @@ instructionList.add(""); } request.setAttribute("instructionList", instructionList); + + if (type == ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC) { + addGoogleDocList(request); + } return findForward(type, mapping); } @@ -291,13 +310,14 @@ * @param request * @param response * @return + * @throws IOException * @throws ServletException */ private ActionForward saveOrUpdateItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { + HttpServletResponse response) throws IOException { // get instructions: List instructionList = getInstructionsFromRequest(request); - + ResourceItemForm itemForm = (ResourceItemForm) form; ActionErrors errors = validateResourceItem(itemForm); @@ -823,6 +843,12 @@ .getServletContext()); return (IResourceService) wac.getBean(ResourceConstants.RESOURCE_SERVICE); } + + private OAuthService getOAuthService() { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet() + .getServletContext()); + return (OAuthService) wac.getBean("oauthService"); + } /** * @param request @@ -971,12 +997,44 @@ case ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT: forward = mapping.findForward("learningobject"); break; + case ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC: + forward = mapping.findForward("googledoc"); + break; default: forward = null; break; } return forward; } + + private void addGoogleDocList(HttpServletRequest request) { + try { + String resource = getOAuthService().getOAuthResource(request, GoogleOAuthPOJO.docListResource, + OAuthService.GOOGLE); + request.setAttribute("googledocs", XMLReaders.getGoogleDocList(resource)); + } catch (OAuthExpectationFailedException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } catch (OAuthMessageSignerException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } catch (IOException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } catch (OAuthCommunicationException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } catch (OAuthNoTokenException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } catch (ParserConfigurationException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } catch (SAXException e) { + request.setAttribute("oauth_error", e.getMessage()); + e.printStackTrace(); + } + } /** * This method will populate resource item information to its form for edit use. @@ -1058,10 +1116,11 @@ */ // if the item is edit (not new add) then the getFile may return null // it may throw exception, so put it as first, to avoid other invlidate update: - if (itemForm.getFile() != null) { + if (itemForm.getFile() != null || StringUtils.isNotBlank(request.getParameter("docUrl"))) { if (type == ResourceConstants.RESOURCE_TYPE_WEBSITE || type == ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT - || type == ResourceConstants.RESOURCE_TYPE_FILE) { + || type == ResourceConstants.RESOURCE_TYPE_FILE + || type == ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC) { // if it has old file, and upload a new, then save old to deleteList ResourceItem delAttItem = new ResourceItem(); boolean hasOld = false; @@ -1074,7 +1133,17 @@ } IResourceService service = getResourceService(); try { - service.uploadResourceItemFile(item, itemForm.getFile()); + if (type == ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC) { + String url = request.getParameter("docUrl"); + String title = request.getParameter("docTitle"); + log.debug("got docUrl=" + url); + log.debug("got title=" + title); + InputStream is = getOAuthService().getOAuthResourceAsInputStream(request, url, OAuthService.GOOGLE); + service.uploadResourceItemFile(item, is, URLEncoder.encode(title, "utf-8") + ".html", "text/html"); + } else { + FormFile formFile = itemForm.getFile(); + service.uploadResourceItemFile(item, formFile.getInputStream(), formFile.getFileName(), formFile.getContentType()); + } } catch (UploadResourceFileException e) { // if it is new add , then remove it! if (itemIdx == -1) { @@ -1288,7 +1357,8 @@ service.deleteFromRepository(resourceItem.getFileUuid(), resourceItem .getFileVersionId()); } - service.uploadResourceItemFile(resourceItem, file); + //service.uploadResourceItemFile(resourceItem, file); + service.uploadResourceItemFile(resourceItem, file.getInputStream(), file.getFileName(), file.getContentType()); } catch (Exception e) { AuthoringAction.log.error(e); ActionMessage error = new ActionMessage("error.msg.io.exception"); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java,v diff -u -r1.35 -r1.35.10.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 13 Feb 2009 05:56:15 -0000 1.35 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 17 Aug 2009 04:39:18 -0000 1.35.10.1 @@ -24,6 +24,7 @@ /* $Id$ */ package org.lamsfoundation.lams.tool.rsrc.web.action; +import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Timestamp; import java.util.ArrayList; @@ -48,6 +49,7 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.events.DeliveryMethodMail; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; @@ -356,11 +358,18 @@ // special attribute for URL or FILE if (type == ResourceConstants.RESOURCE_TYPE_FILE) { try { - service.uploadResourceItemFile(item, itemForm.getFile()); + FormFile file = itemForm.getFile(); + service.uploadResourceItemFile(item, file.getInputStream(), file.getFileName(), file.getContentType()); } catch (UploadResourceFileException e) { LearningAction.log.error("Failed upload Resource File " + e.toString()); return mapping.findForward(ResourceConstants.ERROR); - } + } catch (FileNotFoundException e) { + LearningAction.log.error("Failed upload Resource File " + e.toString()); + return mapping.findForward(ResourceConstants.ERROR); + } catch (IOException e) { + LearningAction.log.error("Failed upload Resource File " + e.toString()); + return mapping.findForward(ResourceConstants.ERROR); + } } else if (type == ResourceConstants.RESOURCE_TYPE_URL) { item.setUrl(itemForm.getUrl()); item.setOpenUrlNewWindow(itemForm.isOpenUrlNewWindow()); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ViewItemAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ViewItemAction.java,v diff -u -r1.19 -r1.19.2.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ViewItemAction.java 2 Jul 2009 08:19:25 -0000 1.19 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ViewItemAction.java 17 Aug 2009 04:39:18 -0000 1.19.2.1 @@ -25,8 +25,6 @@ package org.lamsfoundation.lams.tool.rsrc.web.action; import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -273,6 +271,9 @@ case ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT: url = "/pages/learningobj/mainframe.jsp?sessionMapID="+sessionMapID; break; + case ResourceConstants.RESOURCE_TYPE_GOOGLE_DOC: + url = "/download/?uuid="+item.getFileUuid()+"&preferDownload=false"; + break; } return url; } Index: lams_tool_larsrc/web/pages/authoring/basic.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/authoring/basic.jsp,v diff -u -r1.24 -r1.24.14.1 --- lams_tool_larsrc/web/pages/authoring/basic.jsp 3 Nov 2006 04:56:53 -0000 1.24 +++ lams_tool_larsrc/web/pages/authoring/basic.jsp 17 Aug 2009 04:39:18 -0000 1.24.14.1 @@ -114,8 +114,10 @@ ');" class="space-left"> + ');" class="space-left"> + -

    Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_larsrc/web/pages/authoring/parts/addgoogledoc.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp,v diff -u -r1.15 -r1.15.14.1 --- lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp 9 Nov 2006 05:45:58 -0000 1.15 +++ lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp 17 Aug 2009 04:39:18 -0000 1.15.14.1 @@ -19,7 +19,7 @@ - <%-- Resource Type:1=URL,2=File,3=Website,4=Learning Object --%> + <%-- Resource Type:1=URL,2=File,3=Website,4=Learning Object,5=GoogleDoc --%> + + + + : + ${resource.title} + + + + + + " + onclick="editItem(${status.index},'${sessionMapID}')" /> + + + + " + onclick="deleteItem(${status.index},'${sessionMapID}')" /> + +