From 042c95fb1436d500ede7300d23ba779560bd3b2d Mon Sep 17 00:00:00 2001 From: jensp Date: Mon, 26 Nov 2012 17:33:51 +0000 Subject: [PATCH] =?UTF-8?q?Angabe=20ob=20ein=20Projekt=20abgeschlossen=20i?= =?UTF-8?q?st,=20in=20XML=20Output=20eingef=C3=BCgt=20(Ticket=20#1456)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1968 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/contenttypes/ui/panels/Paginator.java | 4 +- .../ui/SciProjectExtraXmlGenerator.java | 77 +++++++++++++++++-- 2 files changed, 71 insertions(+), 10 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/Paginator.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/Paginator.java index e8c326bc9..e082ea28b 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/Paginator.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/Paginator.java @@ -6,7 +6,6 @@ import com.arsdigita.web.URL; import com.arsdigita.web.Web; import com.arsdigita.xml.Element; import java.util.Iterator; -import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; @@ -36,8 +35,7 @@ public class Paginator { final int pageSize) { final String pageNumberStr = request.getParameter(PAGE_NUMBER); if (pageNumberStr == null) { - logger.debug("No pageNumber parameter in request setting page number" - + " to 1."); + logger.debug("No pageNumber parameter in request setting page number to 1."); pageNumber = 1; } else { pageNumber = Integer.parseInt(pageNumberStr); diff --git a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectExtraXmlGenerator.java b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectExtraXmlGenerator.java index d57adfc9c..bdcd43d3e 100644 --- a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectExtraXmlGenerator.java +++ b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectExtraXmlGenerator.java @@ -7,6 +7,9 @@ import com.arsdigita.cms.contenttypes.GenericPerson; import com.arsdigita.cms.contenttypes.SciProject; import com.arsdigita.cms.contenttypes.SciProjectConfig; import com.arsdigita.xml.Element; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; /** * @@ -24,14 +27,18 @@ public class SciProjectExtraXmlGenerator final PageState state) { super.generateXML(item, element, state); - if (listMode) { - if (!(item instanceof SciProject)) { - throw new IllegalArgumentException( - "This ExtraXMLGenerator supports items of type " - + "'com.arsdigita.cms.contenttypes.SciProject' only."); - } + if (!(item instanceof SciProject)) { + throw new IllegalArgumentException( + "This ExtraXMLGenerator supports items of type " + + "'com.arsdigita.cms.contenttypes.SciProject' only."); + } + + final SciProject project = (SciProject) item; + final Element finished = element.newChildElement("finished"); + finished.setText(getFinishedValue(project)); + + if (listMode) { - final SciProject project = (SciProject) item; final GenericOrganizationalUnitPersonCollection members = project.getPersons(); final Element membersElem = element.newChildElement("members"); @@ -43,6 +50,62 @@ public class SciProjectExtraXmlGenerator } } + private String getFinishedValue(final SciProject project) { + final Date endDate = project.getEnd(); + if (endDate == null) { + return "false"; + } + + final Calendar endCal = new GregorianCalendar(); + endCal.setTime(endDate); + final int endYear = endCal.get(Calendar.YEAR); + final int endMonth = endCal.get(Calendar.MONTH); + final int endDay = endCal.get(Calendar.DAY_OF_MONTH); + + final Calendar nowCal = new GregorianCalendar(); + final int nowYear = nowCal.get(Calendar.YEAR); + final int nowMonth = nowCal.get(Calendar.MONTH); + final int nowDay = nowCal.get(Calendar.DAY_OF_MONTH); + + if (nowYear > endYear) { + return "true"; + } else if (nowMonth > endMonth) { + return "true"; + } else if (nowDay > endDay) { + return "true"; + } else { + return "false"; + } + } + + private void createFinishedElem(final SciProject project, final Element parent) { + final Element finished = parent.newChildElement("finished"); + final Date endDate = project.getEnd(); + + if (endDate == null) { + finished.setText("false"); + return; + } + + final Calendar endCal = new GregorianCalendar(); + endCal.setTime(endDate); + final Date end = new GregorianCalendar(endCal.get(Calendar.YEAR), + endCal.get(Calendar.MONTH), + endCal.get(Calendar.DAY_OF_MONTH)).getTime(); + final Date todayDate = Calendar.getInstance().getTime(); + + if (todayDate.before(end)) { + finished.setText("false"); + } else { + finished.setText("true"); + } + /*if (end.after(todayDate)) { + finished.setText("true"); + } else { + finished.setText("false"); + }*/ + } + @Override public String getTabConfig() { final SciProjectConfig config = SciProject.getConfig();