jboss-user
[Arriba] [Todas las Listas]

[jboss-Usuario] [jBPM] - Re: Un poco más necesitado en el depurar produ

To: User development <jboss-user@xxxxxxxxxxxxxxx>
Subject: [jboss-Usuario] [jBPM] - Re: Un poco más necesitado en el depurar producción?
From: olddave <do-not-reply@xxxxxxxxx>
Date: Tue, 20 Sep 2011 11:15:08 -0400
Auto-submitted: yes
Delivery-date: Tue, 20 Sep 2011 11:16:25 -0400
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <2-627478-3-88166-1316523132487-2-627493-3-88166-1316525645662.jivesbs.jivemailuser@http://community.jboss.org>
List-archive: <http://lists.jboss.org/pipermail/jboss-user>
List-help: <mailto:jboss-user-request@lists.jboss.org?subject=help>
List-id: The JBoss User main mailing list <jboss-user.lists.jboss.org>
List-post: <mailto:jboss-user@lists.jboss.org>
List-subscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=subscribe>
List-unsubscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=unsubscribe>
References: <2-627478-3-88166-1316523132487.jivesbs.jivemailuser@http://community.jboss.org> <2-627478-3-88166-1316523132487-2-627493-3-88166-1316525645662.jivesbs.jivemailuser@http://community.jboss.org>
Reply-to: The JBoss User main mailing list <jboss-user@xxxxxxxxxxxxxxx>
Sender: jboss-user-bounces@xxxxxxxxxxxxxxx
*olddave [*http://Comunidad.*jboss.*org/Personas/*olddave] creó la discusión

"*Re: Un poco más necesitado en el depurar producción?"

Para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/627544#627544

--------------------------------------------------------------
*Hi,

Muy interesante. Localicé a *jBPM 5.1 al punto donde valida mi *ActionNode. Parece que si tú *ue *theh *java dialecto entonces no consigues *theh beneficio de validación!!!!

                       Si (*actionString == *null)
                            #nom.Añade(nuevo *ProcessValidationErrorImpl(proceso,
                                "nodo de Acción '" + nodo.*getName() + "' [" + Nodo.*getId() + "] Tiene acción vacía."));
                        } Más si( "*mvel".*equals( *droolsAction.*getDialect() ) )
                            #Verbcj
                                #unknown{^*ExpressionCompiler *compiler = nuevo *ExpressionCompiler(*actionString);
                                *compiler.*setVerifying(Cierto);
                                *ParserContext *parserContext = nuevo *ParserContext();
                                //*parserContext.*setStrictTypeEnforcement(Cierto);
                                *compiler.*compile(*parserContext);
                                Lista<*ErrorDetail> *mvelErrors = *parserContext.*getErrorList();
                                Si (*mvelErrors != *null)
                                    #Cnj (*Iterator<*ErrorDetail> *iterator = *mvelErrors.*iterator(); *iterator.*hasNext(); )
                                        #unknown{^*ErrorDetail Error = *iterator.Próximo();
                                        errores.Añade(nuevo *ProcessValidationErrorImpl(proceso,
                                            "nodo de Acción '" + nodo.*getName() + "' [" + Nodo.*getId() + "] Tiene acción nula: " + error.*getMessage() + "."));
                                    }
                                }
                            } Coge (*Throwable *t)
                                #nom.Añade(nuevo *ProcessValidationErrorImpl(proceso,
                                    "nodo de Acción '" + nodo.*getName() + "' [" + Nodo.*getId() + "] Tiene acción nula: " + *t.*getMessage() + "."));
                            }
                        }

Así que esto tendría que ser un documentado advirtiendo a usuarios que escriben su código de acción en *java? Supongo en algunos señalan el *java consigue *compiled y esto es donde mi error es cogido. Estoy yendo a *rewrite en *mvel y ver cómo aquello va.

También anoto que *theh acción *nod *enam *eis dado para *mel depura producción. Desde *mvel toma un *superset de *Java, por qué no utilizarlo para determinar el error con cualquier *java código también?!?

} Más si( "*mvel".*equals( *droolsAction.*getDialect() ) || "*java".*equals(*droolsAction.*getDialect() ) )

#unknown{^*Thx.

*Ed.
--------------------------------------------------------------

Respuesta a este mensaje por ir a Comunidad
[*http://comunidad.*jboss.*org/Mensaje/627544#627544]

Empieza una discusión nueva en *jBPM en Comunidad
[*http://comunidad.*jboss.*org/Escoge-contenedor!Entrada.*jspa?*contentType=1&*containerType=14&contenedor=2034]

olddave [http://community.jboss.org/people/olddave] created the discussion

"Re: A bit more needed in the debug output?"

To view the discussion, visit: http://community.jboss.org/message/627544#627544

--------------------------------------------------------------
Hi,

Very interesting. I traced into jBPM 5.1 to the point where it validates my ActionNode. It seems that if you ue theh java dialect then you do not get theh benefit of validation!!!!

                       if (actionString == null) {
                            errors.add(new ProcessValidationErrorImpl(process,
                                "Action node '" + node.getName() + "' [" + node.getId() + "] has empty action."));
                        } else if( "mvel".equals( droolsAction.getDialect() ) ) {
                            try {
                                ExpressionCompiler compiler = new ExpressionCompiler(actionString);
                                compiler.setVerifying(true);
                                ParserContext parserContext = new ParserContext();
                                //parserContext.setStrictTypeEnforcement(true);
                                compiler.compile(parserContext);
                                List<ErrorDetail> mvelErrors = parserContext.getErrorList();
                                if (mvelErrors != null) {
                                    for (Iterator<ErrorDetail> iterator = mvelErrors.iterator(); iterator.hasNext(); ) {
                                        ErrorDetail error = iterator.next();
                                        errors.add(new ProcessValidationErrorImpl(process,
                                            "Action node '" + node.getName() + "' [" + node.getId() + "] has invalid action: " + error.getMessage() + "."));
                                    }
                                }
                            } catch (Throwable t) {
                                errors.add(new ProcessValidationErrorImpl(process,
                                    "Action node '" + node.getName() + "' [" + node.getId() + "] has invalid action: " + t.getMessage() + "."));
                            }
                        }

So this should be a documented warning to users who write their action code in java? I assume at some point the java gets compiled and this is where my error is picked up. I am going to rewrite in mvel and see how that goes.

I also note that theh action nod enam eis given for mel debug output. Since mvel takes a superset of Java, why not use it to determine the error with any java code as well?!?

} else if( "mvel".equals( droolsAction.getDialect() ) || "java".equals(droolsAction.getDialect() ) ) {

Thx.

Ed.
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/627544#627544]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
*jboss-Usuario *mailing lista
*jboss-user@xxxxxxxxxxxxxxx
*https://listas.*jboss.*org/*mailman/*listinfo/*jboss-Usuario
_______________________________________________
jboss-user mailing list
jboss-user@xxxxxxxxxxxxxxx
https://lists.jboss.org/mailman/listinfo/jboss-user
<Anterior por Tema] Tema Actual [Siguiente por Tema>