<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Subscribed Documents" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="535" leftMargin="30" rightMargin="30" topMargin="20" bottomMargin="20" whenResourceMissingType="Key">
	<property name="ireport.scriptlethandling" value="0"/>
	<property name="ireport.encoding" value="UTF-8"/>
	<property name="ireport.zoom" value="1.5"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<import value="net.sf.jasperreports.engine.*"/>
	<import value="java.util.*"/>
	<import value="net.sf.jasperreports.engine.data.*"/>
	<parameter name="host" class="java.lang.String"/>
	<queryString>
		<![CDATA[import java.util.Calendar;
import com.openkm.dao.ConfigDAO;
import com.openkm.util.ISO8601;
import java.text.SimpleDateFormat;
import com.openkm.api.OKMSearch;
import com.openkm.api.OKMPropertyGroup;
import com.openkm.bean.QueryResult;
import com.openkm.bean.form.FormElement;
import com.openkm.dao.bean.QueryParams;
import com.openkm.bean.Document;
import com.openkm.bean.form.Input;

String datePattern = ConfigDAO.getString("expiration.date.pattern", "dd-MM-yyyy HH:mm:ss");
SimpleDateFormat sf = new SimpleDateFormat(datePattern);
List al = new ArrayList();

// Preparing query from to
Map properties = new HashMap();
properties.put("okp:expiration.state", "valid");
QueryParams params = new QueryParams();
params.setPath("/okm:root");
params.setProperties(properties);
		
List results = OKMSearch.getInstance().find(null, params);
for (QueryResult result : results) {
	if (result.getDocument()!=null) {
		Document doc = result.getDocument();
		List docProperties = OKMPropertyGroup.getInstance().getProperties(null, doc.getPath(), "okg:expiration");
		for (FormElement formElement : docProperties) {
			if (formElement.getName().equals("okp:expiration.date")) {
				Map dob = new HashMap();
				Input expirationDate = (Input) formElement;
				Calendar date = ISO8601.parseBasic(expirationDate.getValue());
				date.set(Calendar.HOUR, 0);
				date.set(Calendar.MINUTE, 0);
				date.set(Calendar.SECOND, 0);
				date.set(Calendar.MILLISECOND, 0);
				SimpleDateFormat sf = new SimpleDateFormat(datePattern);
				dob.put("expirationDate",  sf.format(date.getTime()));
				dob.put("path", doc.getPath());
				al.add(dob);
			}
		}
    }
}

return al
]]>
	</queryString>
	<field name="expirationDate" class="java.lang.String">
		<fieldDescription><![CDATA[subscriptors]]></fieldDescription>
	</field>
	<field name="path" class="java.lang.String">
		<fieldDescription><![CDATA[path]]></fieldDescription>
	</field>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="44" splitType="Stretch">
			<image>
				<reportElement key="image-1" x="374" y="0" width="150" height="35"/>
				<imageExpression class="java.lang.String"><![CDATA[$P{host}+"/logo/report"]]></imageExpression>
			</image>
			<textField pattern="yyyy/MM/dd" isBlankWhenNull="false">
				<reportElement key="textField-13" x="0" y="0" width="65" height="10" forecolor="#010101"/>
				<box>
					<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
					<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
					<bottomPen lineWidth="0.0" lineColor="#000000"/>
					<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
				</box>
				<textElement verticalAlignment="Middle">
					<font fontName="Arial" size="8" isBold="true" isUnderline="false"/>
				</textElement>
				<textFieldExpression class="java.util.Date"><![CDATA[new Date()]]></textFieldExpression>
			</textField>
			<textField pattern="h.mm.ss a" isBlankWhenNull="false">
				<reportElement key="textField-14" x="0" y="10" width="65" height="10" forecolor="#010101"/>
				<box>
					<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
					<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
					<bottomPen lineWidth="0.0" lineColor="#000000"/>
					<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
				</box>
				<textElement verticalAlignment="Middle">
					<font fontName="Arial" size="8" isBold="true" isUnderline="false"/>
				</textElement>
				<textFieldExpression class="java.util.Date"><![CDATA[new Date()]]></textFieldExpression>
			</textField>
			<line>
				<reportElement key="line-3" x="-15" y="39" width="562" height="1" forecolor="#010101"/>
				<graphicElement fill="Solid"/>
			</line>
			<staticText>
				<reportElement x="94" y="0" width="297" height="44"/>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font fontName="SansSerif" size="22" isBold="true" isPdfEmbedded="false"/>
				</textElement>
				<text><![CDATA[Valid Documents]]></text>
			</staticText>
		</band>
	</title>
	<pageHeader>
		<band splitType="Stretch"/>
	</pageHeader>
	<columnHeader>
		<band height="30" splitType="Stretch">
			<line>
				<reportElement key="line-5" x="1" y="28" width="534" height="1" forecolor="#010101"/>
			</line>
			<staticText>
				<reportElement x="0" y="13" width="100" height="14"/>
				<textElement>
					<font fontName="SansSerif" isBold="true" isPdfEmbedded="false"/>
				</textElement>
				<text><![CDATA[Expiration date]]></text>
			</staticText>
			<staticText>
				<reportElement x="114" y="13" width="100" height="14"/>
				<textElement>
					<font fontName="SansSerif" isBold="true" isPdfEmbedded="false"/>
				</textElement>
				<text><![CDATA[Document]]></text>
			</staticText>
		</band>
	</columnHeader>
	<detail>
		<band height="18" splitType="Stretch">
			<textField isBlankWhenNull="false">
				<reportElement key="textField" x="114" y="0" width="421" height="18"/>
				<textElement>
					<font fontName="Arial"/>
				</textElement>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{path}]]></textFieldExpression>
			</textField>
			<textField isBlankWhenNull="false">
				<reportElement key="textField" x="0" y="0" width="101" height="18"/>
				<textElement>
					<font fontName="Arial"/>
				</textElement>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{expirationDate}]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<columnFooter>
		<band splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band height="30" splitType="Stretch">
			<line>
				<reportElement key="line-2" x="-15" y="4" width="567" height="1" forecolor="#010101" backcolor="#FFFFFF"/>
				<graphicElement fill="Solid"/>
			</line>
		</band>
	</pageFooter>
	<summary>
		<band splitType="Stretch"/>
	</summary>
</jasperReport>
