if (sfLog().isDebugEnabled()) sfLog().trace("Started ProcessCompound '"+sfProcessName+"'"); if (sfLog().isDebugEnabled()) { StringBuffer report = new StringBuffer(); try { report.append(sfDiagnosticsReport().toString()); sfLog().debug(report.toString()); } catch (Exception ex) { sfLog().debug("Error generation diagnostics report for rootProcess",ex); } }
if (sfLog().isDebugEnabled()) sfLog().trace("ProcessCompound '"+sfProcessName+"' started.");
    public synchronized void sfStart() throws SmartFrogException,        RemoteException {        super.sfStart();        //Set itself as single instance of process compound for this process        try {            SFProcess.setProcessCompound(this);        } catch (Exception ex) {            throw SmartFrogException.forward(ex);        }        // This call and method will disapear once we refactor ProcessCompound        // SFProcess.addDefaultProcessDescriptions will replace all this code.        // @TODO fix after refactoring ProcessCompound.        deployDefaultProcessDescriptions(this);        // Add diagnostics report        if (Logger.processCompoundDiagReport){          sfAddAttribute(SmartFrogCoreKeys.SF_DIAGNOSTICS_REPORT,sfDiagnosticsReport());        }        if (sfLog().isTraceEnabled()) sfLog().trace(sfDiagnosticsReport());        // Add boot time only in rootProcess        if (sfIsRoot) {          sfAddAttribute(SmartFrogCoreKeys.SF_BOOT_DATE,new Date(System.currentTimeMillis()));        }        // the last act is to inform the root process compound that the        // subprocess is now ready for action - only done if not the root        try {            if (!sfIsRoot()) {                ProcessCompound parent = sfLocateParent();                if (parent!=null) {                    parent.sfNotifySubprocessReady(sfProcessName);                }            }        } catch (RemoteException rex) {            throw new SmartFrogRuntimeException(MSG_FAILED_TO_CONTACT_PARENT, rex, this);        }        if (sfLog().isDebugEnabled()) sfLog().trace("Started ProcessCompound '"+sfProcessName+"'");        if (sfLog().isDebugEnabled()) {           StringBuffer report = new StringBuffer();          try {            report.append(sfDiagnosticsReport().toString());            sfLog().debug(report.toString());          } catch (Exception ex) {            sfLog().debug("Error generation diagnostics report for rootProcess",ex);          }        }    }