/**\r
* @author a.mueller\r
* @created 01.07.2008\r
- * @version 1.0\r
*/\r
public abstract class CdmIoBase<STATE extends IoStateBase> extends CdmApplicationDefaultConfiguration\r
implements ICdmIO<STATE>, IIoObservable {\r
return observers.add(observer);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.IIoObservable#getObservers()\r
- */\r
@Override\r
public Set<IIoObserver> getObservers() {\r
return observers;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.IIoObservable#addObservers(java.util.Set)\r
- */\r
@Override\r
public void addObservers(Set<IIoObserver> newObservers) {\r
for (IIoObserver observer : newObservers){\r
}\r
}\r
\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.IIoObservable#countObservers()\r
- */\r
@Override\r
public int countObservers(){\r
return observers.size();\r
}\r
\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.IIoObservable#removeObserver(eu.etaxonomy.cdm.io.common.events.IIoObserver)\r
- */\r
@Override\r
public boolean removeObserver(IIoObserver observer){\r
return observers.remove(observer);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.IIoObservable#removeObservers()\r
- */\r
@Override\r
public void removeObservers(){\r
observers.removeAll(observers);\r
}\r
\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.ICdmIO#fire(eu.etaxonomy.cdm.io.common.events.IIoEvent)\r
- */\r
@Override\r
public void fire(IIoEvent event){\r
for (IIoObserver observer: observers){\r
//******************** End Observers *********************************************************\r
\r
\r
-\r
public int countSteps(){\r
return 1;\r
}\r
\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.ICdmExport#invoke(eu.etaxonomy.cdm.io.common.ExportStateBase)\r
- */\r
@Override\r
public boolean invoke(STATE state) {\r
if (isIgnore( state)){\r
sessionFactory.getCurrentSession().flush();\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#startTransaction()\r
- */\r
@Override\r
//TODO seems to be exact duplicate of CdmApplicationDefaultConfiguration#startTransaction(), remove duplicate\r
public TransactionStatus startTransaction() {\r
return startTransaction(false);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#startTransaction(java.lang.Boolean)\r
- */\r
@Override\r
//TODO seems to be exact duplicate of CdmApplicationDefaultConfiguration#startTransaction(java.lang.Boolean)\r
public TransactionStatus startTransaction(Boolean readOnly) {\r
}\r
\r
//TODO move into super class CdmApplicationDefaultConfiguration#startTransaction(java.lang.Boolean)\r
+ //==> no \r
public void rollbackTransaction(TransactionStatus txStatus){\r
PlatformTransactionManager txManager = super.getTransactionManager();\r
txManager.rollback(txStatus);\r
return;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.ICdmIO#check(eu.etaxonomy.cdm.io.common.IIoConfigurator)\r
- */\r
@Override\r
public boolean check(STATE state) {\r
if (isIgnore(state)){\r
protected abstract boolean doCheck(STATE state);\r
\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.ICdmIO#invoke(eu.etaxonomy.cdm.io.common.IIoConfigurator, java.util.Map)\r
- */\r
-// public boolean invoke(T config,\r
-// Map<String, MapWrapper<? extends CdmBase>> stores) {\r
-// if (isIgnore(config)){\r
-// logger.warn("No invoke for " + ioName + " (ignored)");\r
-// return true;\r
-// }else{\r
-// return doInvoke(config, stores);\r
-// }\r
-// }\r
-\r
-// protected abstract boolean doInvoke(T config,\r
-// Map<String, MapWrapper<? extends CdmBase>> stores);\r
-\r
-\r
/**\r
* Returns true if this (IO-)class should be ignored during the import/export process.\r
* This information is usually stored in the configuration\r
return StringUtils.isNotBlank(str);\r
}\r
\r
-\r
-// /**\r
-// * Returns the first stack trace element of the first class not equal to "StackTraceUtils" or "LogUtils" and aClass. <br />\r
-// * Stored in array of the callstack. <br />\r
-// * Allows to get past a certain class.\r
-// * @param aclass class to get pass in the stack trace. If null, only try to get past StackTraceUtils.\r
-// * @return stackTraceElement (never null, because if aClass is not found, returns first class past StackTraceUtils)\r
-// * @throws AssertionFailedException if resulting statckTrace is null (RuntimeException)\r
-// */\r
-// public static StackTraceElement getCallingStackTraceElement(final Class aclass) {\r
-// final Throwable t = new Throwable();\r
-// final StackTraceElement[] ste = t.getStackTrace();\r
-// int index = 1;\r
-// final int limit = ste.length;\r
-// StackTraceElement st = ste[index];\r
-// String className = st.getClassName();\r
-// boolean aclassfound = false;\r
-// if(aclass == null) {\r
-// aclassfound = true;\r
-// }\r
-// StackTraceElement resst = null;\r
-// while(index < limit) {\r
-// if(shouldExamine(className, aclass) == true) {\r
-// if(resst == null) {\r
-// resst = st;\r
-// }\r
-// if(aclassfound == true) {\r
-// final StackTraceElement ast = onClassFound(aclass, className, st);\r
-// if(ast != null) {\r
-// resst = ast;\r
-// break;\r
-// }\r
-// }\r
-// else\r
-// {\r
-// if(aclass != null && aclass.getName().equals(className) == true) {\r
-// aclassfound = true;\r
-// }\r
-// }\r
-// }\r
-// index = index + 1;\r
-// st = ste[index];\r
-// className = st.getClassName();\r
-// }\r
-// if(resst == null) {\r
-// throw new AssertionFailedException(StackTraceUtils.getClassMethodLine() + " null argument:" + "stack trace should null"); //$NON-NLS-1$\r
-// }\r
-// return resst;\r
-// }\r
-//\r
-// static private boolean shouldExamine(String className, Class aclass) {\r
-// final boolean res = StackTraceUtils.class.getName().equals(className) == false && (className.endsWith(LOG_UTILS\r
-// ) == false || (aclass !=null && aclass.getName().endsWith(LOG_UTILS)));\r
-// return res;\r
-// }\r
-//\r
-// static private StackTraceElement onClassFound(Class aclass, String className, StackTraceElement st) {\r
-// StackTraceElement resst = null;\r
-// if(aclass != null && aclass.getName().equals(className) == false)\r
-// {\r
-// resst = st;\r
-// }\r
-// if(aclass == null)\r
-// {\r
-// resst = st;\r
-// }\r
-// return resst;\r
-// }\r
-\r
-\r
}\r