This repository has been archived on 2021-11-25. You can view files and clone it, but cannot push or open issues or pull requests.
vmereports-manager-portlet/src/main/java/org/gcube/portlets/user/reportgenerator/server/servlet/ReportsReader.java

95 lines
2.9 KiB
Java

package org.gcube.portlets.user.reportgenerator.server.servlet;
import org.gcube.application.reporting.component.Box;
import org.gcube.application.reporting.component.BoxesArea;
import org.gcube.application.reporting.component.interfaces.ReportComponent;
import org.gcube.application.reporting.persistence.PersistenceManager;
import org.gcube.application.reporting.reader.ModelReader;
import org.gcube.application.reporting.reader.Section;
import org.gcube.application.reporting.reference.Column;
import org.gcube.application.reporting.reference.DBTableRow;
import org.gcube.application.reporting.reference.ReferenceReport;
import org.gcube.portlets.d4sreporting.common.shared.Model;
public class ReportsReader {
/**
* Read and print in the console the Structure of the serialized report
* @throws Exception
* @see {@link PersistenceManager#readModel(String)}
*/
public static void readReportStructure(Model model) throws Exception {
ModelReader reader = new ModelReader(model);
int i = 1;
for (Section section : reader.getSections()) {
System.out.println("Reading Section " + i);
for (ReportComponent rc : section.getComponents()) {
printReportCompomnent(rc, "");
}
i++;
}
}
/** Non Test methods **/
/**
* ket method whne reading
* @param rc
* @param sep
*/
private static void printReportCompomnent(ReportComponent rc, String sep) {
switch (rc.getType()) {
case TITLE:
case HEADING:
case INSTRUCTION:
case TEXT_INPUT:
System.out.println(sep +"Type: " + rc.getType()+"\n\tId: " + rc.getId() + "\tValue: " + rc.getStringValue() + " props="+rc.getProperties().toString());
break;
case BOXAREA:
BoxesArea ba = (BoxesArea) rc;
System.out.println(sep +"Type: " + rc.getType());
for (ReportComponent rpc : ba.getChildren()) {
Box attrBox = (Box) rpc;
System.out.println("\t"+attrBox);
}
break;
case SEQUENCE:
System.out.println(sep +"Type: " + rc.getType());
for (ReportComponent rpc : rc.getChildren()) {
printReportCompomnent(rpc, sep+"\t");
}
break;
case REFERENCE:
ReferenceReport ref = (ReferenceReport) rc;
System.out.println(sep +"Type: " + rc.getType() + " RefType=" + ref.getRefType());
for (ReportComponent rpc : rc.getChildren()) {
printReportCompomnent(rpc, sep+"\t");
}
break;
case MEDIA:
System.out.println(sep +"Type: " + rc.getType());
for (ReportComponent rpc : rc.getChildren()) {
printReportCompomnent(rpc, sep+"\t");
}
break;
case TB_ROW:
DBTableRow tr = (DBTableRow) rc;
System.out.println(sep +"Type: " + rc.getType() + " key=" + tr.getId());
for (ReportComponent rpc : rc.getChildren()) {
printReportCompomnent(rpc, sep+"\t");
}
break;
case TB_COLUMN:
Column cl = (Column) rc;
System.out.println(sep + rc.getType() + " Name= " + cl.getName() + ", Value ="+ cl.getValue());
break;
case ATTRIBUTE:
break;
default:
break;
}
}
}