Beispiel #1
0
        protected internal virtual string[] getDeploymentDescriptorLocations(AbstractProcessApplication processApplication)
        {
            ProcessApplication annotation = processApplication.GetType().getAnnotation(typeof(ProcessApplication));

            if (annotation == null)
            {
                return(new string[] { ProcessApplication.DEFAULT_META_INF_PROCESSES_XML });
            }
            else
            {
                return(annotation.deploymentDescriptors());
            }
        }
Beispiel #2
0
        public override void performOperationStep(DeploymentOperation operationContext)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.application.AbstractProcessApplication processApplication = operationContext.getAttachment(Attachments.PROCESS_APPLICATION);
            AbstractProcessApplication processApplication = operationContext.getAttachment(Attachments.PROCESS_APPLICATION);
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String paName = processApplication.getName();
            string paName = processApplication.Name;

            Type paClass = processApplication.GetType();

            System.Reflection.MethodInfo preUndeployMethod = InjectionUtil.detectAnnotatedMethod(paClass, typeof(PreUndeploy));

            if (preUndeployMethod == null)
            {
                LOG.debugPaLifecycleMethodNotFound(CALLBACK_NAME, paName);
                return;
            }

            LOG.debugFoundPaLifecycleCallbackMethod(CALLBACK_NAME, paName);

            // resolve injections
            object[] injections = InjectionUtil.resolveInjections(operationContext, preUndeployMethod);

            try
            {
                // perform the actual invocation
                preUndeployMethod.invoke(processApplication, injections);
            }
            catch (System.ArgumentException e)
            {
                throw LOG.exceptionWhileInvokingPaLifecycleCallback(CALLBACK_NAME, paName, e);
            }
            catch (IllegalAccessException e)
            {
                throw LOG.exceptionWhileInvokingPaLifecycleCallback(CALLBACK_NAME, paName, e);
            }
            catch (InvocationTargetException e)
            {
                Exception cause = e.InnerException;
                if (cause is Exception)
                {
                    throw (Exception)cause;
                }
                else
                {
                    throw LOG.exceptionWhileInvokingPaLifecycleCallback(CALLBACK_NAME, paName, e);
                }
            }
        }