made server gui work and auto generate xml imports
This commit is contained in:
parent
01b3b5cc54
commit
c259e28e44
69 changed files with 1669 additions and 1230 deletions
|
|
@ -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) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue