From: <jbo...@li...> - 2006-07-05 10:40:45
|
Author: estebanschifman Date: 2006-07-05 06:40:41 -0400 (Wed, 05 Jul 2006) New Revision: 4909 Modified: labs/jbossesb/trunk/ESBCore/listeners/src/org/jboss/soa/esb/listeners/AbstractPoller.java Log: Update with changes made while the SVN repository was restructured Modified: labs/jbossesb/trunk/ESBCore/listeners/src/org/jboss/soa/esb/listeners/AbstractPoller.java =================================================================== --- labs/jbossesb/trunk/ESBCore/listeners/src/org/jboss/soa/esb/listeners/AbstractPoller.java 2006-07-05 10:40:08 UTC (rev 4908) +++ labs/jbossesb/trunk/ESBCore/listeners/src/org/jboss/soa/esb/listeners/AbstractPoller.java 2006-07-05 10:40:41 UTC (rev 4909) @@ -23,7 +23,6 @@ package org.jboss.soa.esb.listeners; -import java.lang.reflect.Constructor; import java.util.*; import org.apache.log4j.*; @@ -35,7 +34,7 @@ import org.jboss.soa.esb.common.*; import org.jboss.soa.esb.helpers.*; import org.jboss.soa.esb.parameters.*; -import org.jboss.soa.esb.processors.EsbFileProcessor; +import org.jboss.soa.esb.processors.EsbAbstractProcessor; public abstract class AbstractPoller { @@ -151,7 +150,7 @@ protected String formatLogMsg(String p_s) { return new StringBuilder("Processor '") .append(EsbUtil.classSuffix(this.getClass())).append("' <") - .append(p_s).append("") + .append(p_s).append(">") .toString(); } //__________________________________ @@ -265,6 +264,18 @@ } } //_________________________________________ + protected String obtainAtt(DomElement p_oP, String p_sAtt, String p_sDefault) + throws Exception + { + String sVal = p_oP.getAttr(p_sAtt); + if (null==sVal) + sVal = p_sDefault; + if (EsbUtil.isNullString(sVal) && (null==p_sDefault)) + throw new Exception(formatLogMsg("Missing or invalid <"+p_sAtt+"> attribute")); + + return sVal; + } //________________________________ + protected abstract class GroupOfChilds implements Observer { protected abstract void doYourJob(DomElement p_oP) throws Exception; @@ -325,6 +336,22 @@ } //________________________________ + protected Class checkActionClass(String p_sName) throws Exception + { + Class oCls; + try { oCls = Class.forName(p_sName); } + catch (ClassNotFoundException e) + { throw new Exception(formatLogMsg("Class "+p_sName + +" not found in classpath")); + } + try { oCls.getConstructor(new Class[] {DomElement.class}); } + catch (NoSuchMethodException eN) + { throw new Exception(formatLogMsg("No appropriate constructor " + +p_sName+"(DomElement) found for class ")); + } + return oCls; + } //_________________________________________ + // Very basic checkParms method // Remember to call super.checkParms(p_oP) in derived checkParms() methods // so your parameters will be cloned @@ -333,35 +360,10 @@ { m_sb.setLength(m_iSbIni); m_oChParms = p_oP.cloneObj(); + m_oChParms.rmvChildsByName(EsbAbstractProcessor.PARMS_THIS_INSTANCE); setMaxThreads(p_oP,10); } //________________________________ } //______________________________________________________ - protected static class ChildProcess extends Observable implements Runnable - { private Class m_oExecClass; - private DomElement m_oParms; - private Logger m_oLogger; - public ChildProcess(Class p_oExec, Observer p_oObs, DomElement p_oP) - { m_oLogger = EsbUtil.getDefaultLogger(this.getClass()); - m_oExecClass = p_oExec; - this.addObserver(p_oObs); - m_oParms = p_oP; - setChanged(); - notifyObservers(new Integer(1)); - } //__________________________________ - - public void run() - { try - { Constructor oCnst = m_oExecClass.getConstructor(new Class[] {DomElement.class}); - Object oProc = oCnst.newInstance(new Object[] {m_oParms}); - ((EsbFileProcessor)oProc).execute(); - } - catch (Exception e) { m_oLogger.error("run() FAILED",e); } - - setChanged(); - notifyObservers(new Integer(-1)); - } //__________________________________ - } //______________________________________________________ - } //____________________________________________________________________________ |