package org.activityinfo;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import org.activityinfo.fixtures.MockHibernateModule;
import org.activityinfo.legacy.shared.command.GetReportModel;
import org.activityinfo.legacy.shared.exception.UnexpectedCommandException;
import org.activityinfo.legacy.shared.reports.model.PivotReportElement;
import org.activityinfo.legacy.shared.reports.model.Report;
import org.activityinfo.legacy.shared.reports.model.ReportElement;
import org.activityinfo.server.authentication.AuthenticationModuleStub;
import org.activityinfo.server.database.TestDatabaseModule;
import org.activityinfo.server.database.hibernate.entity.ReportDefinition;
import org.activityinfo.server.endpoint.gwtrpc.GwtRpcModule;
import org.activityinfo.server.report.ReportParserJaxb;
import org.activityinfo.server.util.TemplateModule;
import org.activityinfo.server.util.blob.BlobServiceModuleStub;
import org.activityinfo.server.util.config.ConfigModuleStub;
import org.activityinfo.ui.client.page.report.ReportElementModel;
import javax.persistence.EntityManager;
import javax.xml.bind.JAXBException;
import java.util.List;
public class ReportTestGenerator {
public void main(String[] args) {
Injector injector = Guice.createInjector(
new TestDatabaseModule(),
new MockHibernateModule(),
new TemplateModule(),
new GwtRpcModule(),
new AuthenticationModuleStub(),
new BlobServiceModuleStub(),
new ConfigModuleStub());
EntityManager em = injector.getInstance(EntityManager.class);
List<ReportDefinition> resultList = em.createQuery(
"select r from ReportDefinition r where r.dateDeleted is null and " + "r.title is not null",
ReportDefinition.class).getResultList();
for(ReportDefinition def : resultList) {
Report report = parseReportModel(def);
for(ReportElement element : report.getElements()) {
if(element instanceof PivotReportElement) {
}
}
}
}
private Report parseReportModel(ReportDefinition def) {
try {
return ReportParserJaxb.parseXml(def.getXml());
} catch (JAXBException e) {
throw new UnexpectedCommandException(e);
}
}
}