From 29de3391f4c89c310aa34ebf3b36ba2bce08966f Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 17 Jun 2011 07:00:49 +0000 Subject: [PATCH] - 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 --- .../contenttypes/ui/PublicationXmlHelper.java | 5 +--- .../SciDepartmentWithPublicationsPanel.java | 27 ++++++++++--------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/PublicationXmlHelper.java b/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/PublicationXmlHelper.java index 425783512..353ef677c 100644 --- a/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/PublicationXmlHelper.java +++ b/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/PublicationXmlHelper.java @@ -146,10 +146,7 @@ public class PublicationXmlHelper { Element yearElem = publicationElem.newChildElement( "yearOfPublication"); yearElem.setText(publication.getYearOfPublication().toString()); - } - generateXmlElement(publicationElem, - "yearOfPublication", - publication.getYearOfPublication()); + } generateXmlElement(publicationElem, "misc", publication.getMisc()); generateXmlElement(parent, "abstract", publication.getAbstract()); generateAuthorsXml(publicationElem); diff --git a/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentWithPublicationsPanel.java b/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentWithPublicationsPanel.java index 4bcdf4bae..1ab7268df 100644 --- a/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentWithPublicationsPanel.java +++ b/ccm-sci-types-organizationwithpublications/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentWithPublicationsPanel.java @@ -42,6 +42,7 @@ import com.arsdigita.persistence.SessionManager; import com.arsdigita.xml.Element; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedList; @@ -67,7 +68,7 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel { private static final String AUTHORS = "authors"; private static final String YEAR_OF_PUBLICATION = "yearOfPublication"; 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 boolean displayPublications = true; private boolean displayWorkingPapers = true; @@ -90,15 +91,17 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel { "com.arsdigita.cms.contenttypes.getAllYearsOfPublication"); yearFilter.setDataQuery(query, "yearOfPublication"); filters.put(YEAR_OF_PUBLICATION, yearFilter); + + sortFields.put(YEAR_DESC, + new SortField(YEAR_DESC, + new SciPublicationYearDescComparator())); sortFields.put(TITLE, new SortField(TITLE, new SciPublicationTitleComparator())); sortFields.put(YEAR_ASC, new SortField(YEAR_ASC, new SciPublicationYearAscComparator())); - sortFields.put(YEAR_DESC, - new SortField(YEAR_DESC, - new SciPublicationYearDescComparator())); + /*sortFields.put(AUTHORS, new SortField(AUTHORS, new SciPublicationAuthorComparator()));*/ @@ -210,11 +213,10 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel { protected void generateFiltersXml( final List publications, final Element element) { - final Element sortFieldsElement = element.newChildElement("sortFields"); - sortFieldsElement.addAttribute("sortBy", sortByKey); - for (Map.Entry> sortField : - sortFields.entrySet()) { - sortField.getValue().generateXml(sortFieldsElement); + final Element filterElement = element.newChildElement("filters"); + + for (Map.Entry filterEntry : filters.entrySet()) { + filterEntry.getValue().generateXml(filterElement); } } @@ -236,8 +238,9 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel { } if (sortFields.containsKey(sortByKey)) { - Collections.sort(publications, sortFields.get(sortByKey). - getComparator()); + Comparator comparator = sortFields.get(sortByKey). + getComparator(); + Collections.sort(publications, comparator); } else { Collections.sort(publications, new SciPublicationTitleComparator()); } @@ -320,7 +323,7 @@ public class SciDepartmentWithPublicationsPanel extends SciDepartmentPanel { publicationsWithoutDoubles = new LinkedList( publicationsSet); - applySortFields(publications, state.getRequest()); + applySortFields(publicationsWithoutDoubles, state.getRequest()); //Collections.sort(publicationsWithoutDoubles, // new SciPublicationTitleComparator());