NIHVIVO-564 Change datatype of Script and Stylesheet collections from List to LinkedHashSet, to prevent duplication while retaining ordering.

This commit is contained in:
rjy7 2010-07-28 15:16:14 +00:00
parent 3317419fcf
commit f4b6f3e941
6 changed files with 22 additions and 24 deletions

View file

@ -32,8 +32,8 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route;
import edu.cornell.mannlib.vitro.webapp.utils.StringUtils;
import edu.cornell.mannlib.vitro.webapp.web.BreadCrumbsUtil;
import edu.cornell.mannlib.vitro.webapp.web.PortalWebUtil;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.filelist.ScriptList;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.filelist.StylesheetList;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.files.Scripts;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.files.Stylesheets;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.menu.TabMenu;
import freemarker.cache.ClassTemplateLoader;
import freemarker.cache.FileTemplateLoader;
@ -259,7 +259,7 @@ public class FreemarkerHttpServlet extends VitroHttpServlet {
BeansWrapper wrapper = new DefaultObjectWrapper();
try {
// Here themeDir SHOULD NOT have the context path already added to it.
return wrapper.wrap(new StylesheetList(themeDir));
return wrapper.wrap(new Stylesheets(themeDir));
} catch (TemplateModelException e) {
log.error("Error creating stylesheet TemplateModel");
return null;
@ -273,7 +273,7 @@ public class FreemarkerHttpServlet extends VitroHttpServlet {
// add stylesheets and scripts to the lists by calling their add() methods.
BeansWrapper wrapper = new DefaultObjectWrapper();
try {
return wrapper.wrap(new ScriptList(themeDir));
return wrapper.wrap(new Scripts(themeDir));
} catch (TemplateModelException e) {
log.error("Error creating script TemplateModel");
return null;

View file

@ -8,7 +8,7 @@ import java.util.HashMap;
import java.util.Map;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHelper;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.filelist.StylesheetList;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.files.Stylesheets;
import freemarker.core.Environment;
import freemarker.template.Configuration;
import freemarker.template.SimpleDate;

View file

@ -1,28 +1,26 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.filelist;
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.files;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.LinkedHashSet;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.BaseTemplateModel;
public abstract class FileList extends BaseTemplateModel {
public abstract class Files extends BaseTemplateModel {
protected List<String> list = null;
protected LinkedHashSet<String> list = null;
private String themeDir = null;
public FileList() {
this.list = new ArrayList<String>();
public Files() {
this.list = new LinkedHashSet<String>();
}
public FileList(String themeDir) {
public Files(String themeDir) {
this();
this.themeDir = themeDir;
}
public FileList(List<String> list) {
public Files(LinkedHashSet<String> list) {
this.list = list;
}

View file

@ -1,14 +1,14 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.filelist;
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.files;
public class ScriptList extends FileList {
public class Scripts extends Files {
protected static final String THEME_SUBDIR = "/js";
public ScriptList() { }
public Scripts() { }
public ScriptList(String themeDir) {
public Scripts(String themeDir) {
super(themeDir);
}

View file

@ -1,14 +1,14 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.filelist;
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.files;
public class StylesheetList extends FileList {
public class Stylesheets extends Files {
protected static final String THEME_SUBDIR = "/css";
public StylesheetList() { }
public Stylesheets() { }
public StylesheetList(String themeDir) {
public Stylesheets(String themeDir) {
super(themeDir);
}