r1860 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
Author: fdesbois Date: 2010-03-30 19:51:53 +0200 (Tue, 30 Mar 2010) New Revision: 1860 Log: - Add catch parts for known exceptions identified from operation in model. - Accept all throw exceptions from abstract execute methods. Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BusinessTransformer.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BusinessTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BusinessTransformer.java 2010-03-27 20:06:23 UTC (rev 1859) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BusinessTransformer.java 2010-03-30 17:51:53 UTC (rev 1860) @@ -457,17 +457,15 @@ ObjectModelModifier.ABSTRACT, ObjectModelModifier.PROTECTED); + // Throw all exception from abstract method + // They will be catched by interface method to use doCatch + this.addException(abstOp, Exception.class); + if (needTransaction) { this.addParameter(abstOp, TopiaContext.class, "transaction"); this.addException(abstOp, TopiaException.class); } - // Copy exceptions - for (String ex : op.getExceptions()) { - this.addException(implOp, ex); - this.addException(abstOp, ex); - } - String toStringAppend = ""; String separatorLog = " : "; // Prepare operation parameters @@ -553,28 +551,39 @@ log.debug(message); } - <%=opReturn%>execute<%=opName%>(<%=opParams%>); + <%=opReturn%>execute<%=opName%>(<%=opParams%>); }*/); + + // Copy exceptions + for (String ex : op.getExceptions()) { + this.addException(implOp, ex); + this.addException(abstOp, ex); + // Add catch block for known exceptions we want to throw + String exName = GeneratorUtil.getSimpleName(ex); + buffer.append("" + /*{ + } catch (<%=exName%> eee) { + throw eee; }*/); + } + + buffer.append("" + /*{ } catch (Exception eee) { - context.doCatch(<%=doCatchParams%>); - }*/ - ); + context.doCatch(<%=doCatchParams%>); }*/); if (needTransaction) { // Finally block to close transaction buffer.append("" /*{ } finally { - context.doFinally(transaction); - }*/ - ); + context.doFinally(transaction); }*/); } buffer.append("" /*{ } - <%=finalReturn%> + <%=finalReturn%> }*/ - ); + ); this.setOperationBody(implOp, buffer.toString()); }
participants (1)
-
fdesbois@users.nuiton.org