Package net.sf.redmine_mylyn.api.model

Examples of net.sf.redmine_mylyn.api.model.CustomField


     
      IStructuredSelection selection = (IStructuredSelection)opCombo.getSelection();
      if (selection.getFirstElement() instanceof CompareOperator) {
        CompareOperator operator = (CompareOperator)selection.getFirstElement();
        if (queryField instanceof CustomField) {
          CustomField customField = (CustomField)queryField;
          if(customField.getFieldFormat()==CustomField.Format.BOOL) {
            query.addFilter(customField, QueryField.BOOLEAN_TYPE, operator, IRedmineConstants.BOOLEAN_TRUE_SUBMIT_VALUE);
          } else {
            QueryField definition = customField.getQueryField();
            query.addFilter(customField, definition, operator, text.getText().trim());
          }
        } else {
          query.addFilter((QueryField)queryField, operator, text.getText().trim());
        }
View Full Code Here


   
    HashSet<Integer> collectedCustomFieldIds = new HashSet<Integer>();
    if (project==null) {
      for (Tracker tracker : selTrackerList) {
        for (Integer cfId : tracker.getIssueCustomFields()) {
          CustomField cf  = configuration.getCustomFields().getById(cfId);
          if(cf.isCrossProjectUsable()) {
            collectedCustomFieldIds.add(cfId);
          }
        }
      }
    } else {
View Full Code Here

 
  public ErrorMessageCollector validateTaskAttribute(TaskData taskData, TaskAttribute attribute) {
    ErrorMessageCollector collector = new ErrorMessageCollector();
    if(attribute.getId().startsWith(IRedmineConstants.TASK_KEY_PREFIX_ISSUE_CF)) {
      String customFieldId = attribute.getId().substring(IRedmineConstants.TASK_KEY_PREFIX_ISSUE_CF.length());
      CustomField customField = configuration.getCustomFields().getById(RedmineUtil.parseIntegerId(customFieldId));
      if(customField!=null) {
        validateCustomAttribute(attribute, customField, collector);
      }
    } else if (attribute.getId().equals(RedmineAttribute.ESTIMATED.getTaskKey())) {
      validateEstimatedHours(taskData, collector);
View Full Code Here

    Project project = configuration.getProjects().getById(projectId);
    int[] customFieldIds = project.getCustomFieldIdsByTrackerId(trackerId);
   
    if(customFieldIds!=null) {
      for (int customFieldId : customFieldIds) {
        CustomField customField = configuration.getCustomFields().getById(customFieldId);
        TaskAttribute attribute = rootAttribute.getAttribute(IRedmineConstants.TASK_KEY_PREFIX_ISSUE_CF + customFieldId);
        if(customField!=null && attribute!=null) {
          validateCustomAttribute(attribute, customField, collector);
        }
      }
View Full Code Here

   
    if(nvp.getName().equals("fields[]")) { //$NON-NLS-1$
      if(nvp.getValue().startsWith(CUSTOM_FIELD_PREFIX)) {
        try {
          int cfId = Integer.parseInt(nvp.getValue().substring(3));
          CustomField customField = configuration.getCustomFields().getById(cfId);
          if(customField!=null && customField.getQueryField()!=null) {
            filter = new QueryFilter(customField, customField.getQueryField());
          }
        } catch (NumberFormatException e){
          RedmineApiPlugin.getLogService(QueryFilter.class).error(e, Messages.ERRMSG_CANT_RESTORE_QUERYFILTER_INVALID_FIELDID_X, nvp.getValue().substring(3));
        }
       
View Full Code Here

    lst.add(buildCustomField(10, "Date of xx", Type.TimeEntryCustomField, Format.DATE, 0, 0, null, null, false, true, false));
    //TODO
  }
 
  public static CustomField buildCustomField(int id, String name, Type type, Format format, int min, int max, String regex, String defValue, boolean isRequired, boolean isFilter, boolean isForAll, String... options) throws Exception {
    CustomField cf = new CustomField();
    setId(cf, id);
    cf.setName(name);
    cf.setType(type);
    cf.setFieldFormat(format);
    cf.setMinLength(min);
    cf.setMaxLength(max);
    cf.setRegexp(regex);
    cf.setPossibleValues(Arrays.asList(options));
    cf.setDefaultValue(defValue);
    cf.setRequired(isRequired);
    cf.setFilter(isFilter);
    cf.setForAll(isForAll);
    return cf;
  }
View Full Code Here

    }
    if (getCustomValues()!=null) {
      for (CustomValue customValue : getCustomValues()) {
        TaskAttribute child = taskAttribute.createMappedAttribute(IRedmineConstants.TASK_KEY_PREFIX_TIMEENTRY_CF + customValue.getCustomFieldId());
       
        CustomField customField = configuration.getCustomFields().getById(customValue.getCustomFieldId());
        if(customField!=null) {
          child.getMetaData().defaults().setType(RedmineUtil.getTaskAttributeType(customField));
          child.setValue(customValue.getValue());
          child.getMetaData().setLabel(customField.getName());
        }
      }
    }
  }
View Full Code Here

   
    return timeEntry;
  }
 
  private static String formatCustomValue(String value, int customFieldId, Configuration cfg) {
    CustomField field = cfg.getCustomFields().getById(customFieldId);
    if(field!=null) {
      switch(field.getFieldFormat()) {
      case DATE: value = value.isEmpty() ? "" : RedmineUtil.formatDate(RedmineUtil.parseDate(value)); break; //$NON-NLS-1$
      case BOOL: value = Boolean.parseBoolean(value) ? IRedmineConstants.BOOLEAN_TRUE_SUBMIT_VALUE : IRedmineConstants.BOOLEAN_FALSE_SUBMIT_VALUE;
      default: return value;
      }
    }
View Full Code Here

    assertEquals(0, params.size());
  }
 
  @Test
  public void testAppendParamsBooleanBased() throws Exception {
    CustomField cf = TestData.buildCustomField(2, "boolValue", Type.IssueCustomField, Format.BOOL, 0, 0, null, null, false, true, true);
    testee = new QueryFilter(cf, BOOLEAN_TYPE);
   
    testee.setOperator(IS);
    testee.appendParams(params);
    assertEquals(0, params.size());
View Full Code Here

TOP

Related Classes of net.sf.redmine_mylyn.api.model.CustomField

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.