Angabe ob ein Projekt abgeschlossen ist, in XML Output eingefügt (Ticket #1456)

git-svn-id: https://svn.libreccm.org/ccm/trunk@1968 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2012-11-26 17:33:51 +00:00
parent 7367e90b05
commit 042c95fb14
2 changed files with 71 additions and 10 deletions

View File

@ -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);

View File

@ -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();