added empty files and fixed a little
This commit is contained in:
parent
d6d77072d9
commit
3d0d609462
43 changed files with 944 additions and 373 deletions
|
|
@ -41,5 +41,6 @@ import java.lang.annotation.Target;
|
|||
@Target(ElementType.TYPE)
|
||||
public @interface VascEventListener {
|
||||
|
||||
Class<?>[] listeners();
|
||||
String[] backendEventListeners();
|
||||
String[] frontendEventListeners();
|
||||
}
|
||||
|
|
@ -32,9 +32,7 @@ import java.util.List;
|
|||
import com.idcanet.vasc.core.actions.ColumnVascAction;
|
||||
import com.idcanet.vasc.core.actions.GlobalVascAction;
|
||||
import com.idcanet.vasc.core.actions.RowVascAction;
|
||||
import com.idcanet.vasc.core.entry.VascEntryBackendEventListener;
|
||||
import com.idcanet.vasc.core.entry.VascEntryFieldEventChannel;
|
||||
import com.idcanet.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
|
||||
/**
|
||||
* The main vasc entry
|
||||
|
|
@ -383,25 +381,25 @@ public interface VascEntry extends Cloneable,Serializable {
|
|||
* Added an VascEntryBackendEventListener
|
||||
* @param listener The class of the event listener.
|
||||
*/
|
||||
public void addVascEntryBackendEventListener(Class<VascEntryBackendEventListener> listener);
|
||||
public void addVascEntryBackendEventListener(String listener);
|
||||
|
||||
/**
|
||||
* Returns the list of VascEntryBackendEventListener
|
||||
* @return
|
||||
*/
|
||||
public List<Class<VascEntryBackendEventListener>> getVascEntryBackendEventListeners();
|
||||
public List<String> getVascEntryBackendEventListeners();
|
||||
|
||||
/**
|
||||
* Added an VascEntryFrontendEventListener
|
||||
* @param listener The class of the event listener.
|
||||
*/
|
||||
public void addVascEntryFrontendEventListener(Class<VascEntryFrontendEventListener> listener);
|
||||
public void addVascEntryFrontendEventListener(String listener);
|
||||
|
||||
/**
|
||||
* Returns the list of VascEntryFrontendEventListener
|
||||
* @return
|
||||
*/
|
||||
public List<Class<VascEntryFrontendEventListener>> getVascEntryFrontendEventListeners();
|
||||
public List<String> getVascEntryFrontendEventListeners();
|
||||
|
||||
|
||||
public void addListOption(VascEntryField listOption);
|
||||
|
|
|
|||
|
|
@ -39,18 +39,28 @@ import com.idcanet.vasc.core.VascEntry;
|
|||
public interface VascEntryBackendEventListener extends Serializable {
|
||||
|
||||
public enum VascBackendEventType {
|
||||
EXECUTE,
|
||||
PERSIST,
|
||||
MERGE,
|
||||
DELETE,
|
||||
PROVIDE_FIELD_VALUE,
|
||||
PROVIDE_RECORD_CREATOR,
|
||||
TOTAL_EXECUTE_SIZE,
|
||||
MOVE_DOWN,
|
||||
MOVE_UP
|
||||
PRE_EXECUTE,
|
||||
PRE_PERSIST,
|
||||
PRE_MERGE,
|
||||
PRE_DELETE,
|
||||
PRE_PROVIDE_FIELD_VALUE,
|
||||
PRE_PROVIDE_RECORD_CREATOR,
|
||||
PRE_TOTAL_EXECUTE_SIZE,
|
||||
PRE_MOVE_DOWN,
|
||||
PRE_MOVE_UP,
|
||||
|
||||
POST_EXECUTE,
|
||||
POST_PERSIST,
|
||||
POST_MERGE,
|
||||
POST_DELETE,
|
||||
POST_PROVIDE_FIELD_VALUE,
|
||||
POST_PROVIDE_RECORD_CREATOR,
|
||||
POST_TOTAL_EXECUTE_SIZE,
|
||||
POST_MOVE_DOWN,
|
||||
POST_MOVE_UP
|
||||
}
|
||||
|
||||
public VascBackendEventType getEventType();
|
||||
public VascBackendEventType[] getEventType();
|
||||
|
||||
/**
|
||||
* Is executed when the type of event is fired.
|
||||
|
|
|
|||
|
|
@ -41,17 +41,19 @@ public interface VascEntryFrontendEventListener extends Serializable {
|
|||
public enum VascFrontendEventType {
|
||||
EXCEPTION,
|
||||
|
||||
DATA_CREATE,
|
||||
DATA_READ,
|
||||
DATA_SELECT,
|
||||
DATA_PRE_UPDATE,
|
||||
DATA_POST_UPDATE,
|
||||
DATA_DELETE,
|
||||
DATA_LIST_UPDATE,
|
||||
PRE_CREATE,
|
||||
POST_CREATE,
|
||||
PRE_READ,
|
||||
POST_READ,
|
||||
PRE_UPDATE,
|
||||
POST_UPDATE,
|
||||
PRE_DELETE,
|
||||
POST_DELETE,
|
||||
|
||||
DATA_SORT,
|
||||
DATA_PAGE,
|
||||
DATA_SEARCH,
|
||||
SELECT,
|
||||
SORT,
|
||||
PAGE,
|
||||
SEARCH,
|
||||
|
||||
OPTION_UPDATE,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,8 +87,8 @@ public class DefaultVascEntry implements VascEntry {
|
|||
private List<VascLinkEntry> vascLinkEntries = null;
|
||||
private Map<String,Object> entryParameters = null;
|
||||
private VascEntryFieldEventChannel vascEntryFieldEventChannel = null;
|
||||
private List<Class<VascEntryFrontendEventListener>> eventEntryFrontendEventListeners = null;
|
||||
private List<Class<VascEntryBackendEventListener>> eventEntryBackendEventListeners = null;
|
||||
private List<String> eventEntryFrontendEventListeners = null;
|
||||
private List<String> eventEntryBackendEventListeners = null;
|
||||
private List<VascEntryField> listOptions = null;
|
||||
private List<VascBackendFilter> backendFilters = null;
|
||||
|
||||
|
|
@ -109,8 +109,8 @@ public class DefaultVascEntry implements VascEntry {
|
|||
vascLinkEntries = new ArrayList<VascLinkEntry>(10);
|
||||
entryParameters = new HashMap<String,Object>(10);
|
||||
|
||||
eventEntryFrontendEventListeners = new ArrayList<Class<VascEntryFrontendEventListener>>(10);
|
||||
eventEntryBackendEventListeners = new ArrayList<Class<VascEntryBackendEventListener>>(10);
|
||||
eventEntryFrontendEventListeners = new ArrayList<String>(10);
|
||||
eventEntryBackendEventListeners = new ArrayList<String>(10);
|
||||
listOptions = new ArrayList<VascEntryField>(5);
|
||||
backendFilters = new ArrayList<VascBackendFilter>(3);
|
||||
}
|
||||
|
|
@ -720,7 +720,7 @@ public class DefaultVascEntry implements VascEntry {
|
|||
* Added an VascEntryBackendEventListener
|
||||
* @param listener The class of the event listener.
|
||||
*/
|
||||
public void addVascEntryBackendEventListener(Class<VascEntryBackendEventListener> listener) {
|
||||
public void addVascEntryBackendEventListener(String listener) {
|
||||
eventEntryBackendEventListeners.add(listener);
|
||||
}
|
||||
|
||||
|
|
@ -728,7 +728,7 @@ public class DefaultVascEntry implements VascEntry {
|
|||
* Returns the list of VascEntryBackendEventListener
|
||||
* @return
|
||||
*/
|
||||
public List<Class<VascEntryBackendEventListener>> getVascEntryBackendEventListeners() {
|
||||
public List<String> getVascEntryBackendEventListeners() {
|
||||
return eventEntryBackendEventListeners;
|
||||
}
|
||||
|
||||
|
|
@ -736,7 +736,7 @@ public class DefaultVascEntry implements VascEntry {
|
|||
* Added an VascEntryFrontendEventListener
|
||||
* @param listener The class of the event listener.
|
||||
*/
|
||||
public void addVascEntryFrontendEventListener(Class<VascEntryFrontendEventListener> listener) {
|
||||
public void addVascEntryFrontendEventListener(String listener) {
|
||||
eventEntryFrontendEventListeners.add(listener);
|
||||
}
|
||||
|
||||
|
|
@ -744,7 +744,7 @@ public class DefaultVascEntry implements VascEntry {
|
|||
* Returns the list of VascEntryFrontendEventListener
|
||||
* @return
|
||||
*/
|
||||
public List<Class<VascEntryFrontendEventListener>> getVascEntryFrontendEventListeners() {
|
||||
public List<String> getVascEntryFrontendEventListeners() {
|
||||
return eventEntryFrontendEventListeners;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import com.idcanet.vasc.core.VascController;
|
|||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.VascException;
|
||||
import com.idcanet.vasc.core.VascFrontendData;
|
||||
import com.idcanet.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import com.idcanet.vasc.impl.entry.DefaultVascEntryResourceResolver;
|
||||
import com.idcanet.vasc.impl.entry.VascValidatorsValidatorService;
|
||||
import com.idcanet.vasc.impl.type.DefaultVascEntryFieldTypeController;
|
||||
|
|
@ -86,8 +87,13 @@ public class DefaultVascFactory {
|
|||
return vascFrontendData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a backend of the backend controller and addes all the proxy classes.
|
||||
* @param entry
|
||||
* @return
|
||||
*/
|
||||
static public VascBackend getProxyVascBackend(VascEntry entry) {
|
||||
// Get the real backend
|
||||
// Get the 'real' backend
|
||||
VascBackend backend = entry.getVascFrontendData().getVascController().getVascBackendController().getVascBackendById(entry.getBackendId());
|
||||
|
||||
// logs all actions log logger
|
||||
|
|
@ -109,6 +115,11 @@ public class DefaultVascFactory {
|
|||
if (backend.isPageable()==false) {
|
||||
backend = new VascBackendProxyPaged(backend,entry);
|
||||
}
|
||||
|
||||
// execute backend event listeners
|
||||
backend = new VascBackendProxyEventExecutor(backend,entry);
|
||||
|
||||
// return the configed backend.
|
||||
return backend;
|
||||
}
|
||||
}
|
||||
|
|
@ -248,8 +248,17 @@ public class DefaultVascFrontendData implements VascFrontendData {
|
|||
|
||||
|
||||
public void initFrontendListeners(VascEntry entry) throws InstantiationException, IllegalAccessException {
|
||||
for (Class<VascEntryFrontendEventListener> clazz:entry.getVascEntryFrontendEventListeners()) {
|
||||
VascEntryFrontendEventListener listener = clazz.newInstance();
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl==null) {
|
||||
cl = entry.getClass().getClassLoader();
|
||||
}
|
||||
for (String clazz:entry.getVascEntryFrontendEventListeners()) {
|
||||
VascEntryFrontendEventListener listener;
|
||||
try {
|
||||
listener = (VascEntryFrontendEventListener)cl.loadClass(clazz).newInstance();
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException("Could not load VascEntryFrontendEventListener of: "+clazz);
|
||||
}
|
||||
addVascEntryFrontendEventListener(listener);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -230,6 +230,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
*/
|
||||
public Object createObject(VascEntry entry) {
|
||||
try {
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.PRE_CREATE, null);
|
||||
Object object = entry.getVascFrontendData().getVascEntryState().getVascBackend().provideVascEntryRecordCreator(entry.clone()).newRecord(entry);
|
||||
if (object==null) {
|
||||
throw new IllegalStateException("Can't work with null object for backend storage.");
|
||||
|
|
@ -252,7 +253,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
logger.finer("Setting default value for: "+field.getName()+" def: "+defaultValue);
|
||||
field.getVascEntryFieldValue().setValue(field, object, defaultValue);
|
||||
}
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_CREATE, object);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.POST_CREATE, object);
|
||||
return object;
|
||||
} catch (Exception e) {
|
||||
handleException(entry,e);
|
||||
|
|
@ -301,7 +302,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
Object object = entry.getVascFrontendData().getVascEntryState().getEntryDataObject();
|
||||
Object result = null;
|
||||
try {
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_PRE_UPDATE,object);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.PRE_UPDATE,object);
|
||||
int index = removeObjectFromDataList(entry,object);
|
||||
|
||||
// merge object on backend
|
||||
|
|
@ -315,8 +316,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
// put object back in list
|
||||
entry.getVascFrontendData().getVascEntryState().getEntryDataList().add(index, result);
|
||||
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(null);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_POST_UPDATE,result);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_LIST_UPDATE,result);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.POST_UPDATE,result);
|
||||
} catch (Exception e) {
|
||||
handleException(entry,e);
|
||||
}
|
||||
|
|
@ -330,6 +330,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
*/
|
||||
public void deleteObject(VascEntry entry) {
|
||||
Object object = entry.getVascFrontendData().getVascEntryState().getEntryDataObject();
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.PRE_DELETE, object);
|
||||
try {
|
||||
entry.getVascFrontendData().getVascEntryState().getVascBackend().delete(object);
|
||||
} catch (Exception e) {
|
||||
|
|
@ -337,14 +338,14 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
}
|
||||
removeObjectFromDataList(entry,object);
|
||||
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(null);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_DELETE, object);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_LIST_UPDATE, object);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.POST_DELETE, object);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.VascFrontendHelper#refreshData(com.idcanet.vasc.core.VascEntry)
|
||||
*/
|
||||
public void refreshData(VascEntry entry) {
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.PRE_READ, null);
|
||||
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(null);
|
||||
try {
|
||||
// check and correct max page size
|
||||
|
|
@ -364,8 +365,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
} catch (Exception e) {
|
||||
handleException(entry, e);
|
||||
}
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_READ, null);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_LIST_UPDATE, null);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.POST_READ, null);
|
||||
}
|
||||
|
||||
public void headerOptionsCreatedFillData(VascEntry entry) {
|
||||
|
|
@ -474,7 +474,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
String sortID = field.getBackendName();
|
||||
entry.getVascFrontendData().getVascEntryState().getVascBackendState().setSortField(sortID);
|
||||
entry.getVascFrontendData().getVascEntryState().getVascBackendState().setPageIndex(0);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_SORT, field);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.SORT, field);
|
||||
|
||||
refreshData(entry);
|
||||
}
|
||||
|
|
@ -483,7 +483,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
entry.getVascFrontendData().getVascEntryState().getVascBackendState().setSearchString(searchString);
|
||||
entry.getVascFrontendData().getVascEntryState().getVascBackendState().setSortField(null);
|
||||
entry.getVascFrontendData().getVascEntryState().getVascBackendState().setPageIndex(0);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_SEARCH, searchString);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.SEARCH, searchString);
|
||||
|
||||
refreshData(entry);
|
||||
}
|
||||
|
|
@ -498,7 +498,7 @@ public class DefaultVascFrontendHelper implements VascFrontendHelper {
|
|||
}
|
||||
|
||||
entry.getVascFrontendData().getVascEntryState().getVascBackendState().setPageIndex(pageIndex);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.DATA_PAGE, pageIndex);
|
||||
fireVascEvent(entry,VascEntryFrontendEventListener.VascFrontendEventType.PAGE, pageIndex);
|
||||
|
||||
// lets load data;
|
||||
refreshData(entry);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,152 @@
|
|||
/*
|
||||
* Copyright 2004-2010 IDCA. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
* following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
|
||||
* the following disclaimer.
|
||||
* 2. 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 IDCA 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 IDCA 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.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the authors and
|
||||
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||
*/
|
||||
|
||||
package com.idcanet.vasc.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.idcanet.vasc.core.AbstractVascBackendProxy;
|
||||
import com.idcanet.vasc.core.VascBackend;
|
||||
import com.idcanet.vasc.core.VascBackendState;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.VascException;
|
||||
import com.idcanet.vasc.core.entry.VascEntryBackendEventListener;
|
||||
import com.idcanet.vasc.core.entry.VascEntryBackendEventListener.VascBackendEventType;
|
||||
|
||||
|
||||
/**
|
||||
* Holds !! and fires the backend event listeners.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Sep 21, 2010
|
||||
*/
|
||||
public class VascBackendProxyEventExecutor extends AbstractVascBackendProxy {
|
||||
|
||||
private List<VascEntryBackendEventListener> listeners = null;
|
||||
private VascEntry entry = null;
|
||||
|
||||
public VascBackendProxyEventExecutor(VascBackend backend,VascEntry entry) {
|
||||
super(backend);
|
||||
this.entry=entry;
|
||||
this.listeners=new ArrayList<VascEntryBackendEventListener>(10);
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
if (cl==null) {
|
||||
cl = entry.getClass().getClassLoader();
|
||||
}
|
||||
for (String clazz:entry.getVascEntryBackendEventListeners()) {
|
||||
VascEntryBackendEventListener listener;
|
||||
try {
|
||||
listener = (VascEntryBackendEventListener)cl.loadClass(clazz).newInstance();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Could not load VascEntryBackendEventListener of: "+clazz);
|
||||
}
|
||||
listeners.add(listener);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireVascEvent(VascBackendEventType type, Object data) {
|
||||
for (int i=0;i<listeners.size();i++) {
|
||||
VascEntryBackendEventListener l = listeners.get(i);
|
||||
l.vascEvent(entry, data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#delete(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public void delete(Object object) throws VascException {
|
||||
fireVascEvent(VascBackendEventType.PRE_DELETE,object);
|
||||
super.delete(object);
|
||||
fireVascEvent(VascBackendEventType.POST_DELETE,object);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#doRecordMoveDownById(com.idcanet.vasc.core.VascBackendState, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public long doRecordMoveDownById(VascBackendState state, Object primaryId) throws VascException {
|
||||
fireVascEvent(VascBackendEventType.PRE_MOVE_DOWN,primaryId);
|
||||
Long result = super.doRecordMoveDownById(state, primaryId);
|
||||
fireVascEvent(VascBackendEventType.POST_MOVE_DOWN,result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#doRecordMoveUpById(com.idcanet.vasc.core.VascBackendState, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public long doRecordMoveUpById(VascBackendState state, Object primaryId) throws VascException {
|
||||
fireVascEvent(VascBackendEventType.PRE_MOVE_UP,primaryId);
|
||||
Long result = super.doRecordMoveUpById(state, primaryId);
|
||||
fireVascEvent(VascBackendEventType.POST_MOVE_UP,result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#execute(com.idcanet.vasc.core.VascBackendState)
|
||||
*/
|
||||
@Override
|
||||
public List<Object> execute(VascBackendState state) throws VascException {
|
||||
fireVascEvent(VascBackendEventType.PRE_EXECUTE,state);
|
||||
List<Object> result = super.execute(state);
|
||||
fireVascEvent(VascBackendEventType.POST_EXECUTE,result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#fetchTotalExecuteSize(com.idcanet.vasc.core.VascBackendState)
|
||||
*/
|
||||
@Override
|
||||
public long fetchTotalExecuteSize(VascBackendState state) {
|
||||
fireVascEvent(VascBackendEventType.PRE_TOTAL_EXECUTE_SIZE,state);
|
||||
Long result = super.fetchTotalExecuteSize(state);
|
||||
fireVascEvent(VascBackendEventType.POST_TOTAL_EXECUTE_SIZE,result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#merge(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public Object merge(Object object) throws VascException {
|
||||
fireVascEvent(VascBackendEventType.PRE_MERGE,object);
|
||||
Object result = super.merge(object);
|
||||
fireVascEvent(VascBackendEventType.POST_MERGE,result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.AbstractVascBackendProxy#persist(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public void persist(Object object) throws VascException {
|
||||
fireVascEvent(VascBackendEventType.PRE_PERSIST,object);
|
||||
super.persist(object);
|
||||
fireVascEvent(VascBackendEventType.POST_PERSIST,object);
|
||||
}
|
||||
}
|
||||
|
|
@ -51,7 +51,7 @@ public class EditRowAction extends AbstractVascAction implements RowVascAction {
|
|||
return; // nothing selected
|
||||
}
|
||||
entry.getVascFrontendData().getVascEntryState().setEditCreate(false);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().fireVascEvent(entry, VascFrontendEventType.DATA_SELECT, rowObject);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().fireVascEvent(entry, VascFrontendEventType.SELECT, rowObject);
|
||||
entry.getVascFrontendData().getVascEntryState().setEntryDataObject(rowObject);
|
||||
entry.getVascFrontendData().getVascFrontend().renderEdit();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,8 +45,6 @@ import com.idcanet.vasc.core.VascController;
|
|||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.VascEntryField;
|
||||
import com.idcanet.vasc.core.VascEntryFieldType;
|
||||
import com.idcanet.vasc.core.entry.VascEntryBackendEventListener;
|
||||
import com.idcanet.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import com.idcanet.vasc.impl.DefaultVascEntryField;
|
||||
import com.idcanet.vasc.validators.VascValidator;
|
||||
import com.idcanet.vasc.validators.VascValidatorClassParser;
|
||||
|
|
@ -104,7 +102,6 @@ public class AnnotationParserElement extends AbstractElement {
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void fillEntry(VascEntry entry,Class<?> modelClass,VascAnnotationParser parser) throws ElementException {
|
||||
|
||||
|
||||
|
|
@ -114,15 +111,11 @@ public class AnnotationParserElement extends AbstractElement {
|
|||
|
||||
VascEventListener vc = parser.getVascEventListener(modelClass);
|
||||
if (vc!=null) {
|
||||
int i = 0;
|
||||
for (Class<?> listener:vc.listeners()) {
|
||||
if (listener.isAssignableFrom(VascEntryFrontendEventListener.class)) {
|
||||
entry.addVascEntryFrontendEventListener((Class<VascEntryFrontendEventListener>)listener);
|
||||
}
|
||||
if (listener.isAssignableFrom(VascEntryBackendEventListener.class)) {
|
||||
entry.addVascEntryBackendEventListener((Class<VascEntryBackendEventListener>)listener);
|
||||
}
|
||||
i++;
|
||||
for (String listener:vc.frontendEventListeners()) {
|
||||
entry.addVascEntryFrontendEventListener(listener);
|
||||
}
|
||||
for (String listener:vc.backendEventListeners()) {
|
||||
entry.addVascEntryBackendEventListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
0
vasc-core/src/test/resources/.empty
Normal file
0
vasc-core/src/test/resources/.empty
Normal file
Loading…
Add table
Add a link
Reference in a new issue