Fix Exception resource not found: 'logos/logo.png' in reports

logo.png image was moved to other folder so reports were crashing. This
logo.png image doesn't longer exist as now there is a different logo
for each language.

The patch retrieves what language the user is using when printing out
a report and use appropriate logo.

FEA: ItEr67S04BugFixing
This commit is contained in:
Diego Pino Garcia 2011-01-03 13:33:48 +01:00
parent c0fc2f5e93
commit 10007fe114
17 changed files with 84 additions and 43 deletions

View file

@ -6,6 +6,7 @@
<style name="Detail" isDefault="false" fontName="Arial" fontSize="12"/>
<parameter name="referenceDate" class="java.util.Date"/>
<parameter name="orderName" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<field name="taskName" class="java.lang.String"/>
<field name="estimatedHours" class="java.lang.Integer"/>
<field name="totalPlannedHours" class="java.lang.Integer"/>
@ -33,7 +34,7 @@
</textField>
<image scaleImage="RealHeight">
<reportElement x="316" y="3" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="0" y="92" width="142" height="20"/>

View file

@ -7,6 +7,7 @@
<parameter name="showNote" class="java.lang.Boolean"/>
<parameter name="year" class="java.lang.String"/>
<parameter name="month" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<field name="workerName" class="java.lang.String"/>
<field name="numHours" class="java.lang.Long"/>
<variable name="sumNumHours" class="java.lang.Long" calculation="Sum">
@ -30,7 +31,7 @@
</textField>
<image scaleImage="RetainShape">
<reportElement x="318" y="0" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="0" y="80" width="48" height="15">

View file

@ -7,6 +7,7 @@
<parameter name="startingDate" class="java.util.Date"/>
<parameter name="endingDate" class="java.util.Date"/>
<parameter name="showNote" class="java.lang.Boolean"/>
<parameter name="logo" class="java.lang.String"/>
<field name="workerName" class="java.lang.String"/>
<field name="date" class="java.util.Date"/>
<field name="clockStart" class="java.util.Date"/>
@ -199,7 +200,7 @@
</textField>
<image scaleImage="RetainShape">
<reportElement x="318" y="0" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="0" y="80" width="114" height="15">

View file

@ -7,6 +7,7 @@
<subDataset name="dataset1"/>
<parameter name="startingDate" class="java.util.Date"/>
<parameter name="endingDate" class="java.util.Date"/>
<parameter name="logo" class="java.lang.String"/>
<field name="workerName" class="java.lang.String"/>
<field name="date" class="java.util.Date"/>
<field name="clockStart" class="java.util.Date"/>
@ -295,7 +296,7 @@
</textField>
<image scaleImage="RetainShape">
<reportElement x="316" y="0" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="2" y="75" width="119" height="15">

View file

@ -10,6 +10,7 @@
<parameter name="endingDate" class="java.util.Date"/>
<parameter name="advanceType" class="java.lang.String"/>
<parameter name="showFootnote" class="java.lang.Boolean"/>
<parameter name="logo" class="java.lang.String"/>
<field name="orderName" class="java.lang.String"/>
<field name="estimatedHours" class="java.lang.Integer"/>
<field name="totalPlannedHours" class="java.lang.Integer"/>
@ -46,7 +47,7 @@
<band height="176" splitType="Stretch">
<image scaleImage="RealHeight">
<reportElement x="316" y="3" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement style="Title" x="0" y="13" width="263" height="33"/>

View file

@ -6,6 +6,7 @@
<parameter name="startingDate" class="java.util.Date"/>
<parameter name="endingDate" class="java.util.Date"/>
<parameter name="status" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<field name="status" class="java.lang.String"/>
<field name="code" class="java.lang.String"/>
<field name="name" class="java.lang.String"/>
@ -169,7 +170,7 @@
<band height="132" splitType="Stretch">
<image scaleImage="RealHeight">
<reportElement x="318" y="0" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="0" y="80" width="100" height="15">

View file

@ -6,6 +6,7 @@
<style name="Detail" isDefault="false" fontName="Arial" fontSize="12"/>
<parameter name="orderName" class="java.lang.String"/>
<parameter name="taskStatus" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<field name="orderCode" class="java.lang.String"/>
<field name="orderName" class="java.lang.String"/>
<field name="estimatedStartingDate" class="java.util.Date"/>
@ -423,7 +424,7 @@
</textField>
<image scaleImage="RealHeight">
<reportElement x="318" y="0" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="1" y="79" width="68" height="15"/>

View file

@ -6,6 +6,7 @@
<style name="Detail" isDefault="false" fontName="Arial" fontSize="12"/>
<parameter name="referenceDate" class="java.util.Date"/>
<parameter name="orderName" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<field name="taskName" class="java.lang.String"/>
<field name="estimatedHours" class="java.lang.Integer"/>
<field name="totalPlannedHours" class="java.lang.Integer"/>
@ -28,7 +29,7 @@
<band height="131" splitType="Stretch">
<image scaleImage="RealHeight">
<reportElement x="316" y="3" width="180" height="53"/>
<imageExpression class="java.lang.String"><![CDATA["logos/logo.png"]]></imageExpression>
<imageExpression class="java.lang.String"><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="1" y="96" width="150" height="20"/>

View file

@ -100,7 +100,7 @@ public class CompletedEstimatedHoursPerTaskController extends NavalplannerReport
@Override
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("orderName", getSelectedOrder().getName());
result.put("referenceDate", getDeadlineDate());

View file

@ -124,7 +124,7 @@ public class HoursWorkedPerWorkerController extends NavalplannerReportController
@Override
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("startingDate", getStartingDate());
result.put("endingDate", getEndingDate());

View file

@ -93,7 +93,7 @@ public class HoursWorkedPerWorkerInAMonthController extends NavalplannerReportCo
@Override
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("year", getSelectedYear());
result.put("month", monthAsLiteral(getSelectedMonth()));

View file

@ -20,11 +20,15 @@
package org.navalplanner.web.reports;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import net.sf.jasperreports.engine.JRDataSource;
import org.navalplanner.web.common.components.ExtendedJasperreport;
import org.zkoss.util.Locales;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Hbox;
@ -51,6 +55,14 @@ public abstract class NavalplannerReportController extends GenericForwardCompose
protected Toolbarbutton URIlink;
private static Set<String> supportedLanguages = new HashSet<String>() {{
add("es");
add("en");
add("gl");
}};
private final String DEFAULT_LANG = "en";
public void showReport(ExtendedJasperreport jasperreport) {
final String type = outputFormat.getOutputFormat();
@ -70,9 +82,21 @@ public abstract class NavalplannerReportController extends GenericForwardCompose
}
}
protected abstract JRDataSource getDataSource();
protected Map<String, Object> getParameters() {
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("logo", String.format("/logos/%s/logo.png", getLanguage()));
return parameters;
}
protected abstract Map<String, Object> getParameters();
private String getLanguage() {
String lang = Locales.getCurrent().getLanguage();
if (!supportedLanguages.contains(lang)) {
lang = DEFAULT_LANG;
}
return lang;
}
protected abstract JRDataSource getDataSource();
protected abstract String getReportName();
}

View file

@ -50,7 +50,9 @@ import org.zkoss.zul.Toolbarbutton;
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
*/
public class OrderCostsPerResourceController extends GenericForwardComposer {
public class OrderCostsPerResourceController extends NavalplannerReportController {
private static final String REPORT_NAME = "orderCostsPerResourceReport";
private IOrderCostsPerResourceModel orderCostsPerResourceModel;
@ -60,11 +62,11 @@ public class OrderCostsPerResourceController extends GenericForwardComposer {
private Datebox endingDate;
private ComboboxOutputFormat outputFormat;
private Hbox URItext;
private Toolbarbutton URIlink;
// private ComboboxOutputFormat outputFormat;
//
// private Hbox URItext;
//
// private Toolbarbutton URIlink;
private static final String HTML = "html";
@ -87,32 +89,33 @@ public class OrderCostsPerResourceController extends GenericForwardComposer {
orderCostsPerResourceModel.init();
}
public void showReport(ExtendedJasperreport report) {
final String type = outputFormat.getOutputFormat();
// public void showReport(ExtendedJasperreport report) {
// final String type = outputFormat.getOutputFormat();
//
// orderCostsPerResourceReport = new OrderCostsPerResourceReport(report);
// orderCostsPerResourceReport.setDatasource(getDataSource());
// orderCostsPerResourceReport.setParameters(getParameters());
//
// String URI = orderCostsPerResourceReport.show(type);
// if (type.equals(HTML)) {
// URItext.setStyle("display: none");
// Executions.getCurrent().sendRedirect(URI, "_blank");
// } else {
// URItext.setStyle("display: inline");
// URIlink.setHref(URI);
// }
//
// }
orderCostsPerResourceReport = new OrderCostsPerResourceReport(report);
orderCostsPerResourceReport.setDatasource(getDataSource());
orderCostsPerResourceReport.setParameters(getParameters());
String URI = orderCostsPerResourceReport.show(type);
if (type.equals(HTML)) {
URItext.setStyle("display: none");
Executions.getCurrent().sendRedirect(URI, "_blank");
} else {
URItext.setStyle("display: inline");
URIlink.setHref(URI);
}
}
private JRDataSource getDataSource() {
protected JRDataSource getDataSource() {
return orderCostsPerResourceModel.getOrderReport(getSelectedOrders(),
getStartingDate(), getEndingDate(), getSelectedLabels(),
getSelectedCriterions());
}
private Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
@Override
public Map<String, Object> getParameters() {
Map<String, Object> result = super.getParameters();
result.put("startingDate", getStartingDate());
result.put("endingDate", getEndingDate());
@ -245,4 +248,9 @@ public class OrderCostsPerResourceController extends GenericForwardComposer {
Util.reloadBindings(lbCriterions);
}
@Override
protected String getReportName() {
return REPORT_NAME;
}
}

View file

@ -145,7 +145,7 @@ public class SchedulingProgressPerOrderController extends NavalplannerReportCont
}
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("referenceDate", getReferenceDate());
result.put("startingDate", getStartingDate());

View file

@ -179,7 +179,8 @@ public class TimeLineRequiredMaterialController extends
@Override
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("startingDate", getStartingDate());
result.put("endingDate", getEndingDate());
result.put("status", getSelectedStatusName());

View file

@ -120,7 +120,7 @@ public class WorkingArrangementsPerOrderController extends NavalplannerReportCon
}
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("orderName", getSelectedOrder().getName());

View file

@ -96,7 +96,7 @@ public class WorkingProgressPerTaskController extends NavalplannerReportControll
}
protected Map<String, Object> getParameters() {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = super.getParameters();
result.put("orderName", getSelectedOrder().getName());
result.put("referenceDate", getDeadlineDate());