private UriTemplate createUriTemplate(String requestParameterName, Link linkName) {
   return new UriTemplate(linkName.getHref())
       .with(
           new TemplateVariables(
               new TemplateVariable(
                   requestParameterName, TemplateVariable.VariableType.REQUEST_PARAM)));
 }
 @Override
 public boolean matches(Map<?, ?> links) {
   for (Entry<?, ?> entry : links.entrySet()) {
     Link link = (Link) entry.getValue();
     if (link.getHref() == null || link.getHttpMethod() == null || link.getRel() == null) {
       return false;
     }
   }
   return true;
 }
 public static Link createVerifyPasswordLink(UserClient user) {
   Link verifyPasswordLink =
       linkTo(methodOn(UserClientsResource.class).verifyPassword(null)).withRel("verifyPassword");
   UriTemplate verifyPasswordUriTemplate =
       new UriTemplate(verifyPasswordLink.getHref())
           .with(
               new TemplateVariables(
                   new TemplateVariable("password", TemplateVariable.VariableType.REQUEST_PARAM)));
   return new Link(verifyPasswordUriTemplate, verifyPasswordLink.getRel());
 }
 @Test
 public void shouldUnmarshallGetDomainsWith1ExistingResponseBody() throws Throwable {
   // pre-conditions
   String content = Samples.GET_DOMAINS_1EXISTING.getContentAsString();
   assertNotNull(content);
   // operation
   RestResponse response = ResourceDTOFactory.get(content);
   // verifications
   assertThat(response.getDataType()).isEqualTo(EnumDataType.domains);
   final List<DomainResourceDTO> domainDTOs = response.getData();
   assertThat(domainDTOs).isNotEmpty();
   assertThat(domainDTOs).hasSize(1);
   final DomainResourceDTO domainDTO = domainDTOs.get(0);
   assertThat(domainDTO.getNamespace()).isEqualTo("foobar");
   assertThat(domainDTO.getLinks()).hasSize(6);
   final Link link = domainDTO.getLink(ADD_APPLICATION);
   assertThat(link).isNotNull();
   assertThat(link.getHref()).isEqualTo("/domains/foobar/applications");
   assertThat(link.getRel()).isEqualTo("Create new application");
   assertThat(link.getHttpMethod()).isEqualTo(HttpMethod.POST);
   final List<LinkParameter> requiredParams = link.getRequiredParams();
   assertThat(requiredParams).hasSize(2);
 }
Пример #5
0
  private void process(final Resource resource, final Path classpath, final File root) {
    log("Preparing javadoc for output to: " + root);

    final Javadoc javadoc = (Javadoc) getProject().createTask(JAVADOC_TASK_NAME);
    javadoc.setTaskName(getTaskName());
    javadoc.init();
    javadoc.setDestdir(root);
    javadoc.setUse(true);
    javadoc.createClasspath().add(classpath);

    String excludes = getPackageExcludes();
    if (null != excludes) {
      javadoc.setExcludePackageNames(excludes);
    }

    Javadoc.PackageName[] excludesList = m_excludes.toArray(new Javadoc.PackageName[0]);
    for (Javadoc.PackageName exclude : excludesList) {
      javadoc.addExcludePackage(exclude);
    }

    final Path source = javadoc.createSourcepath();
    addSourcePath(resource, javadoc, source);

    if (null == m_access) {
      String access = getContext().getProperty(JAVADOC_ACCESS_KEY, "protected");
      AccessType type = new AccessType();
      type.setValue(access);
      javadoc.setAccess(type);
    } else {
      javadoc.setAccess(m_access);
    }

    if ("true".equals(getContext().getProperty(JAVADOC_LINK_SOURCE_KEY, "false"))) {
      javadoc.setLinksource(true);
    }

    aggregateLinks(javadoc, resource);
    Link[] links = m_links.toArray(new Link[0]);
    for (int i = 0; i < links.length; i++) {
      Link link = links[i];
      Javadoc.LinkArgument arg = javadoc.createLink();
      String href = link.getHref();
      log("Adding link: " + href);
      arg.setHref(href);
    }

    final String title = resource.getName() + " API";
    if (null != m_windowTitle) {
      javadoc.setWindowtitle(m_windowTitle);
    } else {
      javadoc.setWindowtitle(title);
    }

    if (null == m_title) {
      javadoc.setDoctitle(title);
    } else {
      javadoc.setDoctitle(m_title);
    }

    if (null != m_overview) {
      javadoc.setOverview(m_overview);
    }

    Group[] groups = getGroups();
    for (int i = 0; i < groups.length; i++) {
      Group group = groups[i];
      Javadoc.GroupArgument jgroup = javadoc.createGroup();
      jgroup.setTitle(group.getTitle());
      Group.Package[] packages = group.getPackages();
      for (int j = 0; j < packages.length; j++) {
        Javadoc.PackageName name = new Javadoc.PackageName();
        name.setName(packages[j].getName());
        jgroup.addPackage(name);
      }
    }

    log("Generating: " + resource.getName() + " API");
    javadoc.execute();
  }