Skip to content

Commit

Permalink
Refactoring.
Browse files Browse the repository at this point in the history
  • Loading branch information
Serg-Maximchuk committed Jan 4, 2016
1 parent b004c97 commit 96de79d
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 66 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Properties;

public class AdminDeleteDoc extends HttpServlet {
Expand All @@ -38,9 +38,8 @@ public void doGet(HttpServletRequest req, HttpServletResponse res)
if (!user.isSuperAdmin()) {
AdminIpAccess.printNonAdminError(user, req, res, getClass());
} else {
AdminRoles.sendHtml(req, res, Collections.emptyMap(), HTML_TEMPLATE);
AdminRoles.sendHtml(req, res, new HashMap<>(), HTML_TEMPLATE);
}

}

public void doPost(HttpServletRequest req, HttpServletResponse res)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ public class TemplateAdmin extends HttpServlet {

static String createDeleteTemplateGroupDialog(TemplateMapper templateMapper, ImcmsServices imcref,
UserDomainObject user) {
return imcref.getAdminTemplate(ADMIN_TEMPLATE_DELETE, user, createTempateGroupsList(templateMapper));
return imcref.getAdminTemplate(ADMIN_TEMPLATE_DELETE, user, createTemplateGroupsList(templateMapper));
}

private static List<String> createTempateGroupsList(TemplateMapper templateMapper) {
private static List<String> createTemplateGroupsList(TemplateMapper templateMapper) {
String temps = templateMapper.createHtmlOptionListOfTemplateGroups(null);
List<String> vec = new ArrayList<>();
vec.add("#templategroups#");
Expand All @@ -64,8 +64,7 @@ private static List<String> createShortTemplateDialog(String lang, ImcmsServices
String temps = templateMapper.createHtmlOptionListOfTemplates(templates, null);
vec.add("#templates#");
vec.add(temps);
vec.add("#language#");
vec.add(lang);
vec.addAll(langTag(lang));
return vec;
}

Expand All @@ -83,9 +82,7 @@ static String createChangeAvailabilityTemplateDialog(String lang, ImcmsServices

static List<String> createStandardTemplateDialog(String lang, ImcmsServices imcref, TemplateMapper templateMapper,
UserDomainObject user, LocalizedMessage error) throws IOException {
List<String> vec = new ArrayList<>();
vec.add("#language#");
vec.add(lang);
List<String> vec = langTag(lang);
vec.add("#templates#");
vec.add(templateMapper.createHtmlOptionListOfTemplates(imcref.getTemplateMapper().getAllTemplates(), null));
vec.add("#error#");
Expand All @@ -99,14 +96,13 @@ static String createDeleteTemplateDialog(TemplateMapper templateMapper, UserDoma
String templatesList = templateMapper.createHtmlOptionListOfTemplatesWithDocumentCount(user);
vec.add("#templates#");
vec.add(templatesList);
vec.add("#language#");
vec.add(lang);
vec.addAll(langTag(lang));
return imcref.getAdminTemplate(TEMPLATE_DELETE, user, vec);
}

static String createRenameTemplateGroupDialog(TemplateMapper templateMapper, ImcmsServices imcref,
UserDomainObject user) {
return imcref.getAdminTemplate(TEMPLATE_GROUP_RENAME, user, createTempateGroupsList(templateMapper));
return imcref.getAdminTemplate(TEMPLATE_GROUP_RENAME, user, createTemplateGroupsList(templateMapper));
}

static String createAssignTemplatesToGroupDialog(TemplateMapper templateMapper, TemplateGroupDomainObject currentTemplateGroup, String language,
Expand Down Expand Up @@ -143,8 +139,7 @@ static String createAssignTemplatesToGroupDialog(TemplateMapper templateMapper,
vec.add("#group_id#");
vec.add("" + currentTemplateGroup.getId());
}
vec.add("#language#");
vec.add(language);
vec.addAll(langTag(language));
return imcref.getAdminTemplate(TEMPLATE_ASSIGN, user, vec);
}

Expand All @@ -171,9 +166,7 @@ static String createHtmlOptionListOfDocumentsUsingTemplate(ImcmsServices imcref,
static String createDeleteTemplateInUseWarningDialog(String lang, ImcmsServices imcref,
TemplateDomainObject template, UserDomainObject user,
TemplateMapper templateMapper) throws IOException {
List<String> vec = new ArrayList<>();
vec.add("#language#");
vec.add(lang);
List<String> vec = langTag(lang);
vec.add("#template#");
vec.add(template.getName());
vec.add("#docs#");
Expand Down Expand Up @@ -214,6 +207,13 @@ public Object next() {
return imcref.getAdminTemplate(template, user, vec);
}

private static List<String> langTag(String lang) {
return new ArrayList<String>() {{
add("#language#");
add(lang);
}};
}

public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

ImcmsServices imcref = Imcms.getServices();
Expand Down Expand Up @@ -278,11 +278,9 @@ public void doPost(HttpServletRequest req, HttpServletResponse res) throws Servl
private String createListTemplatesDialog(TemplateMapper templateMapper, UserDomainObject user, String lang,
ImcmsServices imcref) {
String templateList = templateMapper.createHtmlOptionListOfTemplatesWithDocumentCount(user);
List<String> vec = new ArrayList<>();
List<String> vec = langTag(lang);
vec.add("#template_list#");
vec.add(templateList);
vec.add("#language#");
vec.add(lang);
return imcref.getAdminTemplate("template_list.html", user, vec);
}

Expand All @@ -303,24 +301,20 @@ private String createDownloadTemplateDialog(String lang, ImcmsServices imcref,

private String createUploadDemoTemplateDialog(String lang, TemplateMapper templateMapper,
ImcmsServices imcref, UserDomainObject user) throws IOException {
List<String> vec = new ArrayList<>();
List<String> vec = langTag(lang);
List<TemplateDomainObject> templates = templateMapper.getAllTemplates();
String templatesList = templateMapper.createHtmlOptionListOfTemplates(templates, null);
vec.add("#templates#");
vec.add(templatesList);
vec.add("#language#");
vec.add(lang);
return imcref.getAdminTemplate(TEMPLATE_DEMO_UPLOAD, user, vec);
}

private String createUploadTemplateDialog(TemplateMapper templateMapper, String lang, ImcmsServices imcref,
UserDomainObject user) {
List<String> vec = new ArrayList<>();
List<String> vec = langTag(lang);
String temps = templateMapper.createHtmlOptionListOfTemplateGroups(null);
vec.add("#templategroups#");
vec.add(temps);
vec.add("#language#");
vec.add(lang);
return imcref.getAdminTemplate(TEMPLATE_UPLOAD, user, vec);
}
}
2 changes: 1 addition & 1 deletion src/main/java/imcode/util/CachingFileLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ private void cacheFile(File file, String contents) {

public String getCachedFileStringIfRecent(File file) {
Map.Entry<String, Long> fileAndDate = fileCache.get(file);
if (file.lastModified() <= fileAndDate.getValue()) {
if (fileAndDate != null && file.lastModified() <= fileAndDate.getValue()) {
return fileAndDate.getKey();
}
return null;
Expand Down
63 changes: 27 additions & 36 deletions src/main/java/imcode/util/Html.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,65 +33,52 @@ public class Html {
};

private Html() {
}

//todo: remove these many overloaded methods
}

/**
* @deprecated
*/
public static String createOptionList(List allValues, List<String> selectedValues) {
public static String createOptionList(List allValues, List selectedValues) {
StringBuffer htmlStr = new StringBuffer();

Set<String> selectedValuesSet = new HashSet<>(selectedValues);
Set selectedValuesSet = new HashSet(selectedValues);
for (int i = 0; i < allValues.size(); i += 2) {
String value = allValues.get(i).toString();
String name = allValues.get(i + 1).toString();
boolean valueSelected = selectedValuesSet.contains(value);
htmlStr.append(option(value, name, valueSelected));
}
} // end for

return htmlStr.toString();
}

public static <E> String createOptionList(Collection<E> allValues, ToStringPairTransformer transformer) {
return createOptionList(allValues, (List<E>) null, transformer);
public static <T> String createOptionList(Collection<T> allValues, ToStringPairTransformer transformer) {
return createOptionList(allValues, (Collection<T>) null, transformer);
}

public static <E> String createOptionList(Collection<E> allValues, Object selectedValue,
ToStringPairTransformer objectToStringPairTransformer) {
public static String createOptionList(Collection allValues, Object selectedValue,
ToStringPairTransformer objectToStringPairTransformer) {
return createOptionList(allValues, new Object[]{selectedValue}, objectToStringPairTransformer);
}

public static <E> String createOptionList(Collection<E> allValues, Object[] selectedValue,
ToStringPairTransformer objectToStringPairTransformer) {
return createOptionList(allValues, Arrays.asList(selectedValue), objectToStringPairTransformer);
public static String createOptionList(Collection allValues, Object[] selectedValues,
ToStringPairTransformer objectToStringPairTransformer) {
return createOptionList(allValues, Arrays.asList(selectedValues), objectToStringPairTransformer);
}

public static <E> String createOptionList(Collection<E> allValues, Collection<E> selectedValues,
public static <T> String createOptionList(Collection<T> allValues, Collection<T> selectedValues,
ToStringPairTransformer objectToStringPairTransformer) {
Set<E> selectedValuesSet = (null == selectedValues) ? new HashSet<>() : new HashSet<>(selectedValues);
Set<T> selectedValuesSet = null != selectedValues ? new HashSet<>(selectedValues) : new HashSet<>();

return createOptionList(allValues, selectedValuesSet, objectToStringPairTransformer);
}

private static <E> String createOptionList(Collection<E> allValues, Set<E> selectedValues,
ToStringPairTransformer objectToStringPairTransformer) {
StringBuffer htmlStr = new StringBuffer();
for (E valueObject : allValues) {
String[] valueAndNameStringPair = (String[]) objectToStringPairTransformer.transform(valueObject);
String value = valueAndNameStringPair[0];
String name = valueAndNameStringPair[1];
boolean valueSelected = selectedValues.contains(valueObject);
htmlStr.append(option(value, name, valueSelected));
}
return htmlStr.toString();
public static <T> String createOptionList(Collection<T> allValues, Set<T> selectedValues,
ToStringPairTransformer objectToStringPairTransformer) {
return createOptionList(allValues.iterator(), selectedValues, objectToStringPairTransformer);
}

/**
* Deprecated. Use one of another createOptionList() methods
*/
@Deprecated
private static <T> String createOptionList(Iterator<T> iterator, Set<T> selectedValuesSet,
ToStringPairTransformer objectToStringPairTransformer) {
StringBuffer htmlStr = new StringBuffer();
Expand Down Expand Up @@ -119,15 +106,15 @@ public static String createOptionListOfCategoriesOfTypeForDocument(CategoryMappe
DocumentDomainObject document, HttpServletRequest request) {
CategoryDomainObject[] categories = categoryMapper.getAllCategoriesOfType(categoryType);
Arrays.sort(categories);
Set<CategoryDomainObject> documentSelectedCategories = categoryMapper.getCategoriesOfType(categoryType, document.getCategoryIds());
Set<?> documentSelectedCategories = categoryMapper.getCategoriesOfType(categoryType, document.getCategoryIds());

ToStringPairTransformer categoryToStringPairTransformer = new ToStringPairTransformer() {
protected String[] transformToStringPair(Object o) {
CategoryDomainObject category = (CategoryDomainObject) o;
return new String[]{"" + category.getId(), category.getName()};
}
};
String categoryOptionList = createOptionList(Arrays.asList(categories).iterator(), documentSelectedCategories, categoryToStringPairTransformer);
String categoryOptionList = createOptionList(Arrays.asList(categories), documentSelectedCategories, categoryToStringPairTransformer);

if (1 == categoryType.getMaxChoices()) {
categoryOptionList = "<option>- " + (new LocalizedMessage("global/None")).toLocalizedString(request) + " -</option>" + categoryOptionList;
Expand All @@ -147,14 +134,14 @@ public static String createOptionListOfCategoriesOfTypeNotSelectedForDocument(Do
return createOptionListOfCategories(new TreeSet<>(notSelectedCategories), categoryType);
}

public static <T> String createOptionListOfCategories(Collection<T> categories, CategoryTypeDomainObject categoryType) {
public static String createOptionListOfCategories(Collection<?> categories, CategoryTypeDomainObject categoryType) {
ToStringPairTransformer categoryToStringPairTransformer = new ToStringPairTransformer() {
protected String[] transformToStringPair(Object object) {
CategoryDomainObject category = (CategoryDomainObject) object;
return new String[]{"" + category.getId(), category.getName()};
}
};
String categoryOptionList = createOptionList(categories, Collections.emptyList(), categoryToStringPairTransformer);
String categoryOptionList = createOptionList(categories, Arrays.asList(new String[]{}), categoryToStringPairTransformer);

if (1 == categoryType.getMaxChoices()) {
categoryOptionList = "<option></option>" + categoryOptionList;
Expand Down Expand Up @@ -208,8 +195,10 @@ public static String hidden(String name, String value) {
}

public static String radio(String name, String value, boolean selected) {
return "<input type=\"radio\" name=\"" + StringEscapeUtils.escapeHtml4(name) + "\" value=\""
+ StringEscapeUtils.escapeHtml4(value) + "\"" + (selected ? " checked" : "") + ">";
return
"<input type=\"radio\" name=\"" + StringEscapeUtils.escapeHtml4(name) + "\" value=\""
+ StringEscapeUtils.escapeHtml4(value) + "\"" + (selected ? " checked" : "") + ">";

}

/**
Expand All @@ -231,7 +220,8 @@ public static String getAdminButtons(UserDomainObject user, DocumentDomainObject
}

public static String removeTags(String html) {
return new Perl5Util().substitute("s!<.+?>!!g", html);
Perl5Util perl5util = new Perl5Util();
return perl5util.substitute("s!<.+?>!!g", html);
}

public static String createUsersOptionList(ImcmsServices imcref) {
Expand All @@ -243,4 +233,5 @@ public String[] transformToStringPair(Object input) {
}
});
}

}
4 changes: 2 additions & 2 deletions src/main/web/imcms/lang/jsp/search_documents_form.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,8 @@
<td>&nbsp;</td>
<td colspan="3" align="right">
<input type="submit" name="<%= SearchDocumentsPage.REQUEST_PARAMETER__SEARCH_BUTTON %>"
value="<? global/Search ?>" class="imcmsFormBtn" style="width:100">
<input type="reset" name="reset_btn" value="<? global/Reset ?>" class="imcmsFormBtn" style="width:100">
value="<? global/Search ?>" class="imcmsFormBtn" style="width:100px">
<input type="reset" name="reset_btn" value="<? global/Reset ?>" class="imcmsFormBtn" style="width:100px">
</td>
</tr>
</table>

0 comments on commit 96de79d

Please sign in to comment.