public void dealElement(TopLevelClass topLevelClass) { // service field JavaTypeInfo service = attributes.getService(); String shortName = JavaBeansUtil.getValidPropertyName(service.getShortName()); Field field = new Field(shortName, service); field.setJavaScope(JavaKeywords.PRIVATE); topLevelClass.addField(field); topLevelClass.addImportedType(service); // method Method method = new Method("execute"); JavaTypeInfo typeInfo = new JavaTypeInfo("org.springframework.web.servlet.ModelAndView"); method.setReturnType(typeInfo); topLevelClass.addImportedType(typeInfo); method.setJavaScope(JavaKeywords.PUBLIC); JavaTypeInfo params = new JavaTypeInfo("javax.servlet.http.HttpServletRequest"); Parameter parameter = new Parameter(params, "request"); method.addParameter(parameter); topLevelClass.addImportedType(params); params = new JavaTypeInfo("javax.servlet.http.HttpServletResponse"); parameter = new Parameter(params, "response"); method.addParameter(parameter); topLevelClass.addImportedType(params); StringBuilder sb = new StringBuilder(); sb.append("ModelAndViewObject mavo = new ModelAndViewObject(\"\");"); method.addBodyLine(sb.toString()); sb.setLength(0); sb.append("return mavo.getMAV();"); method.addBodyLine(sb.toString()); topLevelClass.addMethod(method); typeInfo = new JavaTypeInfo("com.zrj.pay.core.model.ModelAndViewObject"); topLevelClass.addImportedType(typeInfo); method = new Method(JavaBeansUtil.getSetterMethodName(shortName)); method.setJavaScope(JavaKeywords.PUBLIC); method.addParameter(new Parameter(service, shortName)); sb.setLength(0); sb.append("this."); sb.append(shortName); sb.append(" = "); sb.append(shortName); sb.append(';'); method.addBodyLine(sb.toString()); topLevelClass.addMethod(method); // log service field JavaTypeInfo log = new JavaTypeInfo("com.zrj.pay.ppms.tx.ppms.PpmsOpLogTransactionService"); shortName = JavaBeansUtil.getValidPropertyName(log.getShortName()); field = new Field(shortName, log); field.setJavaScope(JavaKeywords.PRIVATE); topLevelClass.addField(field); topLevelClass.addImportedType(log); method = new Method(JavaBeansUtil.getSetterMethodName(shortName)); method.setJavaScope(JavaKeywords.PUBLIC); method.addParameter(new Parameter(log, shortName)); sb.setLength(0); sb.append("this."); sb.append(shortName); sb.append(" = "); sb.append(shortName); sb.append(';'); method.addBodyLine(sb.toString()); topLevelClass.addMethod(method); }