2
0
Fork 0

Small refactor for comming converters

This commit is contained in:
Willem Cazander 2012-01-22 08:16:15 +01:00
parent 75b3d5e0a0
commit 1c308a684a
178 changed files with 5865 additions and 1531 deletions

View file

@ -21,12 +21,12 @@
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>

View file

@ -0,0 +1,63 @@
package net.forwardfire.vasc.frontends.web.jsf;
import java.util.List;
import java.util.Map;
import net.forwardfire.vasc.backend.VascBackend;
import net.forwardfire.vasc.backend.VascBackendState;
import net.forwardfire.vasc.core.VascController;
import net.forwardfire.vasc.core.VascEntry;
import net.forwardfire.vasc.core.VascEntryField;
import net.forwardfire.vasc.frontend.VascFrontendData;
import net.forwardfire.vasc.impl.DefaultVascFactory;
public abstract class AbstractJSFVascFacesControllerBase {
abstract VascFrontendData getNewVascFrontendData();
abstract VascController getVascController();
public void setVascController(VascController vascController) {
}
/**
*
*/
public List<Object> executeVascList(String entryId,Map<String,Object> para) {
try {
// plug all object
VascEntry entry = getVascController().getVascEntryController().getVascEntryById(entryId);
DefaultVascFactory.fillVascEntryFrontend(entry, getVascController(), getNewVascFrontendData());
// set def para
VascBackendState state = entry.getVascFrontendData().getVascEntryState().getVascBackendState();
for (String key2:entry.getEntryParameterKeys()) {
Object value = entry.getEntryParameter(key2);
state.setDataParameter(key2, value);
}
// set list para
for (VascEntryField vef:entry.getListOptions()) {
Object def = vef.getDefaultValue();
if (def==null) {
continue;
}
String backendName = vef.getBackendName();
state.setDataParameter(backendName, def);
}
// copy para
if (para!=null) {
for (String key:para.keySet()) {
entry.setEntryParameter(key, para.get(key));
}
}
// done, execute and return data.
entry.getVascFrontendData().getVascFrontendActions().refreshData();
return entry.getVascFrontendData().getVascEntryState().getEntryDataList();
} catch (Exception e) {
throw new RuntimeException("Could not execute list: "+e.getMessage(),e);
}
}
}

View file

@ -38,23 +38,23 @@ import javax.faces.context.FacesContext;
import javax.naming.Context;
import javax.naming.InitialContext;
import net.forwardfire.vasc.core.VascBackend;
import net.forwardfire.vasc.core.VascBackendControllerLocal;
import net.forwardfire.vasc.core.VascBackendState;
import net.forwardfire.vasc.backend.VascBackend;
import net.forwardfire.vasc.backend.VascBackendControllerLocal;
import net.forwardfire.vasc.backend.VascBackendState;
import net.forwardfire.vasc.backend.proxy.VascBackendProxyEventExecutor;
import net.forwardfire.vasc.core.VascController;
import net.forwardfire.vasc.core.VascEntry;
import net.forwardfire.vasc.core.VascEntryControllerLocal;
import net.forwardfire.vasc.core.VascEntryField;
import net.forwardfire.vasc.core.VascException;
import net.forwardfire.vasc.core.VascFrontendData;
import net.forwardfire.vasc.core.entry.VascEntryBackendEventListener;
import net.forwardfire.vasc.core.entry.VascEntryFieldValue;
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
import net.forwardfire.vasc.core.entry.VascEntryRecordCreator;
import net.forwardfire.vasc.ejb3.VascServiceManager;
import net.forwardfire.vasc.frontend.VascFrontendData;
import net.forwardfire.vasc.impl.DefaultVascBackedEntryFinalizer;
import net.forwardfire.vasc.impl.DefaultVascFactory;
import net.forwardfire.vasc.impl.VascBackendProxyEventExecutor;
import net.forwardfire.vasc.impl.entry.DefaultVascEntryResourceResolver;
import net.forwardfire.vasc.impl.entry.SetParameterBackendListener;
@ -66,7 +66,7 @@ import net.forwardfire.vasc.impl.entry.SetParameterBackendListener;
* @author Willem Cazander
* @version 1.0 Sep 21, 2010
*/
abstract public class AbstractJSFVascFacesController {
abstract public class AbstractJSFVascFacesControllerEJB extends AbstractJSFVascFacesControllerBase {
private VascController vascController = null;
@ -167,51 +167,7 @@ abstract public class AbstractJSFVascFacesController {
return vascFrontendData;
}
/**
*
*/
public List<Object> executeVascList(String entryId,Map<String,Object> para) {
try {
// plug all object
VascEntry entry = getVascController().getVascEntryController().getVascEntryById(entryId);
entry.setVascFrontendData(getNewVascFrontendData());
entry.getVascFrontendData().setVascController(getVascController());
VascBackend backend = DefaultVascFactory.getProxyVascBackend(entry);
entry.getVascFrontendData().getVascEntryState().setVascBackend(backend);
entry.getVascFrontendData().getVascEntryState().setVascEntry(entry);
// set def para
VascBackendState state = entry.getVascFrontendData().getVascEntryState().getVascBackendState();
for (String key2:entry.getEntryParameterKeys()) {
Object value = entry.getEntryParameter(key2);
//System.out.println("Copy paras name: "+key2+" value: "+value+" class: "+value.getClass().getName());
state.setDataParameter(key2, value);
}
// set list para
for (VascEntryField vef:entry.getListOptions()) {
Object def = vef.getDefaultValue();
if (def==null) {
continue;
}
String backendName = vef.getBackendName();
state.setDataParameter(backendName, def);
}
// copy para
if (para!=null) {
for (String key:para.keySet()) {
entry.setEntryParameter(key, para.get(key));
}
}
// done, execute and return data.
entry.getVascFrontendData().getVascFrontendHelper().refreshData(entry);
return entry.getVascFrontendData().getVascEntryState().getEntryDataList();
} catch (Exception e) {
throw new RuntimeException("Could not execute list: "+e.getMessage(),e);
}
}
class RemoteVascBackend implements VascBackend {
@ -445,7 +401,4 @@ abstract public class AbstractJSFVascFacesController {
throw new RuntimeException("Could not create remote based vasc controller; "+e.getMessage(),e);
}
}
public void setVascController(VascController vascController) {
}
}

View file

@ -0,0 +1,157 @@
/*
* Copyright 2007-2012 forwardfire.net All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.forwardfire.vasc.frontends.web.jsf;
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 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.VascFrontendData;
import net.forwardfire.vasc.impl.DefaultVascFactory;
import net.forwardfire.vasc.impl.entry.DefaultVascEntryResourceResolver;
import net.forwardfire.vasc.impl.x4o.VascParser;
/**
* Base faces session object for managing vasc entries.
*
* @author Willem Cazander
* @version 1.0 Sep 21, 2010
*/
abstract public class AbstractJSFVascFacesControllerLocal extends AbstractJSFVascFacesControllerBase {
protected VascController vascController = null;
protected Map<String,Object> vascGlobalELBeans = new HashMap<String,Object>(3);
abstract public String getResourceBundleWEB();
abstract public boolean getDisableI18N();
abstract public VascUserInfo getVascUserInfo();
abstract public String[] getVascParseResources();
public class VascUserInfo {
Long userId;
String username;
String[] roles;
public VascUserInfo(Long userId,String username,String[] roles) {
this.userId=userId;
this.username=username;
this.roles=roles;
}
}
class MergedResourceBundle extends ResourceBundle {
Map<String,String> data = new HashMap<String,String>(500);
public void addDateMap(Map<String,String> dataMap) {
data.putAll(dataMap);
}
public void addDataBundle(ResourceBundle bundle) {
for (String key:bundle.keySet()) {
String value = bundle.getString(key);
data.put(key, value);
}
}
public Object handleGetObject(String key) {
return data.get(key);
}
public Enumeration<String> getKeys() {
return Collections.enumeration(data.keySet());
}
}
/**
* Config vasc frontend data object for jsf component to use.
*
* @return
*/
public VascFrontendData getNewVascFrontendData() {
Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
MergedResourceBundle bundle = new MergedResourceBundle();
bundle.addDataBundle(ResourceBundle.getBundle(getResourceBundleWEB(), locale));
VascFrontendData vascFrontendData = DefaultVascFactory.getDefaultVascFrontendData(bundle);
vascFrontendData.addVascEntryFrontendEventListener(new VascEntryFrontendEventListener() {
private static final long serialVersionUID = 1L;
public VascFrontendEventType[] getEventTypes() {
VascFrontendEventType[] result = {VascEntryFrontendEventListener.VascFrontendEventType.EXCEPTION};
return result;
}
public void vascEvent(VascEntry entry, Object data) {
if (data instanceof Exception) {
((Exception)data).printStackTrace();
}
}
});
// config frontend data for ISF usage
if (getDisableI18N()) {
vascFrontendData.setVascEntryResourceResolver(new DefaultVascEntryResourceResolver());
} else {
vascFrontendData.setVascEntryResourceResolver(new DefaultVascEntryResourceResolver(bundle));
}
return vascFrontendData;
}
/**
* @return the vascController
*/
public VascController getVascController() {
if (vascController!=null) {
return vascController;
}
try {
// get local jvm plugging controller
VascUserInfo vui = getVascUserInfo();
VascController c = DefaultVascFactory.getDefaultVascController(vui.userId, vui.username, vui.roles);
// Load vasc resources
for (String res:getVascParseResources()) {
VascParser vp = new VascParser(c);
for (String name:vascGlobalELBeans.keySet()) {
Object value = vascGlobalELBeans.get(name);
vp.addGlobalELBean(name, value);
}
vp.parseResource(res);
}
DefaultVascFactory.fillVascControllerLocalEntries((VascEntryControllerLocal) c.getVascEntryController(), c);
vascController = c;
return vascController;
} catch (Exception e) {
throw new RuntimeException("Could not create remote based vasc controller; "+e.getMessage(),e);
}
}
}

View file

@ -85,6 +85,6 @@ public class JSFVascEntryEventListener implements VascEntryFrontendEventListener
ValueExpression ve2 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{"+entrySupportVar+".tableDataModel.wrappedData}", Object.class);
ve2.setValue(FacesContext.getCurrentInstance().getELContext(), result);
ValueExpression ve3 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{"+entrySupportVar+".tablePagesDataModel.wrappedData}", Object.class);
ve3.setValue(FacesContext.getCurrentInstance().getELContext(), entry.getVascFrontendData().getVascFrontendHelper().getVascBackendPageNumbers(entry));
ve3.setValue(FacesContext.getCurrentInstance().getELContext(), entry.getVascFrontendData().getVascFrontendPager().getTablePagesFromBackend());
}
}

View file

@ -47,18 +47,16 @@ import javax.faces.model.SelectItem;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import net.forwardfire.vasc.core.VascBackend;
import net.forwardfire.vasc.core.VascBackendPageNumber;
import net.forwardfire.vasc.backend.VascBackend;
import net.forwardfire.vasc.backend.VascBackendPageNumber;
import net.forwardfire.vasc.core.VascEntry;
import net.forwardfire.vasc.core.VascEntryField;
import net.forwardfire.vasc.core.VascEntryState;
import net.forwardfire.vasc.core.VascException;
import net.forwardfire.vasc.core.VascLinkEntry;
import net.forwardfire.vasc.core.VascLinkEntryType;
import net.forwardfire.vasc.core.actions.GlobalVascAction;
import net.forwardfire.vasc.core.actions.RowVascAction;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.core.entry.VascEntryFieldValue;
import net.forwardfire.vasc.impl.actions.AddRowAction;
import net.forwardfire.vasc.impl.actions.DeleteRowAction;
import net.forwardfire.vasc.impl.actions.EditRowAction;
@ -106,7 +104,7 @@ public class JSFVascEntrySupportBean implements Serializable {
editSelectItemModels = new HashMap<String,Object>(6);
// cache some values
VascBackend backend = entry.getVascFrontendData().getVascEntryState().getVascBackend();;
VascBackend backend = entry.getVascFrontendData().getVascEntryState().getVascBackend();
backendPageable = backend.isPageable();
backendMoveable = backend.isRecordMoveable();
backendSearchable = backend.isSearchable();
@ -136,40 +134,11 @@ public class JSFVascEntrySupportBean implements Serializable {
}
public String getParentSelectedDisplayName() {
if (entry.getVascFrontendData().getVascEntryState().getParent()==null) {
return ""; // no parent
}
VascEntry parent = entry.getVascFrontendData().getVascEntryState().getParent().getVascEntry();
Object row = entry.getVascFrontendData().getVascEntryState().getParent().getEntryDataObject();
if (row==null) {
return "no-selection";
}
VascEntryField v = parent.getVascEntryFieldById(parent.getDisplayNameFieldId());
VascEntryFieldValue ve = v.getVascEntryFieldValue();
String result = "no-data";
try {
result = ve.getDisplayValue(v, row);
} catch (VascException e) {
throw new RuntimeException("Could not get parent name DisplayValue: "+e.getMessage(),e);
}
return result;
return entry.getVascFrontendData().getVascFrontendHelper().getParentSelectedDisplayName(entry);
}
public String getSelectedDisplayName() {
Object row = entry.getVascFrontendData().getVascEntryState().getEntryDataObject();
if (row==null) {
return "no-selection";
}
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
VascEntryFieldValue ve = v.getVascEntryFieldValue();
String result = "no-data";
try {
result = ve.getDisplayValue(v, row);
} catch (VascException e) {
throw new RuntimeException("Could not get selected name DisplayValue: "+e.getMessage(),e);
}
return result;
return entry.getVascFrontendData().getVascFrontendHelper().getSelectedDisplayName(entry);
}
public int getTotalColumnCount() {
@ -227,26 +196,14 @@ public class JSFVascEntrySupportBean implements Serializable {
public long getPageTotalRecordCount() {
long result = entry.getVascFrontendData().getVascEntryState().getTotalBackendRecords();
return result;
return entry.getVascFrontendData().getVascFrontendPager().getPageTotalRecordCount();
}
public long getPageStartCount() {
int index = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
int pageSize = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageSize();
long result = index*pageSize;
return result;
return entry.getVascFrontendData().getVascFrontendPager().getPageStartCount();
}
public long getPageStopCount() {
int index = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
int pageSize = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageSize();
long result = (index*pageSize)+pageSize;
// limit for small result sets.
if (result>entry.getVascFrontendData().getVascEntryState().getTotalBackendRecords()) {
result = entry.getVascFrontendData().getVascEntryState().getTotalBackendRecords();
}
return result;
return entry.getVascFrontendData().getVascFrontendPager().getPageStopCount();
}
public List<SelectItem> getGlobalExportItems() {
@ -294,99 +251,27 @@ public class JSFVascEntrySupportBean implements Serializable {
}
public boolean getHasOnlySinglePage() {
int pages = getTablePagesDataModel().getRowCount();
if (pages==1) {
return true;
}
return false;
return entry.getVascFrontendData().getVascFrontendPager().getHasOnlySinglePage();
}
public boolean getHasExtendedPageMode() {
int pages = getTablePagesDataModel().getRowCount();
if (pages>13) {
return true;
}
return false;
return entry.getVascFrontendData().getVascFrontendPager().getHasExtendedPageMode();
}
public boolean getHasExtendedPageModeCenter() {
if (getHasExtendedPageMode()==false) {
return false;
}
int page = getVascEntry().getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
if (page<5) {
return false;
}
int pages = getTablePagesDataModel().getRowCount();
if (page>pages-6) {
return false;
}
return true;
return entry.getVascFrontendData().getVascFrontendPager().getHasExtendedPageModeCenter();
}
public List<VascBackendPageNumber> getTablePagesExtendedBegin() {
List<VascBackendPageNumber> result = new ArrayList<VascBackendPageNumber>(6);
getTablePagesDataModel().setRowIndex(0);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
getTablePagesDataModel().setRowIndex(1);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
getTablePagesDataModel().setRowIndex(2);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
int page = getVascEntry().getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
if (page==2 | page==3 | page==4) {
getTablePagesDataModel().setRowIndex(3);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
}
if (page==3 | page==4) {
getTablePagesDataModel().setRowIndex(4);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
}
if (page==4) {
getTablePagesDataModel().setRowIndex(5);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
}
return result;
return entry.getVascFrontendData().getVascFrontendPager().getTablePagesExtendedBegin();
}
public List<VascBackendPageNumber> getTablePagesExtendedEnd() {
List<VascBackendPageNumber> result = new ArrayList<VascBackendPageNumber>(6);
int pages = getTablePagesDataModel().getRowCount();
int page = getVascEntry().getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
int off = pages-page;
if (off==5) {
getTablePagesDataModel().setRowIndex(pages-6);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
}
if (off==4 | off==5) {
getTablePagesDataModel().setRowIndex(pages-5);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
}
if (off==3 | off==4 | off==5) {
getTablePagesDataModel().setRowIndex(pages-4);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
}
getTablePagesDataModel().setRowIndex(pages-3);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
getTablePagesDataModel().setRowIndex(pages-2);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
getTablePagesDataModel().setRowIndex(pages-1);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
return result;
return entry.getVascFrontendData().getVascFrontendPager().getTablePagesExtendedEnd();
}
public List<VascBackendPageNumber> getTablePagesExtendedCenter() {
List<VascBackendPageNumber> result = new ArrayList<VascBackendPageNumber>(3);
int page = getVascEntry().getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
getTablePagesDataModel().setRowIndex(page-1);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
getTablePagesDataModel().setRowIndex(page);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
getTablePagesDataModel().setRowIndex(page+1);
result.add((VascBackendPageNumber)getTablePagesDataModel().getRowData());
return result;
return entry.getVascFrontendData().getVascFrontendPager().getTablePagesExtendedCenter();
}
private String getComponentType(UIComponent comp) {
@ -544,12 +429,7 @@ public class JSFVascEntrySupportBean implements Serializable {
logger.fine("searchAction");
JSFVascUIComponent comp = JSFVascUIComponent.findVascParent(event.getComponent());
VascEntry entry = comp.getVascEntry();
entry.getVascFrontendData().getVascFrontendHelper().searchAction(entry, searchString);
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
entry.getVascFrontendData().getVascFrontendHelper().handleException(entry, e);
}
entry.getVascFrontendData().getVascFrontendActions().searchAction(searchString);
}
public void sortAction(ActionEvent event) {
@ -558,17 +438,9 @@ public class JSFVascEntrySupportBean implements Serializable {
JSFVascUIComponent comp = JSFVascUIComponent.findVascParent(event.getComponent());
VascEntry entry = comp.getVascEntry();
VascEntryField field = entry.getVascEntryFieldById(fieldIdString);
entry.getVascFrontendData().getVascFrontendHelper().sortAction(entry, field);
entry.getVascFrontendData().getVascFrontendActions().sortAction(field);
sortOrder = entry.getVascFrontendData().getVascEntryState().getVascBackendState().isSortAscending();
sortField = field.getId();
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
entry.getVascFrontendData().getVascFrontendHelper().handleException(entry, e);
}
}
public boolean getRenderBackAction() {
@ -613,12 +485,7 @@ public class JSFVascEntrySupportBean implements Serializable {
JSFVascUIComponent comp = JSFVascUIComponent.findVascParent(event.getComponent());
VascEntry entry = comp.getVascEntry();
selectedDirectPage=pageIndex+"";
entry.getVascFrontendData().getVascFrontendHelper().pageAction(entry, pageIndex);
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
entry.getVascFrontendData().getVascFrontendHelper().handleException(entry, e);
}
entry.getVascFrontendData().getVascFrontendActions().pageAction(pageIndex);
}
public void pageNextAction(ActionEvent event) {
@ -629,7 +496,7 @@ public class JSFVascEntrySupportBean implements Serializable {
int pageIndex = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
pageIndex++;
selectedDirectPage=pageIndex+"";
entry.getVascFrontendData().getVascFrontendHelper().pageAction(entry, pageIndex);
entry.getVascFrontendData().getVascFrontendActions().pageAction(pageIndex);
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
@ -645,7 +512,7 @@ public class JSFVascEntrySupportBean implements Serializable {
int pageIndex = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
pageIndex--;
selectedDirectPage=pageIndex+"";
entry.getVascFrontendData().getVascFrontendHelper().pageAction(entry, pageIndex);
entry.getVascFrontendData().getVascFrontendActions().pageAction(pageIndex);
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
@ -654,25 +521,11 @@ public class JSFVascEntrySupportBean implements Serializable {
}
public boolean getHasPageNextAction() {
VascEntry entry = getVascEntry();
int pageIndex = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
pageIndex++;
// copyed from helper
Long total = entry.getVascFrontendData().getVascEntryState().getTotalBackendRecords();
logger.finer("Checking has next action for next pageIndex"+pageIndex+" of total: "+total+" and pageSize: "+entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageSize());
if (total!=null && pageIndex>(total/entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageSize())) {
return false;
}
return true;
return entry.getVascFrontendData().getVascFrontendPager().getHasPageNextAction();
}
public boolean getHasPagePreviousAction() {
VascEntry entry = getVascEntry();
int pageIndex = entry.getVascFrontendData().getVascEntryState().getVascBackendState().getPageIndex();
if (pageIndex==0) {
return false;
}
return true;
return entry.getVascFrontendData().getVascFrontendPager().getHasPagePreviousAction();
}
@ -751,15 +604,10 @@ public class JSFVascEntrySupportBean implements Serializable {
JSFVascUIComponent comp = JSFVascUIComponent.findVascParent(event.getComponent());
Object selected = comp.getSupportBean().getSelectedTableRecord().getRecord();
if ("up".equals(moveAction)) {
entry.getVascFrontendData().getVascFrontendHelper().moveAction(entry,selected,true);
entry.getVascFrontendData().getVascFrontendActions().moveUpAction(selected);
}
if ("down".equals(moveAction)) {
entry.getVascFrontendData().getVascFrontendHelper().moveAction(entry,selected,false);
}
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
entry.getVascFrontendData().getVascFrontendHelper().handleException(entry, e);
entry.getVascFrontendData().getVascFrontendActions().moveDownAction(selected);
}
}
@ -834,7 +682,7 @@ public class JSFVascEntrySupportBean implements Serializable {
*/
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(selected.getRecord());
entry.getVascFrontendData().getVascFrontendHelper().mergeObject(entry);
entry.getVascFrontendData().getVascFrontendActions().mergeObject();
try {
entry.getVascFrontendData().getVascFrontend().renderView();
@ -861,11 +709,11 @@ public class JSFVascEntrySupportBean implements Serializable {
if (sels.isEmpty()==false) {
for (Object row:sels) {
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(row);
entry.getVascFrontendData().getVascFrontendHelper().deleteObject(entry);
entry.getVascFrontendData().getVascFrontendActions().deleteObject();
}
state.getMultiActionSelection().clear(); // after down deselect all options
} else {
entry.getVascFrontendData().getVascFrontendHelper().deleteObject(entry);
entry.getVascFrontendData().getVascFrontendActions().deleteObject();
}
try {
@ -956,7 +804,7 @@ public class JSFVascEntrySupportBean implements Serializable {
//selectedDirectPage = "null";
try {
entry.getVascFrontendData().getVascFrontendHelper().pageAction(entry, new Integer(id));
entry.getVascFrontendData().getVascFrontendActions().pageAction(new Integer(id));
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
entry.getVascFrontendData().getVascFrontendHelper().handleException(entry, e);

View file

@ -28,9 +28,9 @@ import java.util.logging.Logger;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import net.forwardfire.vasc.core.AbstractVascFrontend;
import net.forwardfire.vasc.core.VascFrontendData;
import net.forwardfire.vasc.core.entry.VascEntryExporter;
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
import net.forwardfire.vasc.frontend.VascFrontendData;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFBoolean;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFLabel;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFList;
@ -58,7 +58,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
// Frontend Stuff
/**
* @see net.forwardfire.vasc.core.VascFrontend#getFrontendType()
* @see net.forwardfire.vasc.frontend.VascFrontend#getFrontendType()
*/
public String getFrontendType() {
return "jsf";
@ -83,7 +83,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderDelete(java.lang.Object)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderDelete(java.lang.Object)
*/
public void renderDelete() throws Exception {
logger.finer("renderDelete");
@ -93,7 +93,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderEdit(java.lang.Object)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderEdit(java.lang.Object)
*/
public void renderEdit() throws Exception {
logger.finer("renderEdit");
@ -115,7 +115,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExporter)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExporter)
*/
public void renderExport(VascEntryExporter exporter) throws Exception {
logger.finer("renderExport");
@ -126,7 +126,7 @@ public class JSFVascFrontendRenderer extends AbstractVascFrontend implements Ser
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderView()
* @see net.forwardfire.vasc.frontend.VascFrontend#renderView()
*/
public void renderView() throws Exception {
logger.finer("renderView");

View file

@ -33,16 +33,16 @@ import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
import net.forwardfire.vasc.core.VascBackend;
import net.forwardfire.vasc.backend.VascBackend;
import net.forwardfire.vasc.core.VascController;
import net.forwardfire.vasc.core.VascEntry;
import net.forwardfire.vasc.core.VascEntryField;
import net.forwardfire.vasc.core.VascEntryState;
import net.forwardfire.vasc.core.VascException;
import net.forwardfire.vasc.core.VascFrontendData;
import net.forwardfire.vasc.core.VascLinkEntry;
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener.VascFrontendEventType;
import net.forwardfire.vasc.frontend.VascFrontendData;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFListModel;
import net.forwardfire.vasc.impl.DefaultVascFactory;
@ -241,7 +241,7 @@ public class JSFVascUIComponent extends UIComponentBase {
try {
VascEntry entry = supportBean.getVascEntry();
entry.getVascFrontendData().getVascEntryState().setEditCreate(false);
entry.getVascFrontendData().getVascFrontendHelper().fireVascEvent(entry, VascFrontendEventType.SELECT, rowObject);
entry.getVascFrontendData().fireVascFrontendEvent(entry, VascFrontendEventType.SELECT, rowObject);
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(rowObject);
entry.getVascFrontendData().getVascFrontend().renderEdit();
} catch (Exception e) {
@ -339,10 +339,9 @@ public class JSFVascUIComponent extends UIComponentBase {
if (entry==null) {
throw new NullPointerException("Could not locate '"+entryName+"' from : "+vascController);
}
frontendData.setVascFrontend(null); // reset data obj. todo rm this.
frontendData.setVascController(vascController);
entry.setVascFrontendData(frontendData);
DefaultVascFactory.fillVascEntryFrontend(entry, vascController, frontendData);
try {
frontendData.initFrontendListeners(entry,"jsf");
} catch (InstantiationException e1) {
@ -352,9 +351,6 @@ public class JSFVascUIComponent extends UIComponentBase {
// TODO Auto-generated catch block
e1.printStackTrace();
}
VascBackend backend = DefaultVascFactory.getProxyVascBackend(entry);
frontendData.getVascEntryState().setVascBackend(backend);
frontendData.getVascEntryState().setVascEntry(entry);
if (state!=null) {
// copy prevois parent

View file

@ -38,7 +38,6 @@ import javax.faces.component.UIColumn;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.component.UIOutput;
import javax.faces.component.UISelectMany;
import javax.faces.component.UIViewRoot;
import javax.faces.component.html.HtmlCommandLink;
import javax.faces.component.html.HtmlInputText;
@ -177,12 +176,10 @@ public class JSFVascUIComponentRenderer extends Renderer {
}
String entrySupportVar = (String)comp.getAttributes().get(JSFVascUIComponent.ENTRY_SUPPORT_VAR_KEY);
int column = 0;
for (VascEntryField c:entry.getVascEntryFields()) {
if (entry.getVascFrontendData().getVascFrontendHelper().renderEdit(c)==false) {
continue;
}
//System.out.println("Multi edit size: "+c.getVascEntryFieldType().getUIComponentCount(c)+" of: "+c.getVascEntryFieldType());
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
@ -217,8 +214,7 @@ public class JSFVascUIComponentRenderer extends Renderer {
grid.getChildren().add(message);
column++;
//column++;
// i==0 is for multi field editor support... which is still very in progress
if (i==0) {
entry.getVascFrontendData().addFieldVascUIComponents(c, editor,jsfEdit);

View file

@ -59,14 +59,16 @@ import javax.faces.validator.ValidatorException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import net.forwardfire.vasc.core.AbstractVascFrontend;
import net.forwardfire.vasc.core.VascBackend;
import net.forwardfire.vasc.core.VascBackendFilter;
import net.forwardfire.vasc.backend.VascBackend;
import net.forwardfire.vasc.backend.VascBackendFilter;
import net.forwardfire.vasc.backend.proxy.VascBackendProxyFilter;
import net.forwardfire.vasc.backend.proxy.VascBackendProxyPaged;
import net.forwardfire.vasc.backend.proxy.VascBackendProxySearch;
import net.forwardfire.vasc.backend.proxy.VascBackendProxySort;
import net.forwardfire.vasc.core.VascController;
import net.forwardfire.vasc.core.VascEntry;
import net.forwardfire.vasc.core.VascEntryField;
import net.forwardfire.vasc.core.VascException;
import net.forwardfire.vasc.core.VascFrontendData;
import net.forwardfire.vasc.core.VascLinkEntry;
import net.forwardfire.vasc.core.actions.GlobalVascAction;
import net.forwardfire.vasc.core.actions.RowVascAction;
@ -76,15 +78,13 @@ import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener.VascFrontendEventType;
import net.forwardfire.vasc.core.ui.VascOptionValueModelListener;
import net.forwardfire.vasc.core.ui.VascValueModel;
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
import net.forwardfire.vasc.frontend.VascFrontendData;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFBoolean;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFLabel;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFList;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFText;
import net.forwardfire.vasc.frontends.web.jsf.ui.JSFTextArea;
import net.forwardfire.vasc.impl.VascBackendProxyFilter;
import net.forwardfire.vasc.impl.VascBackendProxyPaged;
import net.forwardfire.vasc.impl.VascBackendProxySearch;
import net.forwardfire.vasc.impl.VascBackendProxySort;
@ -256,7 +256,7 @@ public class OldVascUIComponent extends UIComponentBase {
index++;
}
tableDataModel.setWrappedData(result);
pagesDataModel.setWrappedData(entry.getVascFrontendData().getVascFrontendHelper().getVascBackendPageNumbers(entry));
pagesDataModel.setWrappedData(entry.getVascFrontendData().getVascFrontendPager().getTablePagesFromBackend());
// ui value
ValueExpression ren3 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{vascActionBean.values['totalPageResults']}", Integer.class);
@ -1041,7 +1041,7 @@ public class OldVascUIComponent extends UIComponentBase {
public void processAction(ActionEvent event) {
OldVascUIComponent comp = OldVascUIComponent.findVascParent(event.getComponent());
VascEntry entry = comp.getVascEntry();
entry.getVascFrontendData().getVascFrontendHelper().deleteObject(entry);
entry.getVascFrontendData().getVascFrontendActions().deleteObject();
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
@ -1060,7 +1060,7 @@ public class OldVascUIComponent extends UIComponentBase {
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(editObject.getRecord());
entry.getVascFrontendData().getVascFrontendHelper().mergeObject(entry);
entry.getVascFrontendData().getVascFrontendActions().mergeObject();
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
@ -1075,7 +1075,7 @@ public class OldVascUIComponent extends UIComponentBase {
OldVascUIComponent comp = OldVascUIComponent.findVascParent(event.getComponent());
VascEntry entry = comp.getVascEntry();
entry.getVascFrontendData().getVascFrontendHelper().pageAction(entry, pageIndex);
entry.getVascFrontendData().getVascFrontendActions().pageAction(pageIndex);
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
@ -1091,7 +1091,7 @@ public class OldVascUIComponent extends UIComponentBase {
VascEntry entry = comp.getVascEntry();
VascEntryField field = entry.getVascEntryFieldById(fieldIdString);
entry.getVascFrontendData().getVascFrontendHelper().sortAction(entry, field);
entry.getVascFrontendData().getVascFrontendActions().sortAction(field);
ValueExpression ren2 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{vascActionBean.values['sortOrder']}", Boolean.class);
ValueExpression ren3 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{vascActionBean.values['sortField']}", String.class);
@ -1114,7 +1114,7 @@ public class OldVascUIComponent extends UIComponentBase {
ValueExpression ve3 = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression(FacesContext.getCurrentInstance().getELContext(), "#{vascActionBean.searchString}", String.class);
String ss = (String)ve3.getValue(FacesContext.getCurrentInstance().getELContext());
entry.getVascFrontendData().getVascFrontendHelper().searchAction(entry, ss);
entry.getVascFrontendData().getVascFrontendActions().searchAction(ss);
try {
entry.getVascFrontendData().getVascFrontend().renderView();
} catch (Exception e) {
@ -1130,10 +1130,10 @@ public class OldVascUIComponent extends UIComponentBase {
VascEntry entry = comp.getVascEntry();
Object selected = comp.getSelectedTableObject();
if ("up".equals(to)) {
entry.getVascFrontendData().getVascFrontendHelper().moveAction(entry,selected,true);
entry.getVascFrontendData().getVascFrontendActions().moveUpAction(selected);
}
if ("down".equals(to)) {
entry.getVascFrontendData().getVascFrontendHelper().moveAction(entry,selected,false);
entry.getVascFrontendData().getVascFrontendActions().moveDownAction(selected);
}
try {
entry.getVascFrontendData().getVascFrontend().renderView();
@ -1596,7 +1596,7 @@ class JSFFrontendRenderer extends AbstractVascFrontend implements Serializable {
private static final long serialVersionUID = 1L;
/**
* @see net.forwardfire.vasc.core.VascFrontend#getFrontendType()
* @see net.forwardfire.vasc.frontend.VascFrontend#getFrontendType()
*/
public String getFrontendType() {
return "jsf";
@ -1622,7 +1622,7 @@ class JSFFrontendRenderer extends AbstractVascFrontend implements Serializable {
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderDelete(java.lang.Object)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderDelete(java.lang.Object)
*/
public void renderDelete() throws Exception {
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
@ -1633,7 +1633,7 @@ class JSFFrontendRenderer extends AbstractVascFrontend implements Serializable {
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderEdit(java.lang.Object)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderEdit(java.lang.Object)
*/
public void renderEdit() throws Exception {
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
@ -1659,7 +1659,7 @@ class JSFFrontendRenderer extends AbstractVascFrontend implements Serializable {
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExporter)
* @see net.forwardfire.vasc.frontend.VascFrontend#renderExport(net.forwardfire.vasc.core.entry.VascEntryExporter)
*/
public void renderExport(VascEntryExporter exporter) throws Exception {
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
@ -1672,7 +1672,7 @@ class JSFFrontendRenderer extends AbstractVascFrontend implements Serializable {
}
/**
* @see net.forwardfire.vasc.core.VascFrontend#renderView()
* @see net.forwardfire.vasc.frontend.VascFrontend#renderView()
*/
public void renderView() throws Exception {
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();

View file

@ -53,7 +53,6 @@ import javax.servlet.http.HttpServletResponse;
*/
public class VascRequestFacesFilter implements Filter {
private static final long serialVersionUID = 10l;
private Logger logger = null;
private String templateFile = null;
private ServletContext servletContext = null;
@ -77,7 +76,7 @@ public class VascRequestFacesFilter implements Filter {
if (templateFile==null) {
throw new ServletException("No templateFile init-param found.");
}
String resourceBundle=config.getInitParameter("resourceBundle");
resourceBundle=config.getInitParameter("resourceBundle");
if (resourceBundle==null) {
throw new ServletException("No resourceBundle init-param found.");
}