- Sortierung der Publikationen der Abteilungen korrigiert

- Doppeltes Element aus XML-Output entfernt


git-svn-id: https://svn.libreccm.org/ccm/trunk@964 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-06-17 07:00:49 +00:00
parent abe446f128
commit 29de3391f4
2 changed files with 16 additions and 16 deletions

View File

@ -147,9 +147,6 @@ public class PublicationXmlHelper {
"yearOfPublication"); "yearOfPublication");
yearElem.setText(publication.getYearOfPublication().toString()); yearElem.setText(publication.getYearOfPublication().toString());
} }
generateXmlElement(publicationElem,
"yearOfPublication",
publication.getYearOfPublication());
generateXmlElement(publicationElem, "misc", publication.getMisc()); generateXmlElement(publicationElem, "misc", publication.getMisc());
generateXmlElement(parent, "abstract", publication.getAbstract()); generateXmlElement(parent, "abstract", publication.getAbstract());
generateAuthorsXml(publicationElem); generateAuthorsXml(publicationElem);

View File

@ -42,6 +42,7 @@ import com.arsdigita.persistence.SessionManager;
import com.arsdigita.xml.Element; import com.arsdigita.xml.Element;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList; import java.util.LinkedList;
@ -67,7 +68,7 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel {
private static final String AUTHORS = "authors"; private static final String AUTHORS = "authors";
private static final String YEAR_OF_PUBLICATION = "yearOfPublication"; private static final String YEAR_OF_PUBLICATION = "yearOfPublication";
private static final String YEAR_ASC = "yearAsc"; private static final String YEAR_ASC = "yearAsc";
private static final String YEAR_DESC = "yearAsc"; private static final String YEAR_DESC = "yearDesc";
private String show; private String show;
private boolean displayPublications = true; private boolean displayPublications = true;
private boolean displayWorkingPapers = true; private boolean displayWorkingPapers = true;
@ -90,15 +91,17 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel {
"com.arsdigita.cms.contenttypes.getAllYearsOfPublication"); "com.arsdigita.cms.contenttypes.getAllYearsOfPublication");
yearFilter.setDataQuery(query, "yearOfPublication"); yearFilter.setDataQuery(query, "yearOfPublication");
filters.put(YEAR_OF_PUBLICATION, yearFilter); filters.put(YEAR_OF_PUBLICATION, yearFilter);
sortFields.put(YEAR_DESC,
new SortField<Publication>(YEAR_DESC,
new SciPublicationYearDescComparator()));
sortFields.put(TITLE, sortFields.put(TITLE,
new SortField<Publication>(TITLE, new SortField<Publication>(TITLE,
new SciPublicationTitleComparator())); new SciPublicationTitleComparator()));
sortFields.put(YEAR_ASC, sortFields.put(YEAR_ASC,
new SortField<Publication>(YEAR_ASC, new SortField<Publication>(YEAR_ASC,
new SciPublicationYearAscComparator())); new SciPublicationYearAscComparator()));
sortFields.put(YEAR_DESC,
new SortField<Publication>(YEAR_DESC,
new SciPublicationYearDescComparator()));
/*sortFields.put(AUTHORS, /*sortFields.put(AUTHORS,
new SortField<Publication>(AUTHORS, new SortField<Publication>(AUTHORS,
new SciPublicationAuthorComparator()));*/ new SciPublicationAuthorComparator()));*/
@ -210,11 +213,10 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel {
protected void generateFiltersXml( protected void generateFiltersXml(
final List<Publication> publications, final List<Publication> publications,
final Element element) { final Element element) {
final Element sortFieldsElement = element.newChildElement("sortFields"); final Element filterElement = element.newChildElement("filters");
sortFieldsElement.addAttribute("sortBy", sortByKey);
for (Map.Entry<String, SortField<Publication>> sortField : for (Map.Entry<String, Filter> filterEntry : filters.entrySet()) {
sortFields.entrySet()) { filterEntry.getValue().generateXml(filterElement);
sortField.getValue().generateXml(sortFieldsElement);
} }
} }
@ -236,8 +238,9 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel {
} }
if (sortFields.containsKey(sortByKey)) { if (sortFields.containsKey(sortByKey)) {
Collections.sort(publications, sortFields.get(sortByKey). Comparator<Publication> comparator = sortFields.get(sortByKey).
getComparator()); getComparator();
Collections.sort(publications, comparator);
} else { } else {
Collections.sort(publications, new SciPublicationTitleComparator()); Collections.sort(publications, new SciPublicationTitleComparator());
} }
@ -320,7 +323,7 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel {
publicationsWithoutDoubles = new LinkedList<Publication>( publicationsWithoutDoubles = new LinkedList<Publication>(
publicationsSet); publicationsSet);
applySortFields(publications, state.getRequest()); applySortFields(publicationsWithoutDoubles, state.getRequest());
//Collections.sort(publicationsWithoutDoubles, //Collections.sort(publicationsWithoutDoubles,
// new SciPublicationTitleComparator()); // new SciPublicationTitleComparator());