public long getCountFromKey(String key) { return IssueKey.from(key).getIssueNumber(); }
/** * Returns the bucket number for an issue based of its key * @param issueKey The latest issue key * @return String containing the number bucket the issue will be placed in * @throws IllegalArgumentException if the issueKey is not a valid JIRA issue key */ public static String computeIssueBucketDir(@Nonnull final String issueKey) { final long issueNumber = IssueKey.from(issueKey).getIssueNumber(); final long issueBucket = ((issueNumber - 1)/BUCKET_SIZE + 1) * BUCKET_SIZE; return Long.toString(issueBucket); }
protected long getIssueNumberFromKey(final String pkey) { return IssueKey.from(pkey).getIssueNumber(); }
public void setKey(String key) { this.key = key; if (key == null) { number = null; } else { IssueKey issueKey = IssueKey.from(key); this.number = issueKey.getIssueNumber(); } }
public long parseKeyNum(final String issueKey) { // For backward compatibility, return -1 on invalid input if (IssueKey.isValidKey(issueKey)) { return IssueKey.from(issueKey).getIssueNumber(); } else { return -1; } }
/** * Helper method to mung an issue key to the given project key. * @param originalProjectKey The project key that the issue should be under. * @param issueKey The issue key to mung. * @return Munged issue key with the specified original project key as the issue prefix. */ public static String computeIssueKeyForOriginalProjectKey(final String originalProjectKey, final String issueKey) { final long issueNumber = IssueKey.from(issueKey).getIssueNumber(); return IssueKey.format(originalProjectKey, issueNumber); }
@Override public void set(final String name, final Object value) { if ("key".equals(name)) { if (value == null) { throw new NullPointerException("One can not set 'key' to null for Issue entity " + "because its mapped to 'number' and no sensible value can be derived from null."); } super.set(ISSUE_NUMBER, IssueKey.from((String) value).getIssueNumber()); } else { super.set(name, value); } } }
private Pair<Set<String>, Map<String, Set<Long>>> breakDownIssueKeys(@Nonnull final Set<String> issueKeys) { Set<String> invalidKeys = new HashSet<>(); Map<String, Set<Long>> projectKeyIssueNumbers = new HashMap<>(); for (String issueKey : issueKeys) { IssueKey issueKeyObject; try { issueKeyObject = IssueKey.from(issueKey); } catch (IllegalArgumentException ex) { invalidKeys.add(issueKey); continue; } Set<Long> issueNumbers = projectKeyIssueNumbers.get(issueKeyObject.getProjectKey()); if (issueNumbers == null) { issueNumbers = new HashSet<>(); projectKeyIssueNumbers.put(issueKeyObject.getProjectKey(), issueNumbers); } issueNumbers.add(issueKeyObject.getIssueNumber()); } return Pair.of(invalidKeys, projectKeyIssueNumbers); }
@Override @Nullable public File getAttachmentDirectory(@Nonnull final String issueKey) { final IssueKey ik = IssueKey.from(issueKey); final Project project = projectManager.getProjectObjByKey(ik.getProjectKey()); if (project != null) { return getAttachmentDirectory(getAttachmentDirName(), project.getOriginalKey(), IssueKey.format(project.getOriginalKey(), ik.getIssueNumber())); } return null; }
public void addIndex(final Document doc, final Issue issue) { if ((issue != null) && !StringUtils.isBlank(issue.getKey())) { final String key = issue.getKey(); indexKeyword(doc, DocumentConstants.ISSUE_KEY, key, issue); //We are using Locale.ENGLISH to ensure there is consistent mapping rules. Sorry to people from Turkey. indexFoldedKeyword(doc, getDocumentFieldId(), key, Locale.ENGLISH, issue); final long numPart = IssueKey.from(key).getIssueNumber(); if (numPart >= 0) { indexLongAsKeyword(doc, DocumentConstants.ISSUE_KEY_NUM_PART, numPart, issue); //This is the field that we can do JQL like issueKey >= JRA-1330. doc.add(new Field(DocumentConstants.ISSUE_KEY_NUM_PART_RANGE, NumberTools.longToString(numPart), Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS)); } } } }
private GenericValue getIssueFromIssueEntity(final String key) { final IssueKey issueKey; try { issueKey = IssueKey.from(key); } catch (IllegalArgumentException ex) { // For backward compatibility in the getIssue methods which returned null for invalid input return null; } Long projectId = getProjectByKey(issueKey.getProjectKey()); if (projectId == null) { return null; } return getIssueFromIssueEntityByProjectAndNumber(projectId, issueKey.getIssueNumber()); }
public void setKey(String key) { setProjectId(null); setNumber(null); if (key != null) { final IssueKey issueKey = IssueKey.from(key); final Project project = projectManager.getProjectObjByKey(issueKey.getProjectKey()); if (project == null) { throw new IllegalArgumentException(String.format("Invalid project key '%s'", issueKey.getProjectKey())); } setProjectObject(project); setNumber(issueKey.getIssueNumber()); } initializeKey(); }