Example #1
0
 public ServiceInstance getInstanceById(int instance) {
   for (ServiceInstance node : repLst) {
     if (node.getInstanceId() == instance) {
       return node;
     }
   }
   return null;
 }
Example #2
0
 public List<ServiceInstance> getInstanceHostOn(int instanceIdOfHoster) {
   List<ServiceInstance> newLst = new ArrayList<>();
   for (ServiceInstance instance : repLst) {
     if (instance.getHostedId_Integer() == instanceIdOfHoster) {
       newLst.add(instance);
     }
   }
   return newLst;
 }
Example #3
0
 public int getInstanceNumberByState(SalsaEntityState state) {
   int counter = 0;
   for (ServiceInstance rep : repLst) {
     if (rep.getState() == state) {
       counter++;
     }
   }
   return counter;
 }
Example #4
0
 public List<ServiceInstance> getInstanceByState(SalsaEntityState state) {
   List<ServiceInstance> lst = new ArrayList<>();
   for (ServiceInstance rep : repLst) {
     if (rep.getState() == state) {
       lst.add(rep);
     }
   }
   return lst;
 }
 //
 // From Editor:
 //
 @Override
 Utils.Resolver getDetailResolver() {
   ServiceInstance service = (ServiceInstance) _target;
   if (service.getCoordinator().substitute()) {
     return service.getResolver();
   } else {
     return null;
   }
 }
Example #6
0
  /**
   * Build into a UriSpec string
   *
   * @param serviceInstance instance to use for pre-defined replacement fields
   * @param variables a mapping of field replacement names to values. Note: any fields listed in
   *     this map override pre-defined fields
   * @return UriSpec string
   */
  public String build(ServiceInstance<?> serviceInstance, Map<String, Object> variables) {
    Map<String, Object> localVariables = Maps.newHashMap();
    localVariables.put(FIELD_OPEN_BRACE, "{");
    localVariables.put(FIELD_CLOSE_BRACE, "}");
    localVariables.put(FIELD_SCHEME, "http");

    if (serviceInstance != null) {
      localVariables.put(FIELD_NAME, nullCheck(serviceInstance.getName()));
      localVariables.put(FIELD_ID, nullCheck(serviceInstance.getId()));
      localVariables.put(FIELD_ADDRESS, nullCheck(serviceInstance.getAddress()));
      localVariables.put(FIELD_PORT, nullCheck(serviceInstance.getPort()));
      localVariables.put(FIELD_SSL_PORT, nullCheck(serviceInstance.getSslPort()));
      localVariables.put(
          FIELD_REGISTRATION_TIME_UTC, nullCheck(serviceInstance.getRegistrationTimeUTC()));
      localVariables.put(
          FIELD_SERVICE_TYPE,
          (serviceInstance.getServiceType() != null)
              ? serviceInstance.getServiceType().name().toLowerCase()
              : "");
      if (serviceInstance.getSslPort() != null) {
        localVariables.put(FIELD_SCHEME, "https");
      }
    }

    localVariables.putAll(variables);

    StringBuilder str = new StringBuilder();
    for (Part p : parts) {
      if (p.isVariable()) {
        Object value = localVariables.get(p.getValue());
        if (value == null) {
          log.debug("Variable not found: " + p.getValue());
        } else {
          str.append(value);
        }
      } else {
        str.append(p.getValue());
      }
    }

    return str.toString();
  }
  void show(ServiceInstance service) {
    detectUpdates(false);
    _target = service;

    //
    // If it's not a template instance, it's shown using
    // ServiceEditor.show()
    //
    assert getDescriptor().template.length() > 0;

    ServiceInstanceDescriptor descriptor = (ServiceInstanceDescriptor) service.getDescriptor();
    Coordinator coordinator = service.getCoordinator();
    boolean isEditable = service.isEphemeral() || !coordinator.substitute();

    Utils.Resolver resolver = isEditable ? null : ((TreeNode) service.getParent()).getResolver();

    //
    // Need to make control enabled before changing it
    //
    _template.setEnabled(true);

    ServiceTemplates serviceTemplates = service.getRoot().getServiceTemplates();
    _template.setModel(serviceTemplates.createComboBoxModel());

    ServiceTemplate t = (ServiceTemplate) serviceTemplates.findChild(descriptor.template);
    assert t != null;
    _template.setSelectedItem(t);

    ListDataListener templateListener =
        new ListDataListener() {
          @Override
          public void contentsChanged(ListDataEvent e) {
            updated();

            ServiceTemplate t = (ServiceTemplate) _template.getModel().getSelectedItem();

            TemplateDescriptor td = (TemplateDescriptor) t.getDescriptor();

            //
            // Replace parameters but keep existing values
            //
            _parameters.set(
                td.parameters,
                makeParameterValues(_parameters.getValues(), td.parameters),
                td.parameterDefaults,
                null);
          }

          @Override
          public void intervalAdded(ListDataEvent e) {}

          @Override
          public void intervalRemoved(ListDataEvent e) {}
        };

    _template.getModel().addListDataListener(templateListener);
    _template.setEnabled(isEditable);

    TemplateDescriptor td = (TemplateDescriptor) t.getDescriptor();
    _parameters.set(td.parameters, descriptor.parameterValues, td.parameterDefaults, resolver);

    _propertySets.setList(
        java.util.Arrays.asList(descriptor.propertySet.references), getDetailResolver());
    _propertySets.setEditable(isEditable);

    _properties.setProperties(
        descriptor.propertySet.properties, null, null, getDetailResolver(), isEditable);

    _applyButton.setEnabled(service.isEphemeral());
    _discardButton.setEnabled(service.isEphemeral());
    detectUpdates(true);
    if (service.isEphemeral()) {
      updated();
    }
  }