2
0
Fork 0

made server gui work and auto generate xml imports

This commit is contained in:
Willem Cazander 2012-11-29 20:39:24 +01:00
parent 01b3b5cc54
commit c259e28e44
69 changed files with 1669 additions and 1230 deletions

View file

@ -66,7 +66,8 @@ import net.forwardfire.vasc.core.VascEntryField;
import net.forwardfire.vasc.core.VascEntryListOption;
import net.forwardfire.vasc.core.actions.GlobalVascAction;
import net.forwardfire.vasc.core.actions.RowVascAction;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.core.entry.VascEntryExport;
import net.forwardfire.vasc.core.entry.VascEntryExportWriter;
import net.forwardfire.vasc.core.ui.VascOptionValueModelListener;
import net.forwardfire.vasc.core.ui.VascUIComponent;
import net.forwardfire.vasc.core.ui.VascValueModel;
@ -215,40 +216,40 @@ public class SwingVascFrontend extends AbstractVascFrontend {
/**
* @see net.forwardfire.vasc.core.VascViewRenderer#renderExport(net.forwardfire.vasc.core.VascEntry, net.forwardfire.vasc.core.VascDataExporter)
*/
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
public void renderExport(VascEntryExport exporter) throws VascFrontendException {
String fileName = null;
JFileChooser c = new JFileChooser();
int rVal = c.showSaveDialog(null);
if (rVal == JFileChooser.APPROVE_OPTION) {
fileName = c.getSelectedFile().getAbsolutePath();
// filename.setText(c.getSelectedFile().getName());
//dir.setText(c.getCurrentDirectory().toString());
}
if (rVal == JFileChooser.CANCEL_OPTION) {
return;
}
int rVal = c.showSaveDialog(null);
if (rVal == JFileChooser.APPROVE_OPTION) {
fileName = c.getSelectedFile().getAbsolutePath();
}
if (rVal == JFileChooser.CANCEL_OPTION) {
return;
}
logger.fine("FileName: "+fileName);
if (fileName == null) {
return;
}
OutputStream out = null;
try {
out = new FileOutputStream(fileName);
exporter.doExport(out, entry);
} catch (VascException e) {
throw new VascFrontendException(e);
} catch (FileNotFoundException e) {
throw new VascFrontendException(e);
logger.fine("Export fileName: "+fileName);
if (fileName == null) {
return;
}
OutputStream out = null;
try {
VascEntryExportWriter veew = exporter.createExportWriter();
veew.doInit(exporter, entry);
out = new FileOutputStream(fileName);
veew.doExport(out);
} catch (VascException e) {
throw new VascFrontendException(e);
} catch (IOException e) {
throw new VascFrontendException(e);
} finally {
if (out!=null) {
try {
if (out!=null) {
try {
out.close();
} catch (IOException e) {
}
}
}
}
}
}

View file

@ -35,7 +35,8 @@ import net.forwardfire.vasc.core.VascEntryListOption;
import net.forwardfire.vasc.core.VascException;
import net.forwardfire.vasc.core.actions.GlobalVascAction;
import net.forwardfire.vasc.core.actions.RowVascAction;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.core.entry.VascEntryExport;
import net.forwardfire.vasc.core.entry.VascEntryExportWriter;
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
import net.forwardfire.vasc.core.ui.VascOptionValueModelListener;
import net.forwardfire.vasc.core.ui.VascUIComponent;
@ -163,7 +164,7 @@ public class SwtVascFrontend extends AbstractVascFrontend {
/** These filter extensions are used to filter which files are displayed. */
private static final String[] FILTER_EXTS = { "*.*","*.csv","*.xls" };
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
public void renderExport(VascEntryExport exporter) throws VascFrontendException {
FileDialog dlg = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
dlg.setFilterNames(FILTER_NAMES);
dlg.setFilterExtensions(FILTER_EXTS);
@ -175,13 +176,15 @@ public class SwtVascFrontend extends AbstractVascFrontend {
}
OutputStream out = null;
try {
VascEntryExportWriter veew = exporter.createExportWriter();
veew.doInit(exporter, entry);
out = new FileOutputStream(fileName);
exporter.doExport(out, entry);
veew.doExport(out);
} catch (VascException e) {
//MessageDialog.openError(Display.getCurrent().getActiveShell(),crudTable.i18n("crud.event.export.error.title"),crudTable.i18n("crud.event.export.error.message"));
logger.log(Level.WARNING,"Error: "+e.getMessage(),e);
throw new VascFrontendException(e);
} catch (FileNotFoundException e) {
} catch (IOException e) {
throw new VascFrontendException(e);
} finally {
if (out!=null) {

View file

@ -34,7 +34,8 @@ import javax.servlet.http.HttpServletResponse;
import net.forwardfire.vasc.core.VascController;
import net.forwardfire.vasc.core.VascControllerProvider;
import net.forwardfire.vasc.core.VascEntryLocal;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.core.entry.VascEntryExport;
import net.forwardfire.vasc.core.entry.VascEntryExportWriter;
import net.forwardfire.vasc.core.VascException;
/**
@ -176,14 +177,16 @@ public class VascExportServlet extends HttpServlet {
// Update total every time first
Long total = ve.getVascFrontendController().getVascEntryState().getVascBackend().fetchTotalExecuteSize(ve.getVascFrontendController().getVascEntryState().getVascBackendState());
ve.getVascFrontendController().getVascEntryState().setTotalBackendRecords(total);
VascEntryExporter ex = vc.getVascEntryConfigController().getVascEntryExporterById(exportId);
VascEntryExport ex = vc.getVascEntryConfigController().getVascEntryExporterById(exportId);
VascEntryExportWriter exw = ex.createExportWriter();
exw.doInit(ex, ve);
String filename = entryId+"-export."+ex.getFileType();
String filename = entryId+"-export."+exw.getFileType();
response.setHeader("Content-disposition", "attachment; filename=" + filename);
String contentType = ex.getMineType();
String contentType = exw.getMineType();
response.setContentType(contentType);
ex.doExport(out, ve);
exw.doExport(out);
} catch (VascException e) {
response.setStatus(500);
response.setContentType("text/html");

View file

@ -58,7 +58,8 @@ import net.forwardfire.vasc.core.VascEntryLinkType;
import net.forwardfire.vasc.core.VascException;
import net.forwardfire.vasc.core.actions.GlobalVascAction;
import net.forwardfire.vasc.core.actions.RowVascAction;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.core.entry.VascEntryExport;
import net.forwardfire.vasc.core.entry.VascEntryExportWriter;
import net.forwardfire.vasc.frontend.VascFrontendException;
import net.forwardfire.vasc.impl.actions.AddRowAction;
import net.forwardfire.vasc.impl.actions.DeleteRowAction;
@ -88,7 +89,7 @@ public class JSFVascEntrySupportBean implements Serializable {
private Boolean backendPageable = null;
private Boolean sortOrder = null;
private String sortField = null;
private VascEntryExporter selectedExporter = null;
private VascEntryExport selectedExporter = null;
private String selectedExporterAction = "null";
private String selectedDirectPage = "null";
private String selectedMultiRowAction = "null";
@ -723,7 +724,7 @@ public class JSFVascEntrySupportBean implements Serializable {
// restore normal view for next request.
comp.setRenderFacetState("listView");
VascEntryExporter ex = getSelectedExporter();
VascEntryExport ex = getSelectedExporter();
if (ex==null) {
logger.fine("No exporter selected for download.");
@ -733,15 +734,17 @@ public class JSFVascEntrySupportBean implements Serializable {
FacesContext fc = FacesContext.getCurrentInstance();
try {
VascEntryExportWriter veew = ex.createExportWriter();
veew.doInit(ex, entry);
HttpServletResponse response = (HttpServletResponse)fc.getExternalContext().getResponse();
String filename = "export-list."+ex.getFileType();
String filename = "export-list."+veew.getFileType();
response.setHeader("Content-disposition", "attachment; filename=" + filename);
String contentType = ex.getMineType();
String contentType = veew.getMineType();
response.setContentType(contentType);
ServletOutputStream out = response.getOutputStream();
ex.doExport(out, entry);
veew.doExport(out);
out.close();
} catch (VascException e) {
throw new VascFrontendException(e);
@ -869,14 +872,14 @@ public class JSFVascEntrySupportBean implements Serializable {
/**
* @return the selectedExporter
*/
public VascEntryExporter getSelectedExporter() {
public VascEntryExport getSelectedExporter() {
return selectedExporter;
}
/**
* @param selectedExporter the selectedExporter to set
*/
public void setSelectedExporter(VascEntryExporter selectedExporter) {
public void setSelectedExporter(VascEntryExport selectedExporter) {
this.selectedExporter = selectedExporter;
}

View file

@ -28,7 +28,7 @@ import java.util.logging.Logger;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.core.entry.VascEntryExport;
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
import net.forwardfire.vasc.frontend.VascFrontendException;
import net.forwardfire.vasc.frontend.VascFrontendController;
@ -116,9 +116,9 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
}
/**
* @see net.forwardfire.vasc.frontend.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExporter)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExport)
*/
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
public void renderExport(VascEntryExport exporter) throws VascFrontendException {
logger.finer("renderExport");
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
JSFVascUIComponent comp = JSFVascUIComponent.findVascChild(viewRoot,getVascEntry().getId());