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.34 -r1.35 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java 6 May 2008 04:51:54 -0000 1.34 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java 23 May 2008 07:59:12 -0000 1.35 @@ -98,4 +98,6 @@ public static final String ATTR_REFLECT_LIST = "reflectList"; public static final String ATTR_USER_UID = "userUid"; + public static final String DEFUALT_PROTOCOL_REFIX = "http://"; + public static final String ALLOW_PROTOCOL_REFIX = new String("[http://|https://|ftp://|nntp://]"); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/Summary.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/Attic/Summary.java,v diff -u -r1.9 -r1.10 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/Summary.java 19 May 2008 05:52:14 -0000 1.9 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/Summary.java 23 May 2008 07:59:12 -0000 1.10 @@ -25,6 +25,7 @@ package org.lamsfoundation.lams.tool.rsrc.dto; import org.lamsfoundation.lams.tool.rsrc.model.ResourceItem; +import org.lamsfoundation.lams.tool.rsrc.util.ResourceWebUtils; /** * List contains following element:
@@ -83,7 +84,7 @@ this.itemHide = item.isHide(); this.itemTitle = item.getTitle(); this.username = item.getCreateBy() == null?"":item.getCreateBy().getLoginName(); - this.url = item.getUrl(); + this.url = ResourceWebUtils.protocol(item.getUrl()); this.fileName = item.getFileName(); this.fileUuid = item.getFileUuid(); this.fileVersionId = item.getFileVersionId(); @@ -108,7 +109,7 @@ this.itemHide = item.isHide(); this.itemTitle = item.getTitle(); this.username = item.getCreateBy() == null?"":item.getCreateBy().getLoginName(); - this.url = item.getUrl(); + this.url = ResourceWebUtils.protocol(item.getUrl()); this.fileName = item.getFileName(); this.fileUuid = item.getFileUuid(); this.fileVersionId = item.getFileVersionId(); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/util/ResourceWebUtils.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/util/ResourceWebUtils.java,v diff -u -r1.3 -r1.4 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/util/ResourceWebUtils.java 9 Oct 2007 03:37:11 -0000 1.3 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/util/ResourceWebUtils.java 23 May 2008 07:59:11 -0000 1.4 @@ -21,21 +21,34 @@ * **************************************************************** */ -/* $$Id$$ */ +/* $$Id$$ */ package org.lamsfoundation.lams.tool.rsrc.util; -import org.lamsfoundation.lams.tool.rsrc.model.Resource; -import org.lamsfoundation.lams.tool.rsrc.web.action.MonitoringAction; +import org.lamsfoundation.lams.tool.rsrc.ResourceConstants; - - /** * Contains helper methods used by the Action Servlets * * @author Anthony Sukkar - * + * */ public class ResourceWebUtils { -// We leave this blank for future use + /** + * If there is not url prefix, such as http://, https:// or ftp:// etc, this + * method will add default url protocol. + * + * @param url + * @return + */ + public static String protocol(String url) { + if (url == null) + return ""; + + if (!url.matches("^" + ResourceConstants.ALLOW_PROTOCOL_REFIX + ".*")) + url = ResourceConstants.DEFUALT_PROTOCOL_REFIX + url; + + return url; + } + } 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.16 -r1.17 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ViewItemAction.java 21 May 2008 07:10:20 -0000 1.16 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ViewItemAction.java 23 May 2008 07:59:12 -0000 1.17 @@ -53,6 +53,7 @@ import org.lamsfoundation.lams.tool.rsrc.model.ResourceItemInstruction; import org.lamsfoundation.lams.tool.rsrc.service.IResourceService; import org.lamsfoundation.lams.tool.rsrc.util.ResourceItemComparator; +import org.lamsfoundation.lams.tool.rsrc.util.ResourceWebUtils; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; @@ -64,8 +65,6 @@ public class ViewItemAction extends Action { private static final Logger log = Logger.getLogger(ViewItemAction.class); - private static final String DEFUALT_PROTOCOL_REFIX = "http://"; - private static final String ALLOW_PROTOCOL_REFIX = new String("[http://|https://|ftp://|nntp://]"); public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { @@ -245,13 +244,13 @@ if(item.isOpenUrlNewWindow() || wikipediaInURL) { try { - url = "/openUrlPopup.do?popupUrl=" + URLEncoder.encode(protocol(item.getUrl()), "UTF8") + "&title=" + url = "/openUrlPopup.do?popupUrl=" + URLEncoder.encode(ResourceWebUtils.protocol(item.getUrl()), "UTF8") + "&title=" + URLEncoder.encode(item.getTitle(), "UTF8"); } catch (UnsupportedEncodingException e) { log.error(e); } }else - url = protocol(item.getUrl()); + url = ResourceWebUtils.protocol(item.getUrl()); break; case ResourceConstants.RESOURCE_TYPE_FILE: url = "/download/?uuid="+item.getFileUuid()+"&preferDownload=false"; @@ -265,22 +264,6 @@ } return url; } - /** - * If there is not url prefix, such as http://, https:// or ftp:// etc, this - * method will add default url protocol. - * - * @param url - * @return - */ - private String protocol(String url) { - if(url == null) - return ""; - - if(!url.matches("^" + ALLOW_PROTOCOL_REFIX + ".*")) - url = DEFUALT_PROTOCOL_REFIX + url; - - return url; - } /** * List save current resource items.