@Override
 public <T> Result<T> lookup(Template<T> template) {
   if (template.getType() == Node.class) {
     return Lookup.EMPTY.lookup(template);
   }
   return delegate.lookup(template);
 }
Esempio n. 2
0
  @Test
  public void testListTemplates() throws Exception {
    Set<Template> response = client.getTemplateClient().listTemplates();
    assert null != response;
    long templateCount = response.size();
    assertTrue(templateCount >= 0);
    for (Template template : response) {
      Template newDetails =
          Iterables.getOnlyElement(
              client
                  .getTemplateClient()
                  .listTemplates(zoneId(template.getZoneId()).id(template.getId())));
      Logger.CONSOLE.info("Checking template: " + template);

      assertEquals(template, newDetails);
      assertEquals(
          template,
          client.getTemplateClient().getTemplateInZone(template.getId(), template.getZoneId()));
      assert template.getId() > 0 : template;
      assert template.getName() != null : template;
      assert template.getDisplayText() != null : template;
      assert template.getCreated() != null : template;
      assert template.getFormat() != null && template.getFormat() != Template.Format.UNRECOGNIZED
          : template;
      assert template.getOSType() != null : template;
      assert template.getOSTypeId() > 0 : template;
      assert template.getAccount() != null : template;
      assert template.getZone() != null : template;
      assert template.getZoneId() > 0 : template;
      assert (template.getStatus() == null || template.getStatus().equals("Download Complete"))
          : template;
      assert template.getType() != null && template.getType() != Template.Type.UNRECOGNIZED
          : template;
      assert template.getHypervisor() != null : template;
      assert template.getDomain() != null : template;
      assert template.getDomainId() > 0 : template;
      assert template.getSize() > 0 : template;
    }
  }
Esempio n. 3
0
  /**
   * A method that defines matching between Item and Template.
   *
   * @param item the item to match
   * @return true if item matches the template requirements, false if not
   */
  private static boolean matches(Template t, AbstractLookup.Pair item) {
    if (!AbstractLookup.matches(t, item)) {
      return false;
    }

    Class type = t.getType();

    if (type != null && !type.isAssignableFrom(item.getType())) {
      return false;
    }

    return true;
  }