wip made remote ejb working over http
This commit is contained in:
parent
d4e537a2bf
commit
2a0d992642
393 changed files with 8916 additions and 3872 deletions
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-cxf</artifactId>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend-cxf</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-cxf-client</artifactId>
|
||||
|
|
@ -15,5 +15,10 @@
|
|||
<artifactId>jsr181-api</artifactId>
|
||||
<version>${jsr181-api.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<artifactId>vasc-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.jws.WebService;
|
||||
|
||||
@WebService
|
||||
public interface VascControllerService {
|
||||
|
||||
List<String> getVascEntryIds();
|
||||
}
|
||||
|
|
@ -2,9 +2,21 @@ package net.forwardfire.vasc.frontend.cxf.client;
|
|||
|
||||
import javax.jws.WebService;
|
||||
|
||||
import net.forwardfire.vasc.frontend.cxf.data.VascEntryExecuteRequest;
|
||||
import net.forwardfire.vasc.frontend.cxf.data.VascEntryExecuteResponse;
|
||||
|
||||
|
||||
@WebService
|
||||
/*
|
||||
@WSDLDocumentationCollection(
|
||||
{
|
||||
@WSDLDocumentation("My portType documentation")
|
||||
}
|
||||
)
|
||||
*/
|
||||
public interface VascEntryService {
|
||||
|
||||
public String testHi(String response);
|
||||
VascEntryExecuteResponse execute(VascEntryExecuteRequest request);
|
||||
|
||||
String testHi(String response);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.data;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
|
||||
@XmlRootElement(name = "VascEntryExecuteRequest")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class VascEntryExecuteRequest {
|
||||
|
||||
private String sortField = null;
|
||||
private String page = null;
|
||||
|
||||
|
||||
/**
|
||||
* @return the sortField
|
||||
*/
|
||||
public String getSortField() {
|
||||
return sortField;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param sortField the sortField to set
|
||||
*/
|
||||
public void setSortField(String sortField) {
|
||||
this.sortField = sortField;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the page
|
||||
*/
|
||||
public String getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param page the page to set
|
||||
*/
|
||||
public void setPage(String page) {
|
||||
this.page = page;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
|
||||
@XmlRootElement(name = "VascEntryExecuteResponse")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class VascEntryExecuteResponse {
|
||||
|
||||
private Integer page = null;
|
||||
private Integer pageSize = null;
|
||||
private Integer pageSizeTotal = null;
|
||||
private List<VascEntryExecuteResponseData> data = null;
|
||||
|
||||
/**
|
||||
* @return the page
|
||||
*/
|
||||
public Integer getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param page the page to set
|
||||
*/
|
||||
public void setPage(Integer page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pageSize
|
||||
*/
|
||||
public Integer getPageSize() {
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pageSize the pageSize to set
|
||||
*/
|
||||
public void setPageSize(Integer pageSize) {
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pageSizeTotal
|
||||
*/
|
||||
public Integer getPageSizeTotal() {
|
||||
return pageSizeTotal;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pageSizeTotal the pageSizeTotal to set
|
||||
*/
|
||||
public void setPageSizeTotal(Integer pageSizeTotal) {
|
||||
this.pageSizeTotal = pageSizeTotal;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the data
|
||||
*/
|
||||
public List<VascEntryExecuteResponseData> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param data the data to set
|
||||
*/
|
||||
public void setData(List<VascEntryExecuteResponseData> data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
@XmlRootElement(name = "VascEntryExecuteResponseData")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class VascEntryExecuteResponseData {
|
||||
|
||||
private Integer rowSize = null;
|
||||
|
||||
@XmlElement(nillable = false, name = "rowData")
|
||||
private List<VascEntryExecuteResponseDataRow> rowData = null;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "VascEntryExecuteResponseDataRow")
|
||||
static class VascEntryExecuteResponseDataRow {
|
||||
@XmlElement(required = true, nillable = false)
|
||||
String key;
|
||||
String value;
|
||||
/**
|
||||
* @return the key
|
||||
*/
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
/**
|
||||
* @param key the key to set
|
||||
*/
|
||||
public void setKey(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
/**
|
||||
* @return the value
|
||||
*/
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
/**
|
||||
* @param value the value to set
|
||||
*/
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return the rowSize
|
||||
*/
|
||||
public Integer getRowSize() {
|
||||
return rowSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rowSize the rowSize to set
|
||||
*/
|
||||
public void setRowSize(Integer rowSize) {
|
||||
this.rowSize = rowSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the rowData
|
||||
*/
|
||||
public List<VascEntryExecuteResponseDataRow> getRowData() {
|
||||
return rowData;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rowData the rowData to set
|
||||
*/
|
||||
public void setRowData(List<VascEntryExecuteResponseDataRow> rowData) {
|
||||
this.rowData = rowData;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.data.jaxb;
|
||||
|
||||
public class ResponseDataMapAdapter {
|
||||
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend-cxf</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-cxf-server</artifactId>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.server;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.forwardfire.vasc.core.VascController;
|
||||
import net.forwardfire.vasc.frontend.cxf.client.VascControllerService;
|
||||
|
||||
public class VascControllerServiceImpl implements VascControllerService {
|
||||
|
||||
private VascController vascController = null;
|
||||
|
||||
public VascControllerServiceImpl(VascController vascController) {
|
||||
this.vascController=vascController;
|
||||
}
|
||||
|
||||
public List<String> getVascEntryIds() {
|
||||
return vascController.getVascEntryController().getVascEntryIds();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +1,28 @@
|
|||
package net.forwardfire.vasc.frontend.cxf.server;
|
||||
|
||||
import net.forwardfire.vasc.core.VascController;
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.frontend.cxf.client.VascEntryService;
|
||||
import net.forwardfire.vasc.frontend.cxf.data.VascEntryExecuteRequest;
|
||||
import net.forwardfire.vasc.frontend.cxf.data.VascEntryExecuteResponse;
|
||||
|
||||
public class VascEntryServiceImpl implements VascEntryService {
|
||||
|
||||
private VascController vascController = null;
|
||||
private VascEntry vascEntry = null;
|
||||
|
||||
public VascEntryServiceImpl(VascController vascController,VascEntry vascEntry) {
|
||||
this.vascController=vascController;
|
||||
this.vascEntry=vascEntry;
|
||||
}
|
||||
|
||||
public VascEntryExecuteResponse execute(VascEntryExecuteRequest request) {
|
||||
|
||||
VascEntryExecuteResponse response = new VascEntryExecuteResponse();
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public String testHi(String response) {
|
||||
return "HOHO: "+response+" HAAHA..";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,10 @@ import java.util.logging.Logger;
|
|||
import javax.servlet.ServletConfig;
|
||||
import javax.servlet.ServletException;
|
||||
|
||||
import net.forwardfire.vasc.core.VascController;
|
||||
import net.forwardfire.vasc.core.VascControllerProvider;
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.frontend.cxf.server.VascControllerServiceImpl;
|
||||
import net.forwardfire.vasc.frontend.cxf.server.VascEntryServiceImpl;
|
||||
|
||||
import javax.xml.ws.Endpoint;
|
||||
|
|
@ -46,7 +49,7 @@ public class VascCXFServlet extends CXFNonSpringServlet {
|
|||
|
||||
private Logger logger = Logger.getLogger(VascCXFServlet.class.getName());
|
||||
private static final long serialVersionUID = 8125039180724973858L;
|
||||
private VascControllerProvider vascControllerProvider = null;
|
||||
private VascController vascController = null;
|
||||
private boolean exportTree = false;
|
||||
|
||||
/**
|
||||
|
|
@ -70,16 +73,18 @@ public class VascCXFServlet extends CXFNonSpringServlet {
|
|||
className = className.substring(atIndex+1);
|
||||
}
|
||||
try {
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl == null) {
|
||||
cl = className.getClass().getClassLoader();
|
||||
}
|
||||
Class<?> clazz = cl.loadClass(className);
|
||||
if (classArgument==null) {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.newInstance();
|
||||
} else {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.getConstructor(String.class).newInstance(classArgument);
|
||||
}
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl == null) {
|
||||
cl = className.getClass().getClassLoader();
|
||||
}
|
||||
Class<?> clazz = cl.loadClass(className);
|
||||
VascControllerProvider vascControllerProvider = null;
|
||||
if (classArgument==null) {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.newInstance();
|
||||
} else {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.getConstructor(String.class).newInstance(classArgument);
|
||||
}
|
||||
vascController = vascControllerProvider.getVascController();
|
||||
} catch (Exception e) {
|
||||
throw new ServletException("Could not create VascControllerProvider: "+e.getMessage(),e);
|
||||
}
|
||||
|
|
@ -88,12 +93,18 @@ public class VascCXFServlet extends CXFNonSpringServlet {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void loadBus(ServletConfig servletConfig) {
|
||||
super.loadBus(servletConfig);
|
||||
Bus bus = getBus();
|
||||
BusFactory.setDefaultBus(bus);
|
||||
|
||||
|
||||
Endpoint.publish("/foobar", new VascEntryServiceImpl());
|
||||
}
|
||||
public void loadBus(ServletConfig servletConfig) {
|
||||
super.loadBus(servletConfig);
|
||||
Bus bus = getBus();
|
||||
BusFactory.setDefaultBus(bus);
|
||||
Endpoint.publish("/vascControllerService", new VascControllerServiceImpl(vascController));
|
||||
for (String id:vascController.getVascEntryController().getVascEntryIds()) {
|
||||
VascEntry ve = vascController.getVascEntryController().getVascEntryById(id);
|
||||
try {
|
||||
Endpoint.publish("/"+id, new VascEntryServiceImpl(vascController,ve));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-swing</artifactId>
|
||||
<name>vasc-frontend-swing</name>
|
||||
|
|
|
|||
|
|
@ -36,8 +36,10 @@ import javax.swing.ListCellRenderer;
|
|||
|
||||
import net.forwardfire.vasc.backend.VascBackendPageNumber;
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.actions.GlobalVascAction;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
/**
|
||||
* SwingActionPanel renders some page and download actions.
|
||||
|
|
@ -129,8 +131,8 @@ public class SwingActionPanel extends JPanel implements VascEntryFrontendEventLi
|
|||
}
|
||||
try {
|
||||
action.doGlobalAction(vascEntry);
|
||||
} catch (Exception e) {
|
||||
vascEntry.getVascFrontendController().getVascFrontendHelper().handleException(vascEntry, e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
|
||||
// restore normal view for next request.
|
||||
|
|
@ -252,7 +254,7 @@ public class SwingActionPanel extends JPanel implements VascEntryFrontendEventLi
|
|||
return null;
|
||||
}
|
||||
|
||||
public void doGlobalAction(VascEntry vascEntry) throws Exception {
|
||||
public void doGlobalAction(VascEntry vascEntry) throws VascException {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ import javax.swing.JMenuItem;
|
|||
import javax.swing.JPanel;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import net.forwardfire.vasc.impl.DefaultVascFactory;
|
||||
|
||||
/**
|
||||
* SwingPanelFrame to render into frames.
|
||||
|
|
@ -57,7 +57,7 @@ public class SwingPanelFrame implements SwingPanelIntegration {
|
|||
this.addVascMenu=addVascMenu;
|
||||
}
|
||||
|
||||
public void createNewVascView(VascEntry entry) throws Exception {
|
||||
public void createNewVascView(VascEntry entry) throws VascException {
|
||||
// define redering
|
||||
JPanel panel = initVascView();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package net.forwardfire.vasc.frontend.swing;
|
|||
import javax.swing.JPanel;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
/**
|
||||
* SwingPanelIntegration provides the JPanels to vasc to integrate into application panel handing.
|
||||
|
|
@ -12,7 +13,7 @@ import net.forwardfire.vasc.core.VascEntry;
|
|||
*/
|
||||
public interface SwingPanelIntegration {
|
||||
|
||||
public void createNewVascView(VascEntry entry) throws Exception;
|
||||
public void createNewVascView(VascEntry entry) throws VascException;
|
||||
public JPanel initVascView();
|
||||
public void openVascView(JPanel pane,VascEntry entry);
|
||||
public void closeVascView(JPanel pane,VascEntry entry);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import javax.swing.JPanel;
|
|||
import javax.swing.JTabbedPane;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +45,7 @@ public class SwingPanelTabbed implements SwingPanelIntegration {
|
|||
this.tabbedPane=tabbedPane;
|
||||
}
|
||||
|
||||
public void createNewVascView(VascEntry entry) throws Exception {
|
||||
public void createNewVascView(VascEntry entry) throws VascException {
|
||||
// define redering
|
||||
JPanel panel = initVascView();
|
||||
SwingVascFrontend render = new SwingVascFrontend(panel,this);
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ import net.forwardfire.vasc.core.VascEntry;
|
|||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascEntryLink;
|
||||
import net.forwardfire.vasc.core.VascEntryLocal;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascColumnValueModelListener;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
|
|
@ -61,7 +62,7 @@ public class SwingVascEditDialog extends JPanel {
|
|||
private SwingPanelIntegration panels = null;
|
||||
private JPanel editView = null;
|
||||
|
||||
public SwingVascEditDialog(SwingVascFrontend swingFrontend,JPanel editView,VascEntry entry,Object bean,String beanValue,SwingPanelIntegration panels) throws Exception {
|
||||
public SwingVascEditDialog(SwingVascFrontend swingFrontend,JPanel editView,VascEntry entry,Object bean,String beanValue,SwingPanelIntegration panels) throws VascException {
|
||||
super();
|
||||
this.headerText = "vasc.dialog.edit.message";
|
||||
this.headerTextValue = beanValue;
|
||||
|
|
@ -152,7 +153,7 @@ public class SwingVascEditDialog extends JPanel {
|
|||
return header;
|
||||
}
|
||||
|
||||
protected JPanel createBody() throws Exception {
|
||||
protected JPanel createBody() throws VascException {
|
||||
JPanel body = new JPanel();
|
||||
body.setLayout(new SpringLayout());
|
||||
int column = 0;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ import java.awt.event.ActionEvent;
|
|||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -62,16 +64,17 @@ import javax.swing.table.TableColumnModel;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
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.ui.VascOptionValueModelListener;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendController;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.frontend.swing.ui.SwingBoolean;
|
||||
import net.forwardfire.vasc.frontend.swing.ui.SwingButton;
|
||||
import net.forwardfire.vasc.frontend.swing.ui.SwingColorChooser;
|
||||
|
|
@ -150,52 +153,60 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.core.VascViewRenderer#renderEdit(net.forwardfire.vasc.core.VascEntry, java.lang.Object)
|
||||
*/
|
||||
public void renderEdit() throws Exception {
|
||||
public void renderEdit() throws VascFrontendException {
|
||||
logger.fine("Rending Edit View");
|
||||
|
||||
try {
|
||||
Object rowBean = entry.getVascFrontendController().getVascEntryState().getEntryDataObject();
|
||||
String beanValue = rowBean.toString();
|
||||
if (entry.getDisplayNameFieldId()!=null) {
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
|
||||
Object vv = v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (vv==null) {
|
||||
beanValue="";
|
||||
} else {
|
||||
beanValue=""+vv;
|
||||
}
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
|
||||
JPanel editPanel = panels.initVascView();
|
||||
SwingVascEditDialog dialog = new SwingVascEditDialog(this,editPanel,entry,rowBean,beanValue,panels);
|
||||
|
||||
entry.getVascFrontendController().getVascFrontendHelper().editReadOnlyUIComponents(entry);
|
||||
panels.openVascView(editPanel,entry);
|
||||
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
|
||||
public void renderDelete() throws VascFrontendException {
|
||||
Object rowBean = entry.getVascFrontendController().getVascEntryState().getEntryDataObject();
|
||||
String beanValue = rowBean.toString();
|
||||
if (entry.getDisplayNameFieldId()!=null) {
|
||||
|
||||
try {
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
|
||||
Object vv = v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (vv==null) {
|
||||
beanValue="";
|
||||
} else {
|
||||
beanValue=""+vv;
|
||||
}
|
||||
beanValue = ""+v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
|
||||
JPanel editPanel = panels.initVascView();
|
||||
SwingVascEditDialog dialog = new SwingVascEditDialog(this,editPanel,entry,rowBean,beanValue,panels);
|
||||
|
||||
entry.getVascFrontendController().getVascFrontendHelper().editReadOnlyUIComponents(entry);
|
||||
panels.openVascView(editPanel,entry);
|
||||
}
|
||||
|
||||
public void renderDelete() throws Exception {
|
||||
Object rowBean = entry.getVascFrontendController().getVascEntryState().getEntryDataObject();
|
||||
String beanValue = rowBean.toString();
|
||||
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
beanValue = ""+v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
|
||||
int response = JOptionPane.showOptionDialog(
|
||||
parent // Center in window.
|
||||
, i18n("vasc.dialog.delete.message",beanValue) // Message
|
||||
, i18n("vasc.dialog.delete.title") // Title in titlebar
|
||||
, JOptionPane.YES_NO_OPTION // Option type
|
||||
, JOptionPane.PLAIN_MESSAGE // messageType
|
||||
, null // Icon (none)
|
||||
, null // Button text as above.
|
||||
, null // Default button's label
|
||||
);
|
||||
parent // Center in window.
|
||||
, i18n("vasc.dialog.delete.message",beanValue) // Message
|
||||
, i18n("vasc.dialog.delete.title") // Title in titlebar
|
||||
, JOptionPane.YES_NO_OPTION // Option type
|
||||
, JOptionPane.PLAIN_MESSAGE // messageType
|
||||
, null // Icon (none)
|
||||
, null // Button text as above.
|
||||
, null // Default button's label
|
||||
);
|
||||
if (response==JOptionPane.YES_OPTION) {
|
||||
entry.getVascFrontendController().getVascFrontendActions().deleteObject();
|
||||
}
|
||||
|
|
@ -204,7 +215,7 @@ 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 Exception {
|
||||
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
|
||||
|
||||
String fileName = null;
|
||||
JFileChooser c = new JFileChooser();
|
||||
|
|
@ -222,14 +233,20 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
if (fileName == null) {
|
||||
return;
|
||||
}
|
||||
OutputStream out = new FileOutputStream(fileName);
|
||||
OutputStream out = null;
|
||||
try {
|
||||
out = new FileOutputStream(fileName);
|
||||
exporter.doExport(out, entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
} finally {
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} finally {
|
||||
if (out!=null) {
|
||||
out.close();
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -238,7 +255,7 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.core.VascViewRenderer#renderView(net.forwardfire.vasc.core.VascEntry)
|
||||
*/
|
||||
public void renderView() throws Exception {
|
||||
public void renderView() throws VascFrontendException {
|
||||
|
||||
if (initOnce==false) {
|
||||
return;
|
||||
|
|
@ -306,68 +323,66 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
body.setLayout(new SpringLayout());
|
||||
int column = 0;
|
||||
try {
|
||||
for(VascEntryListOption c:entry.getVascEntryListOptions()) {
|
||||
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
|
||||
|
||||
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(c.getName()));
|
||||
label.createComponent(entry,c,model,body);
|
||||
|
||||
VascUIComponent editor = c.getVascEntryFieldType().provideEditorUIComponent(i,c);
|
||||
model = new VascValueModel(c.getVascEntryFieldType().provideEditorVascValueModel(i,c));
|
||||
model.addListener(new VascOptionValueModelListener(c));
|
||||
model.setValue(c.getDefaultValue());
|
||||
Object g = editor.createComponent(entry,c,model,body);
|
||||
|
||||
column++;
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(c, editor,g);
|
||||
}
|
||||
body.add(new JLabel()); // fill :(
|
||||
}
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendHelper().headerOptionsCreatedFillData(entry);
|
||||
|
||||
// add search
|
||||
column++;
|
||||
JLabel searchLabel = new JLabel("Search: ");
|
||||
body.add(searchLabel);
|
||||
final JTextField searchField = new JTextField();
|
||||
body.add(searchField);
|
||||
searchField.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
for(VascEntryListOption c:entry.getVascEntryListOptions()) {
|
||||
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
|
||||
|
||||
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(c.getName()));
|
||||
label.createComponent(entry,c,model,body);
|
||||
|
||||
VascUIComponent editor = c.getVascEntryFieldType().provideEditorUIComponent(i,c);
|
||||
model = new VascValueModel(c.getVascEntryFieldType().provideEditorVascValueModel(i,c));
|
||||
model.addListener(new VascOptionValueModelListener(c));
|
||||
model.setValue(c.getDefaultValue());
|
||||
Object g = editor.createComponent(entry,c,model,body);
|
||||
|
||||
column++;
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(c, editor,g);
|
||||
}
|
||||
body.add(new JLabel()); // fill :(
|
||||
}
|
||||
}
|
||||
});
|
||||
JButton searchButton = new JButton("Search");
|
||||
searchButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
}
|
||||
});
|
||||
body.add(searchButton);
|
||||
entry.getVascFrontendController().getVascFrontendHelper().headerOptionsCreatedFillData(entry);
|
||||
|
||||
// add search
|
||||
column++;
|
||||
JLabel searchLabel = new JLabel("Search: ");
|
||||
body.add(searchLabel);
|
||||
final JTextField searchField = new JTextField();
|
||||
body.add(searchField);
|
||||
searchField.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
}
|
||||
});
|
||||
JButton searchButton = new JButton("Search");
|
||||
searchButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
}
|
||||
});
|
||||
body.add(searchButton);
|
||||
|
||||
} catch (VascException ve) {
|
||||
throw new RuntimeException(ve);
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
SpringUtilities.makeCompactGrid(body, column,3, 6,6, 6,6);
|
||||
//optionPanel.add(body);
|
||||
|
||||
|
||||
SpringUtilities.makeCompactGrid(body, column,3, 6,6, 6,6);
|
||||
|
||||
// create pager bar
|
||||
JPanel bottomPanel = new JPanel();
|
||||
bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.PAGE_AXIS));
|
||||
bottomPanel.add(new SwingPagerPanel(entry));
|
||||
bottomPanel.add(new SwingActionPanel(entry));
|
||||
|
||||
//top.add(header,BorderLayout.NORTH);
|
||||
parent2.setLayout(new BorderLayout());
|
||||
parent2.add(header,BorderLayout.NORTH);
|
||||
parent2.add(optionPanel,BorderLayout.CENTER);
|
||||
parent2.add(bottomPanel,BorderLayout.SOUTH);
|
||||
//top.add(header,BorderLayout.NORTH);
|
||||
parent2.setLayout(new BorderLayout());
|
||||
parent2.add(header,BorderLayout.NORTH);
|
||||
parent2.add(optionPanel,BorderLayout.CENTER);
|
||||
parent2.add(bottomPanel,BorderLayout.SOUTH);
|
||||
}
|
||||
|
||||
private void renderBody(JComponent parent2) {
|
||||
|
|
@ -419,12 +434,7 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
if (o==null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// todo: fix
|
||||
entry.getVascFrontendController().getVascFrontend().renderEdit();
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, ee);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderEdit();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -432,76 +442,72 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
parent2.add(scrollPane);
|
||||
}
|
||||
class ColumnListener extends MouseAdapter {
|
||||
protected JTable table;
|
||||
private String sortField = null;
|
||||
private boolean sortOrder = true;
|
||||
|
||||
public ColumnListener(JTable t) {
|
||||
table = t;
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
TableColumnModel colModel = table.getColumnModel();
|
||||
int columnModelIndex = colModel.getColumnIndexAtX(e.getX());
|
||||
TableColumn tc = colModel.getColumn(columnModelIndex);
|
||||
VascEntryField field = (VascEntryField)tc.getHeaderValue();
|
||||
entry.getVascFrontendController().getVascFrontendActions().sortAction(field);
|
||||
sortOrder = entry.getVascFrontendController().getVascEntryState().getVascBackendState().isSortAscending();
|
||||
sortField = field.getId();
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, ee);
|
||||
}
|
||||
table.repaint();
|
||||
}
|
||||
}
|
||||
protected JTable table;
|
||||
private String sortField = null;
|
||||
private boolean sortOrder = true;
|
||||
|
||||
public ColumnListener(JTable t) {
|
||||
table = t;
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
TableColumnModel colModel = table.getColumnModel();
|
||||
int columnModelIndex = colModel.getColumnIndexAtX(e.getX());
|
||||
TableColumn tc = colModel.getColumn(columnModelIndex);
|
||||
VascEntryField field = (VascEntryField)tc.getHeaderValue();
|
||||
entry.getVascFrontendController().getVascFrontendActions().sortAction(field);
|
||||
sortOrder = entry.getVascFrontendController().getVascEntryState().getVascBackendState().isSortAscending();
|
||||
sortField = field.getId();
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
table.repaint();
|
||||
}
|
||||
}
|
||||
class EntrySectionListener implements ListSelectionListener {
|
||||
JTable table;
|
||||
EntrySectionListener(JTable table) {
|
||||
this.table = table;
|
||||
}
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if (e.getValueIsAdjusting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (table.getSelectedRowCount()==0) {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
} else if (table.getSelectedRowCount()==1) {
|
||||
for (JButton but:rowActions.values()) {
|
||||
but.setEnabled(true);
|
||||
}
|
||||
} else {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.isMultiRowAction()) {
|
||||
but.setEnabled(true);
|
||||
} else {
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int rowIndex = table.getSelectedRow();
|
||||
|
||||
if (rowIndex!=-1) {
|
||||
// temp; gets index by sorter
|
||||
//rowIndex = tableSorter.modelIndex(rowIndex);
|
||||
Object data = entry.getVascFrontendController().getVascEntryState().getEntryDataList().get(rowIndex);
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(data);
|
||||
} else {
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
JTable table;
|
||||
EntrySectionListener(JTable table) {
|
||||
this.table = table;
|
||||
}
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if (e.getValueIsAdjusting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (table.getSelectedRowCount()==0) {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
} else if (table.getSelectedRowCount()==1) {
|
||||
for (JButton but:rowActions.values()) {
|
||||
but.setEnabled(true);
|
||||
}
|
||||
} else {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.isMultiRowAction()) {
|
||||
but.setEnabled(true);
|
||||
} else {
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int rowIndex = table.getSelectedRow();
|
||||
|
||||
if (rowIndex!=-1) {
|
||||
// temp; gets index by sorter
|
||||
//rowIndex = tableSorter.modelIndex(rowIndex);
|
||||
Object data = entry.getVascFrontendController().getVascEntryState().getEntryDataList().get(rowIndex);
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(data);
|
||||
} else {
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
class JComponentTableHeaderCellRenderer extends DefaultTableCellRenderer {
|
||||
private static final long serialVersionUID = 10L;
|
||||
@Override
|
||||
|
|
@ -517,12 +523,12 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
}
|
||||
|
||||
if (entry != null) {
|
||||
JTableHeader header = table.getTableHeader();
|
||||
if (header != null) {
|
||||
setForeground(header.getForeground());
|
||||
setBackground(header.getBackground());
|
||||
setFont(header.getFont());
|
||||
}
|
||||
JTableHeader header = table.getTableHeader();
|
||||
if (header != null) {
|
||||
setForeground(header.getForeground());
|
||||
setBackground(header.getBackground());
|
||||
setFont(header.getFont());
|
||||
}
|
||||
}
|
||||
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
|
||||
return this;
|
||||
|
|
@ -570,11 +576,11 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
logger.fine("Row Action");
|
||||
try {
|
||||
action.doRowAction(entry, entry.getVascFrontendController().getVascEntryState().getEntryDataObject());
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,e);
|
||||
}
|
||||
try {
|
||||
action.doRowAction(entry, entry.getVascFrontendController().getVascEntryState().getEntryDataObject());
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -588,11 +594,11 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
logger.fine("Global Action");
|
||||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,e);
|
||||
}
|
||||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,9 +31,10 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
|
||||
|
||||
|
|
@ -129,8 +130,8 @@ class SelectActionListener implements ActionListener {
|
|||
boolean value = ((JCheckBox)e.getSource()).isSelected();
|
||||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -29,9 +29,9 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,9 +32,10 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
|
||||
|
||||
|
|
@ -139,8 +140,8 @@ class SelectActionListener3 implements ActionListener {
|
|||
Color newColor = JColorChooser.showDialog(null,"Choose a color...",cur);
|
||||
try {
|
||||
model.setValue(newColor);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
} else {
|
||||
String cur=null;
|
||||
|
|
@ -158,8 +159,8 @@ class SelectActionListener3 implements ActionListener {
|
|||
Color newColor = JColorChooser.showDialog(null,"Choose a color...",c);
|
||||
String newColorString = "#"+Integer.toHexString( newColor.getRGB() & 0x00ffffff );
|
||||
model.setValue(newColorString);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,10 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
import com.michaelbaranov.microba.calendar.DatePicker;
|
||||
|
||||
|
|
@ -132,8 +133,8 @@ class SelectActionListener2 implements ActionListener {
|
|||
Date value = ((DatePicker)e.getSource()).getDate();
|
||||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -29,9 +29,9 @@ import javax.swing.JLabel;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -35,11 +35,12 @@ import javax.swing.ListCellRenderer;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItem;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItemModel;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
|
||||
|
||||
|
|
@ -69,8 +70,8 @@ public class SwingList implements VascUIComponent {
|
|||
VascSelectItem i = (VascSelectItem)((JComboBox)e.getSource()).getSelectedItem();
|
||||
try {
|
||||
model.setValue(i.getValue());
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ee) {
|
||||
throw new VascFrontendException(ee);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ import javax.swing.event.DocumentListener;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@ import javax.swing.event.DocumentListener;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<artifactId>vasc-frontend-swt</artifactId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
<name>vasc-frontend-swt</name>
|
||||
<description>vasc-frontend-swt</description>
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ package net.forwardfire.vasc.frontend.swt;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascColumnValueModelListener;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@
|
|||
|
||||
package net.forwardfire.vasc.frontend.swt;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
|
@ -41,6 +43,7 @@ import net.forwardfire.vasc.core.ui.VascValueModel;
|
|||
import net.forwardfire.vasc.core.ui.VascValueModelListener;
|
||||
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendController;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.frontend.swt.ui.SwtBoolean;
|
||||
import net.forwardfire.vasc.frontend.swt.ui.SwtButton;
|
||||
import net.forwardfire.vasc.frontend.swt.ui.SwtLabel;
|
||||
|
|
@ -160,7 +163,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 Exception {
|
||||
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
|
||||
FileDialog dlg = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
|
||||
dlg.setFilterNames(FILTER_NAMES);
|
||||
dlg.setFilterExtensions(FILTER_EXTS);
|
||||
|
|
@ -170,26 +173,37 @@ public class SwtVascFrontend extends AbstractVascFrontend {
|
|||
if (fileName == null) {
|
||||
return;
|
||||
}
|
||||
OutputStream out = new FileOutputStream(fileName);
|
||||
OutputStream out = null;
|
||||
try {
|
||||
out = new FileOutputStream(fileName);
|
||||
exporter.doExport(out, entry);
|
||||
} catch (Exception e) {
|
||||
} 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);
|
||||
} finally {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} finally {
|
||||
if (out!=null) {
|
||||
out.close();
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void renderEdit() throws Exception {
|
||||
public void renderEdit() throws VascFrontendException {
|
||||
logger.fine("Rending Edit View");
|
||||
SwtVascEditDialog dialog = new SwtVascEditDialog(entry);
|
||||
dialog.open();
|
||||
try {
|
||||
dialog.open();
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void renderDelete() throws Exception {
|
||||
public void renderDelete() throws VascFrontendException {
|
||||
boolean del = askDelete( Display.getCurrent().getActiveShell() );
|
||||
if (del==false) {
|
||||
return;
|
||||
|
|
@ -210,7 +224,7 @@ public class SwtVascFrontend extends AbstractVascFrontend {
|
|||
return false;
|
||||
}
|
||||
|
||||
public void renderView() throws Exception {
|
||||
public void renderView() throws VascFrontendException {
|
||||
if (initOnce) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -358,11 +372,7 @@ public class SwtVascFrontend extends AbstractVascFrontend {
|
|||
text.addModifyListener(new ModifyListener() {
|
||||
public void modifyText(ModifyEvent e) {
|
||||
String value = text.getText();
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(value);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -395,7 +405,7 @@ public class SwtVascFrontend extends AbstractVascFrontend {
|
|||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,e);
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -577,8 +587,8 @@ public class SwtVascFrontend extends AbstractVascFrontend {
|
|||
logger.fine("Row Action");
|
||||
try {
|
||||
action.doRowAction(entry, entry.getVascFrontendController().getVascEntryState().getEntryDataObject());
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,10 @@ package net.forwardfire.vasc.frontend.swt.ui;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
|
|
@ -64,10 +65,10 @@ public class SwtBoolean implements VascUIComponent {
|
|||
public void widgetSelected(SelectionEvent e) {
|
||||
Boolean value = button.getSelection();
|
||||
try {
|
||||
System.out.println("setting value: "+value);
|
||||
//System.out.println("setting value: "+value);
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ package net.forwardfire.vasc.frontend.swt.ui;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ package net.forwardfire.vasc.frontend.swt.ui;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
|
|
|
|||
|
|
@ -27,11 +27,12 @@ import java.util.List;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItem;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItemModel;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
|
|
@ -71,8 +72,8 @@ public class SwtList implements VascUIComponent {
|
|||
if (item!=null) {
|
||||
try {
|
||||
model.setValue(item.getValue());
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,10 @@ package net.forwardfire.vasc.frontend.swt.ui;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
|
|
@ -74,8 +75,8 @@ public class SwtText implements VascUIComponent {
|
|||
Object value = text.getText();
|
||||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,10 @@ package net.forwardfire.vasc.frontend.swt.ui;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
|
|
@ -98,8 +99,8 @@ public class SwtTextArea implements VascUIComponent {
|
|||
Object value = text.getText();
|
||||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-web-export</artifactId>
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<artifactId>vasc-ejb3</artifactId>
|
||||
<artifactId>vasc-core-ejb3-client</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ package net.forwardfire.vasc.frontend.web.export;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Locale;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
|
|
@ -34,10 +33,9 @@ import javax.servlet.http.HttpServletResponse;
|
|||
|
||||
import net.forwardfire.vasc.core.VascController;
|
||||
import net.forwardfire.vasc.core.VascControllerProvider;
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryLocal;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryExporter;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
/**
|
||||
* VascExportServlet exports the data from the vasc exporters on fixed url.
|
||||
|
|
@ -73,16 +71,16 @@ public class VascExportServlet extends HttpServlet {
|
|||
className = className.substring(atIndex+1);
|
||||
}
|
||||
try {
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl == null) {
|
||||
cl = className.getClass().getClassLoader();
|
||||
}
|
||||
Class<?> clazz = cl.loadClass(className);
|
||||
if (classArgument==null) {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.newInstance();
|
||||
} else {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.getConstructor(String.class).newInstance(classArgument);
|
||||
}
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl == null) {
|
||||
cl = className.getClass().getClassLoader();
|
||||
}
|
||||
Class<?> clazz = cl.loadClass(className);
|
||||
if (classArgument==null) {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.newInstance();
|
||||
} else {
|
||||
vascControllerProvider = (VascControllerProvider)clazz.getConstructor(String.class).newInstance(classArgument);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new ServletException("Could not create VascControllerProvider: "+e.getMessage(),e);
|
||||
}
|
||||
|
|
@ -191,6 +189,6 @@ public class VascExportServlet extends HttpServlet {
|
|||
response.setContentType("text/html");
|
||||
}
|
||||
out.flush();
|
||||
out.close();
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-web-jsf</artifactId>
|
||||
<name>vasc-frontend-web-jsf</name>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<artifactId>vasc-ejb3</artifactId>
|
||||
<artifactId>vasc-core-ejb3-client</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
|
|||
|
|
@ -23,22 +23,23 @@
|
|||
package net.forwardfire.vasc.frontend.web.jsf;
|
||||
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import javax.faces.context.FacesContext;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import net.forwardfire.vasc.core.VascController;
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryControllerLocal;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendController;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.impl.DefaultVascFactory;
|
||||
import net.forwardfire.vasc.impl.entry.DefaultVascEntryResourceResolver;
|
||||
import net.forwardfire.vasc.impl.x4o.VascParser;
|
||||
|
||||
|
||||
|
|
@ -142,7 +143,7 @@ abstract public class AbstractJSFVascFacesControllerLocal extends AbstractJSFVas
|
|||
VascParser vp = new VascParser(c);
|
||||
for (String name:vascGlobalELBeans.keySet()) {
|
||||
Object value = vascGlobalELBeans.get(name);
|
||||
vp.addGlobalELBean(name, value);
|
||||
vp.addELBean(name, value);
|
||||
}
|
||||
vp.parseResource(res);
|
||||
}
|
||||
|
|
@ -150,8 +151,20 @@ abstract public class AbstractJSFVascFacesControllerLocal extends AbstractJSFVas
|
|||
|
||||
vascController = c;
|
||||
return vascController;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Could not create remote based vasc controller; "+e.getMessage(),e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (SecurityException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (NullPointerException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (ParserConfigurationException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (SAXException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (IOException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
package net.forwardfire.vasc.frontend.web.jsf;
|
||||
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
|
@ -54,9 +55,11 @@ import net.forwardfire.vasc.core.VascEntryField;
|
|||
import net.forwardfire.vasc.core.VascEntryState;
|
||||
import net.forwardfire.vasc.core.VascEntryLink;
|
||||
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.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.impl.actions.AddRowAction;
|
||||
import net.forwardfire.vasc.impl.actions.DeleteRowAction;
|
||||
import net.forwardfire.vasc.impl.actions.EditRowAction;
|
||||
|
|
@ -319,9 +322,9 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
Object parentSelected = entry.getVascFrontendController().getVascEntryState().getParent().getEntryDataObject();
|
||||
logger.fine("parentCustomRowaction do on: "+action+" parentSelection: "+parentSelected);
|
||||
try {
|
||||
action.doRowAction(parent,parentSelected);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
action.doRowAction(parent,parentSelected);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
logger.fine("parentCustomRowaction DONE");
|
||||
}
|
||||
|
|
@ -383,12 +386,12 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
this.actionId=actionId;
|
||||
}
|
||||
public void beforePhase(PhaseEvent PhaseEvent) {
|
||||
}
|
||||
}
|
||||
|
||||
public void afterPhase(PhaseEvent PhaseEvent) {
|
||||
if (vascEntry==null) {
|
||||
return;
|
||||
}
|
||||
public void afterPhase(PhaseEvent PhaseEvent) {
|
||||
if (vascEntry==null) {
|
||||
return;
|
||||
}
|
||||
RowVascAction action = vascEntry.getRowActionById(actionId);
|
||||
VascEntryState state = vascEntry.getVascFrontendController().getVascEntryState();
|
||||
|
||||
|
|
@ -413,11 +416,11 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
} finally {
|
||||
vascEntry=null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public PhaseId getPhaseId(){
|
||||
return PhaseId.UPDATE_MODEL_VALUES;
|
||||
}
|
||||
public PhaseId getPhaseId(){
|
||||
return PhaseId.UPDATE_MODEL_VALUES;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -459,11 +462,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
logger.fine("backAction");
|
||||
JSFVascUIComponent comp = JSFVascUIComponent.findVascParent(event.getComponent());
|
||||
comp.initGoto(entry.getVascFrontendController().getVascEntryState().getParent());
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
public void backEditAction(ActionEvent event) {
|
||||
|
|
@ -495,11 +494,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
pageIndex++;
|
||||
selectedDirectPage=pageIndex+"";
|
||||
entry.getVascFrontendController().getVascFrontendActions().pageAction(pageIndex);
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
public void pagePreviousAction(ActionEvent event) {
|
||||
|
|
@ -511,11 +506,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
pageIndex--;
|
||||
selectedDirectPage=pageIndex+"";
|
||||
entry.getVascFrontendController().getVascFrontendActions().pageAction(pageIndex);
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
public boolean getHasPageNextAction() {
|
||||
|
|
@ -546,8 +537,8 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
} else {
|
||||
action.doRowAction(entry, selected.getRecord());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
logger.fine("RowAction DONE");
|
||||
}
|
||||
|
|
@ -560,8 +551,8 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
GlobalVascAction action = entry.getGlobalActionById(id);
|
||||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -573,8 +564,8 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
RowVascAction action = entry.getRowActionById("addRowAction");
|
||||
try {
|
||||
action.doRowAction(entry, null);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -588,11 +579,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(selected.getRecord());
|
||||
VascEntryLink l = entry.getVascEntryLinkById(linkId);
|
||||
comp.initGoto(l);
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
this.selected=selected; // renderView clears selected !
|
||||
}
|
||||
|
||||
|
|
@ -618,11 +605,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
VascEntry entry = comp.getVascEntry();
|
||||
VascEntryLink l = entry.getVascEntryLinkById(linkId);
|
||||
comp.initGoto(l);
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
this.selected=selected; // renderView clears selected !
|
||||
}
|
||||
|
||||
|
|
@ -637,11 +620,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
int index = comp.getVascEntry().getVascFrontendController().getVascEntryState().getParent().getEntryDataList().indexOf(o);
|
||||
VascDataBackendBean selected = new VascDataBackendBean(entry,o,index);
|
||||
this.selected=selected;
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
this.selected=selected;
|
||||
}
|
||||
|
||||
|
|
@ -653,11 +632,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
getSelected().setRealValue(false);
|
||||
}
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(null);
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
public void saveAction(ActionEvent event) {
|
||||
|
|
@ -681,17 +656,13 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(selected.getRecord());
|
||||
|
||||
if (entry.getVascFrontendController().getVascEntryState().isEditCreate()) {
|
||||
entry.getVascFrontendController().getVascFrontendActions().persistObject();
|
||||
} else {
|
||||
entry.getVascFrontendController().getVascFrontendActions().mergeObject();
|
||||
}
|
||||
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
if (entry.getVascFrontendController().getVascEntryState().isEditCreate()) {
|
||||
entry.getVascFrontendController().getVascFrontendActions().persistObject();
|
||||
} else {
|
||||
entry.getVascFrontendController().getVascFrontendActions().mergeObject();
|
||||
}
|
||||
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
public void deleteAction(ActionEvent event) {
|
||||
|
|
@ -719,11 +690,7 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
entry.getVascFrontendController().getVascFrontendActions().deleteObject();
|
||||
}
|
||||
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
public void processDirectDownloadChange(ValueChangeEvent event){
|
||||
|
|
@ -750,8 +717,8 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
GlobalVascAction action = entry.getExportActionById(id);
|
||||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
} catch (VascException e1) {
|
||||
throw new VascFrontendException(e1);
|
||||
}
|
||||
|
||||
// restore normal view for next request.
|
||||
|
|
@ -775,9 +742,11 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
ServletOutputStream out = response.getOutputStream();
|
||||
|
||||
ex.doExport(out, entry);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
out.close();
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (IOException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} finally {
|
||||
fc.responseComplete();
|
||||
}
|
||||
|
|
@ -806,12 +775,8 @@ public class JSFVascEntrySupportBean implements Serializable {
|
|||
logger.fine("directPageChangeAction id: "+id);
|
||||
//selectedDirectPage = "null";
|
||||
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontendActions().pageAction(new Integer(id));
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendActions().pageAction(new Integer(id));
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
}
|
||||
|
||||
// Pure get/setters
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import javax.faces.context.FacesContext;
|
|||
|
||||
import net.forwardfire.vasc.core.entry.VascEntryExporter;
|
||||
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendController;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.ui.JSFBoolean;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.ui.JSFLabel;
|
||||
|
|
@ -85,7 +86,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
|
|||
/**
|
||||
* @see net.forwardfire.vasc.frontend.VascFrontend#renderDelete(java.lang.Object)
|
||||
*/
|
||||
public void renderDelete() throws Exception {
|
||||
public void renderDelete() throws VascFrontendException {
|
||||
logger.finer("renderDelete");
|
||||
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
|
||||
JSFVascUIComponent comp = JSFVascUIComponent.findVascChild(viewRoot,getVascEntry().getId());
|
||||
|
|
@ -95,7 +96,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
|
|||
/**
|
||||
* @see net.forwardfire.vasc.frontend.VascFrontend#renderEdit(java.lang.Object)
|
||||
*/
|
||||
public void renderEdit() throws Exception {
|
||||
public void renderEdit() throws VascFrontendException {
|
||||
logger.finer("renderEdit");
|
||||
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
|
||||
JSFVascUIComponent comp = JSFVascUIComponent.findVascChild(viewRoot,getVascEntry().getId());
|
||||
|
|
@ -117,7 +118,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
|
|||
/**
|
||||
* @see net.forwardfire.vasc.frontend.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExporter)
|
||||
*/
|
||||
public void renderExport(VascEntryExporter exporter) throws Exception {
|
||||
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
|
||||
logger.finer("renderExport");
|
||||
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
|
||||
JSFVascUIComponent comp = JSFVascUIComponent.findVascChild(viewRoot,getVascEntry().getId());
|
||||
|
|
@ -128,7 +129,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
|
|||
/**
|
||||
* @see net.forwardfire.vasc.frontend.VascFrontend#renderView()
|
||||
*/
|
||||
public void renderView() throws Exception {
|
||||
public void renderView() throws VascFrontendException {
|
||||
logger.finer("renderView");
|
||||
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
|
||||
JSFVascUIComponent comp = JSFVascUIComponent.findVascChild(viewRoot,getVascEntry().getId());
|
||||
|
|
|
|||
|
|
@ -39,11 +39,12 @@ import net.forwardfire.vasc.core.VascEntry;
|
|||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascEntryLocal;
|
||||
import net.forwardfire.vasc.core.VascEntryState;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.VascEntryLink;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener.VascFrontendEventType;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendController;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.ui.JSFListModel;
|
||||
|
||||
/**
|
||||
|
|
@ -357,7 +358,8 @@ public class JSFVascUIComponent extends UIComponentBase {
|
|||
Object selectedValue = v.getVascEntryFieldValue().getValue(v, selected);
|
||||
|
||||
// set data parameter on new vasc entry
|
||||
entry.getVascFrontendController().getVascEntryState().getVascBackendState().setDataParameter(parameterName, selectedValue);
|
||||
//was; entry.getVascFrontendController().getVascEntryState().getVascBackendState().setDataParameter(parameterName, selectedValue);
|
||||
entry.setEntryParameter(parameterName, selectedValue);
|
||||
logger.fine("Setting link parameter: "+parameterName+" with: "+selectedValue);
|
||||
}
|
||||
|
||||
|
|
@ -404,7 +406,7 @@ public class JSFVascUIComponent extends UIComponentBase {
|
|||
try {
|
||||
field.getVascEntryFieldValue().setValue(field, data, value);
|
||||
} catch (VascException e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,13 +64,13 @@ import javax.faces.validator.ValidatorException;
|
|||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascEntryListOption;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.VascEntryLink;
|
||||
import net.forwardfire.vasc.core.VascEntryLinkType;
|
||||
import net.forwardfire.vasc.core.actions.RowVascAction;
|
||||
import net.forwardfire.vasc.core.ui.VascOptionValueModelListener;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.impl.actions.AddRowAction;
|
||||
|
||||
|
||||
|
|
@ -115,35 +115,33 @@ public class JSFVascUIComponentRenderer extends Renderer {
|
|||
view.encodeAll(facesContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encodeEnd(FacesContext facesContext,UIComponent component) throws IOException {
|
||||
ResponseWriter writer = facesContext.getResponseWriter();
|
||||
writer.endElement("div");
|
||||
}
|
||||
|
||||
|
||||
// ========== All private
|
||||
|
||||
|
||||
private void injectAll(FacesContext context,JSFVascUIComponent comp,boolean clean) {
|
||||
|
||||
String injectEditFieldsId = (String)comp.getAttributes().get(JSFVascUIComponent.INJECT_EDIT_FIELDS_ID);
|
||||
String injectTableOptionsId = (String)comp.getAttributes().get(JSFVascUIComponent.INJECT_TABLE_OPTIONS_ID);
|
||||
String injectTableColumnsId = (String)comp.getAttributes().get(JSFVascUIComponent.INJECT_TABLE_COLUMNS_ID);
|
||||
|
||||
UIComponent injectEditFieldsComponent = JSFVascUIComponent.findComponentById(comp.getFacet("editView"),injectEditFieldsId);
|
||||
UIComponent injectTableOptionsComponent = JSFVascUIComponent.findComponentById(comp.getFacet("listView"),injectTableOptionsId);
|
||||
UIComponent injectTableColumnsComponent = JSFVascUIComponent.findComponentById(comp.getFacet("listView"),injectTableColumnsId);
|
||||
if (injectEditFieldsComponent==null) {
|
||||
throw new NullPointerException("Could not find injectEditFieldsId: "+injectEditFieldsId);
|
||||
}
|
||||
if (injectTableOptionsComponent==null) {
|
||||
throw new NullPointerException("Could not find injectTableOptionsId: "+injectTableOptionsId);
|
||||
}
|
||||
if (injectTableColumnsComponent==null) {
|
||||
throw new NullPointerException("Could not find injectTableColumnsId: "+injectTableColumnsId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encodeEnd(FacesContext facesContext,UIComponent component) throws IOException {
|
||||
ResponseWriter writer = facesContext.getResponseWriter();
|
||||
writer.endElement("div");
|
||||
}
|
||||
|
||||
// ========== All private
|
||||
|
||||
private void injectAll(FacesContext context,JSFVascUIComponent comp,boolean clean) {
|
||||
|
||||
String injectEditFieldsId = (String)comp.getAttributes().get(JSFVascUIComponent.INJECT_EDIT_FIELDS_ID);
|
||||
String injectTableOptionsId = (String)comp.getAttributes().get(JSFVascUIComponent.INJECT_TABLE_OPTIONS_ID);
|
||||
String injectTableColumnsId = (String)comp.getAttributes().get(JSFVascUIComponent.INJECT_TABLE_COLUMNS_ID);
|
||||
|
||||
UIComponent injectEditFieldsComponent = JSFVascUIComponent.findComponentById(comp.getFacet("editView"),injectEditFieldsId);
|
||||
UIComponent injectTableOptionsComponent = JSFVascUIComponent.findComponentById(comp.getFacet("listView"),injectTableOptionsId);
|
||||
UIComponent injectTableColumnsComponent = JSFVascUIComponent.findComponentById(comp.getFacet("listView"),injectTableColumnsId);
|
||||
if (injectEditFieldsComponent==null) {
|
||||
throw new NullPointerException("Could not find injectEditFieldsId: "+injectEditFieldsId);
|
||||
}
|
||||
if (injectTableOptionsComponent==null) {
|
||||
throw new NullPointerException("Could not find injectTableOptionsId: "+injectTableOptionsId);
|
||||
}
|
||||
if (injectTableColumnsComponent==null) {
|
||||
throw new NullPointerException("Could not find injectTableColumnsId: "+injectTableColumnsId);
|
||||
}
|
||||
|
||||
if (clean) {
|
||||
logger.finer("Cleaning of all dynamic JSF components.");
|
||||
injectEditFieldsComponent.getChildren().clear();
|
||||
|
|
@ -158,8 +156,8 @@ public class JSFVascUIComponentRenderer extends Renderer {
|
|||
} catch (Exception e) {
|
||||
throw new RuntimeException("Error while injecting; "+e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private String i18n(VascEntry entry,String key,Object...params) {
|
||||
return entry.getVascFrontendController().getVascEntryResourceResolver().getTextValue(key,params);
|
||||
}
|
||||
|
|
@ -175,55 +173,52 @@ public class JSFVascUIComponentRenderer extends Renderer {
|
|||
if (entry==null) {
|
||||
throw new NullPointerException("No parent vasc component found.");
|
||||
}
|
||||
|
||||
|
||||
String entrySupportVar = (String)comp.getAttributes().get(JSFVascUIComponent.ENTRY_SUPPORT_VAR_KEY);
|
||||
for (VascEntryField c:entry.getVascEntryFields()) {
|
||||
for (VascEntryField c:entry.getVascEntryFields()) {
|
||||
if (entry.getVascFrontendController().getVascFrontendDataSelector().isFieldEdit(c)==false) {
|
||||
continue;
|
||||
}
|
||||
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
|
||||
|
||||
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(entry,c.getName()));
|
||||
label.createComponent(entry,c,model,grid);
|
||||
|
||||
VascUIComponent editor = c.getVascEntryFieldType().provideEditorUIComponent(i,c);
|
||||
model = new VascValueModel(c.getVascEntryFieldType().provideEditorVascValueModel(i,c));
|
||||
//model.setValue(c.getVascEntryFieldValue().getValue(c, bean));
|
||||
//model.addListener(new VascColumnValueModelListener(c,bean));
|
||||
UIInput jsfEdit = (UIInput)editor.createComponent(entry,c,model,grid);
|
||||
jsfEdit.addValidator(new VascJSFInputValidator2(c.getId()));
|
||||
|
||||
int index = VascDataBackendBean.getIndexId(c);
|
||||
|
||||
ValueExpression ve7 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{"+entrySupportVar+".selected.field"+index+"}", Object.class);
|
||||
jsfEdit.setValueExpression("value", ve7);
|
||||
|
||||
|
||||
ValueExpression ve8 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{"+entrySupportVar+".selected != null}", Boolean.class);
|
||||
jsfEdit.setValueExpression("rendered", ve8);
|
||||
|
||||
HtmlMessage message = (HtmlMessage)application.createComponent(HtmlMessage.COMPONENT_TYPE);
|
||||
message.setId(viewRoot.createUniqueId());
|
||||
message.setFor(jsfEdit.getId());
|
||||
|
||||
message.setErrorClass("style_textBlue");
|
||||
message.setFatalClass("style_textRed");
|
||||
message.setInfoClass("style_textBlack");
|
||||
message.setWarnClass("style_textGreen");
|
||||
|
||||
grid.getChildren().add(message);
|
||||
|
||||
//column++;
|
||||
// i==0 is for multi field editor support... which is still very in progress
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(c, editor,jsfEdit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
|
||||
|
||||
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(entry,c.getName()));
|
||||
label.createComponent(entry,c,model,grid);
|
||||
|
||||
VascUIComponent editor = c.getVascEntryFieldType().provideEditorUIComponent(i,c);
|
||||
model = new VascValueModel(c.getVascEntryFieldType().provideEditorVascValueModel(i,c));
|
||||
//model.setValue(c.getVascEntryFieldValue().getValue(c, bean));
|
||||
//model.addListener(new VascColumnValueModelListener(c,bean));
|
||||
UIInput jsfEdit = (UIInput)editor.createComponent(entry,c,model,grid);
|
||||
jsfEdit.addValidator(new VascJSFInputValidator2(c.getId()));
|
||||
|
||||
int index = VascDataBackendBean.getIndexId(c);
|
||||
|
||||
ValueExpression ve7 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{"+entrySupportVar+".selected.field"+index+"}", Object.class);
|
||||
jsfEdit.setValueExpression("value", ve7);
|
||||
|
||||
ValueExpression ve8 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{"+entrySupportVar+".selected != null}", Boolean.class);
|
||||
jsfEdit.setValueExpression("rendered", ve8);
|
||||
|
||||
HtmlMessage message = (HtmlMessage)application.createComponent(HtmlMessage.COMPONENT_TYPE);
|
||||
message.setId(viewRoot.createUniqueId());
|
||||
message.setFor(jsfEdit.getId());
|
||||
|
||||
message.setErrorClass("style_textBlue");
|
||||
message.setFatalClass("style_textRed");
|
||||
message.setInfoClass("style_textBlack");
|
||||
message.setWarnClass("style_textGreen");
|
||||
|
||||
grid.getChildren().add(message);
|
||||
|
||||
//column++;
|
||||
// i==0 is for multi field editor support... which is still very in progress
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(c, editor,jsfEdit);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class VascJSFInputValidator2 implements Validator,Serializable {
|
||||
|
|
@ -275,80 +270,74 @@ public class JSFVascUIComponentRenderer extends Renderer {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private void addTableOptions(FacesContext fc,UIComponent grid,JSFVascUIComponent comp) throws FacesException, VascException {
|
||||
|
||||
//Application application = fc.getApplication();
|
||||
//UIViewRoot viewRoot = fc.getViewRoot();
|
||||
|
||||
//JSFVascUIComponent comp = JSFVascUIComponent.findVascParent(grid);
|
||||
VascEntry entry = comp.getVascEntry();
|
||||
|
||||
for (VascEntryListOption option:entry.getVascEntryListOptions()) {
|
||||
for (int i=0;i<option.getVascEntryFieldType().getUIComponentCount(option);i++) {
|
||||
|
||||
VascUIComponent label = option.getVascEntryFieldType().provideLabelUIComponent(i,option);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(entry,option.getName()));
|
||||
label.createComponent(entry,option,model,grid);
|
||||
|
||||
VascUIComponent editor = option.getVascEntryFieldType().provideEditorUIComponent(i,option);
|
||||
for (VascEntryListOption option:entry.getVascEntryListOptions()) {
|
||||
for (int i=0;i<option.getVascEntryFieldType().getUIComponentCount(option);i++) {
|
||||
|
||||
VascUIComponent label = option.getVascEntryFieldType().provideLabelUIComponent(i,option);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(entry,option.getName()));
|
||||
label.createComponent(entry,option,model,grid);
|
||||
|
||||
VascUIComponent editor = option.getVascEntryFieldType().provideEditorUIComponent(i,option);
|
||||
model = new VascValueModel(option.getVascEntryFieldType().provideEditorVascValueModel(i,option));
|
||||
model.addListener(new VascOptionValueModelListener(option));
|
||||
model.setValue(option.getDefaultValue());
|
||||
UIInput jsfEdit = (UIInput)editor.createComponent(entry,option,model,grid);
|
||||
jsfEdit.addValueChangeListener(new ModelChangeListener(model));
|
||||
|
||||
if (comp.getInjectTableOptionOnChange()!=null && comp.getInjectTableOptionOnChange().isEmpty()==false) {
|
||||
if (jsfEdit instanceof HtmlSelectBooleanCheckbox) {
|
||||
((HtmlSelectBooleanCheckbox)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectManyMenu) {
|
||||
((HtmlSelectManyMenu)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlInputText) {
|
||||
((HtmlInputText)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlInputTextarea) {
|
||||
((HtmlInputTextarea)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectManyListbox) {
|
||||
((HtmlSelectManyListbox)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectOneMenu) {
|
||||
((HtmlSelectOneMenu)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectOneRadio) {
|
||||
((HtmlSelectOneRadio)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectOneListbox) {
|
||||
((HtmlSelectOneListbox)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
}
|
||||
|
||||
Class<?> clazz = option.getVascEntryFieldType().getAutoDetectClass();
|
||||
if (clazz!=null && model.getValue()!=null) {
|
||||
if (clazz.equals(model.getValue().getClass())==false) {
|
||||
// lets try setting correct default.
|
||||
try {
|
||||
Constructor<?> c = clazz.getConstructor(String.class);
|
||||
Object value = c.newInstance(model.getValue());
|
||||
jsfEdit.setValue(value);
|
||||
} catch (Exception e) {
|
||||
throw new VascException(e);
|
||||
}
|
||||
} else {
|
||||
jsfEdit.setValue(model.getValue()); // set default value
|
||||
}
|
||||
}
|
||||
// i==0 is for multi field editor support... which is stell very in progress aka not working
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(option, editor,jsfEdit);
|
||||
}
|
||||
}
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendHelper().headerOptionsCreatedFillData(entry);
|
||||
model.addListener(new VascOptionValueModelListener(option));
|
||||
model.setValue(option.getDefaultValue());
|
||||
UIInput jsfEdit = (UIInput)editor.createComponent(entry,option,model,grid);
|
||||
jsfEdit.addValueChangeListener(new ModelChangeListener(model));
|
||||
|
||||
if (comp.getInjectTableOptionOnChange()!=null && comp.getInjectTableOptionOnChange().isEmpty()==false) {
|
||||
if (jsfEdit instanceof HtmlSelectBooleanCheckbox) {
|
||||
((HtmlSelectBooleanCheckbox)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectManyMenu) {
|
||||
((HtmlSelectManyMenu)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlInputText) {
|
||||
((HtmlInputText)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlInputTextarea) {
|
||||
((HtmlInputTextarea)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectManyListbox) {
|
||||
((HtmlSelectManyListbox)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectOneMenu) {
|
||||
((HtmlSelectOneMenu)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectOneRadio) {
|
||||
((HtmlSelectOneRadio)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
if (jsfEdit instanceof HtmlSelectOneListbox) {
|
||||
((HtmlSelectOneListbox)jsfEdit).setOnchange(comp.getInjectTableOptionOnChange());
|
||||
}
|
||||
}
|
||||
|
||||
Class<?> clazz = option.getVascEntryFieldType().getAutoDetectClass();
|
||||
if (clazz!=null && model.getValue()!=null) {
|
||||
if (clazz.equals(model.getValue().getClass())==false) {
|
||||
// lets try setting correct default.
|
||||
try {
|
||||
Constructor<?> c = clazz.getConstructor(String.class);
|
||||
Object value = c.newInstance(model.getValue());
|
||||
jsfEdit.setValue(value);
|
||||
} catch (Exception e) {
|
||||
throw new VascException(e);
|
||||
}
|
||||
} else {
|
||||
jsfEdit.setValue(model.getValue()); // set default value
|
||||
}
|
||||
}
|
||||
// i==0 is for multi field editor support... which is stell very in progress aka not working
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(option, editor,jsfEdit);
|
||||
}
|
||||
}
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendHelper().headerOptionsCreatedFillData(entry);
|
||||
}
|
||||
|
||||
public class ModelChangeListener implements ValueChangeListener,Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
VascValueModel model;
|
||||
|
|
@ -555,11 +544,11 @@ public class JSFVascUIComponentRenderer extends Renderer {
|
|||
}
|
||||
|
||||
private MethodExpression getMethodExpression(String name) {
|
||||
Class<?>[] argtypes = new Class[1];
|
||||
argtypes[0] = ActionEvent.class;
|
||||
FacesContext facesCtx = FacesContext.getCurrentInstance();
|
||||
ELContext elContext = facesCtx.getELContext();
|
||||
return facesCtx.getApplication().getExpressionFactory().createMethodExpression(elContext, name, null, argtypes);
|
||||
}
|
||||
|
||||
Class<?>[] argtypes = new Class[1];
|
||||
argtypes[0] = ActionEvent.class;
|
||||
FacesContext facesCtx = FacesContext.getCurrentInstance();
|
||||
ELContext elContext = facesCtx.getELContext();
|
||||
return facesCtx.getApplication().getExpressionFactory().createMethodExpression(elContext, name, null, argtypes);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
@ -27,8 +27,8 @@ import java.io.Serializable;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFieldValue;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ import javax.faces.context.FacesContext;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.JSFVascUIComponent;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,14 +30,11 @@ import javax.faces.context.FacesContext;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
|
||||
|
||||
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
/**
|
||||
*
|
||||
* JSFLabel
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 25, 2009
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ import javax.faces.convert.ConverterException;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItem;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.JSFVascUIComponent;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@ import java.util.ListIterator;
|
|||
import javax.faces.model.SelectItem;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItem;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItemModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ import javax.faces.convert.ConverterException;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.JSFVascUIComponent;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ import javax.faces.context.FacesContext;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.web.jsf.JSFVascUIComponent;
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue