コード例 #1
0
  @Override
  public void doFreemarkerGenerate() throws IOException, TemplateException {
    if (!isUpToDate()) {
      EnunciateFreemarkerModel model = getModel();
      // generate the rpc request/response beans.
      for (WsdlInfo wsdlInfo : model.getNamespacesToWSDLs().values()) {
        for (EndpointInterface ei : wsdlInfo.getEndpointInterfaces()) {
          for (WebMethod webMethod : ei.getWebMethods()) {
            for (WebMessage webMessage : webMethod.getMessages()) {
              if (webMessage instanceof RPCInputMessage) {
                model.put("message", webMessage);
                processTemplate(getRPCRequestBeanTemplateURL(), model);
              } else if (webMessage instanceof RPCOutputMessage) {
                model.put("message", webMessage);
                processTemplate(getRPCResponseBeanTemplateURL(), model);
              }
            }
          }
        }
      }

      model.put("xfireBeansImport", getXfireBeansImport());
      model.put("docsDir", enunciate.getProperty("docs.webapp.dir"));
      processTemplate(getXfireServletTemplateURL(), model);
      processTemplate(getParameterNamesTemplateURL(), model);
    } else {
      info("Skipping generation of XFire support classes as everything appears up-to-date....");
    }

    getEnunciate()
        .addArtifact(new FileArtifact(getName(), "xfire-server.src.dir", getGenerateDir()));
    getEnunciate().addAdditionalSourceRoot(getGenerateDir());
  }