Showing
31 changed files
with
551 additions
and
682 deletions
| @@ -4,12 +4,9 @@ import pl.itcrowd.youtrack.api.defaults.Fields; | @@ -4,12 +4,9 @@ import pl.itcrowd.youtrack.api.defaults.Fields; | ||
| 4 | import pl.itcrowd.youtrack.api.defaults.StateValues; | 4 | import pl.itcrowd.youtrack.api.defaults.StateValues; |
| 5 | 5 | ||
| 6 | public class Command { | 6 | public class Command { |
| 7 | -// ------------------------------ FIELDS ------------------------------ | ||
| 8 | 7 | ||
| 9 | protected StringBuilder command = new StringBuilder(); | 8 | protected StringBuilder command = new StringBuilder(); |
| 10 | 9 | ||
| 11 | -// -------------------------- STATIC METHODS -------------------------- | ||
| 12 | - | ||
| 13 | public static Command assigneeCommand(String assignee) | 10 | public static Command assigneeCommand(String assignee) |
| 14 | { | 11 | { |
| 15 | return new Command().assignee(assignee); | 12 | return new Command().assignee(assignee); |
| @@ -25,22 +22,16 @@ public class Command { | @@ -25,22 +22,16 @@ public class Command { | ||
| 25 | return new Command().state(state); | 22 | return new Command().state(state); |
| 26 | } | 23 | } |
| 27 | 24 | ||
| 28 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 29 | - | ||
| 30 | protected Command() | 25 | protected Command() |
| 31 | { | 26 | { |
| 32 | } | 27 | } |
| 33 | 28 | ||
| 34 | -// ------------------------ CANONICAL METHODS ------------------------ | ||
| 35 | - | ||
| 36 | @Override | 29 | @Override |
| 37 | public String toString() | 30 | public String toString() |
| 38 | { | 31 | { |
| 39 | return command.toString().trim(); | 32 | return command.toString().trim(); |
| 40 | } | 33 | } |
| 41 | 34 | ||
| 42 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 43 | - | ||
| 44 | public Command assignee(String assignee) | 35 | public Command assignee(String assignee) |
| 45 | { | 36 | { |
| 46 | return command(Fields.assignee, assignee); | 37 | return command(Fields.assignee, assignee); |
| @@ -12,7 +12,6 @@ import java.io.StringReader; | @@ -12,7 +12,6 @@ import java.io.StringReader; | ||
| 12 | 12 | ||
| 13 | //TODO methods from this class should be probably merged with YoutrackUnmarshaller | 13 | //TODO methods from this class should be probably merged with YoutrackUnmarshaller |
| 14 | public final class ErrorUnmarshaller { | 14 | public final class ErrorUnmarshaller { |
| 15 | -// -------------------------- STATIC METHODS -------------------------- | ||
| 16 | 15 | ||
| 17 | public static String unmarshal(String string) throws JAXBException, IOException | 16 | public static String unmarshal(String string) throws JAXBException, IOException |
| 18 | { | 17 | { |
| @@ -34,8 +33,6 @@ public final class ErrorUnmarshaller { | @@ -34,8 +33,6 @@ public final class ErrorUnmarshaller { | ||
| 34 | } | 33 | } |
| 35 | } | 34 | } |
| 36 | 35 | ||
| 37 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 38 | - | ||
| 39 | private ErrorUnmarshaller() | 36 | private ErrorUnmarshaller() |
| 40 | { | 37 | { |
| 41 | } | 38 | } |
| @@ -8,7 +8,6 @@ import java.util.ArrayList; | @@ -8,7 +8,6 @@ import java.util.ArrayList; | ||
| 8 | import java.util.List; | 8 | import java.util.List; |
| 9 | 9 | ||
| 10 | public final class Filter { | 10 | public final class Filter { |
| 11 | -// ------------------------------ FIELDS ------------------------------ | ||
| 12 | 11 | ||
| 13 | private long after; | 12 | private long after; |
| 14 | 13 | ||
| @@ -16,8 +15,6 @@ public final class Filter { | @@ -16,8 +15,6 @@ public final class Filter { | ||
| 16 | 15 | ||
| 17 | private long maxResults; | 16 | private long maxResults; |
| 18 | 17 | ||
| 19 | -// -------------------------- STATIC METHODS -------------------------- | ||
| 20 | - | ||
| 21 | public static Filter createdFilter(String date) | 18 | public static Filter createdFilter(String date) |
| 22 | { | 19 | { |
| 23 | return new Filter().created(date); | 20 | return new Filter().created(date); |
| @@ -93,15 +90,11 @@ public final class Filter { | @@ -93,15 +90,11 @@ public final class Filter { | ||
| 93 | return new Filter().updater(updater); | 90 | return new Filter().updater(updater); |
| 94 | } | 91 | } |
| 95 | 92 | ||
| 96 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 97 | - | ||
| 98 | private Filter() | 93 | private Filter() |
| 99 | { | 94 | { |
| 100 | 95 | ||
| 101 | } | 96 | } |
| 102 | 97 | ||
| 103 | -// ------------------------ CANONICAL METHODS ------------------------ | ||
| 104 | - | ||
| 105 | @Override | 98 | @Override |
| 106 | public String toString() | 99 | public String toString() |
| 107 | { | 100 | { |
| @@ -124,8 +117,6 @@ public final class Filter { | @@ -124,8 +117,6 @@ public final class Filter { | ||
| 124 | return builder.length() > space.length() ? builder.substring(space.length()) : builder.toString(); | 117 | return builder.length() > space.length() ? builder.substring(space.length()) : builder.toString(); |
| 125 | } | 118 | } |
| 126 | 119 | ||
| 127 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 128 | - | ||
| 129 | public Filter after(long after) | 120 | public Filter after(long after) |
| 130 | { | 121 | { |
| 131 | this.after = after; | 122 | this.after = after; |
| @@ -235,17 +226,12 @@ public final class Filter { | @@ -235,17 +226,12 @@ public final class Filter { | ||
| 235 | return this; | 226 | return this; |
| 236 | } | 227 | } |
| 237 | 228 | ||
| 238 | -// -------------------------- INNER CLASSES -------------------------- | ||
| 239 | - | ||
| 240 | private class Condition { | 229 | private class Condition { |
| 241 | -// ------------------------------ FIELDS ------------------------------ | ||
| 242 | 230 | ||
| 243 | private Fields field; | 231 | private Fields field; |
| 244 | 232 | ||
| 245 | private String value; | 233 | private String value; |
| 246 | 234 | ||
| 247 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 248 | - | ||
| 249 | private Condition(Fields field, String value) | 235 | private Condition(Fields field, String value) |
| 250 | { | 236 | { |
| 251 | this.field = field; | 237 | this.field = field; |
| @@ -15,7 +15,6 @@ import java.util.List; | @@ -15,7 +15,6 @@ import java.util.List; | ||
| 15 | import java.util.Map; | 15 | import java.util.Map; |
| 16 | 16 | ||
| 17 | public class IssueWrapper implements Serializable { | 17 | public class IssueWrapper implements Serializable { |
| 18 | -// ------------------------------ FIELDS ------------------------------ | ||
| 19 | 18 | ||
| 20 | private static final Log log = LogFactory.getLog(IssueWrapper.class); | 19 | private static final Log log = LogFactory.getLog(IssueWrapper.class); |
| 21 | 20 | ||
| @@ -25,8 +24,6 @@ public class IssueWrapper implements Serializable { | @@ -25,8 +24,6 @@ public class IssueWrapper implements Serializable { | ||
| 25 | 24 | ||
| 26 | private Issue issue; | 25 | private Issue issue; |
| 27 | 26 | ||
| 28 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 29 | - | ||
| 30 | public IssueWrapper(Issue issue) | 27 | public IssueWrapper(Issue issue) |
| 31 | { | 28 | { |
| 32 | this.issue = issue; | 29 | this.issue = issue; |
| @@ -44,8 +41,6 @@ public class IssueWrapper implements Serializable { | @@ -44,8 +41,6 @@ public class IssueWrapper implements Serializable { | ||
| 44 | } | 41 | } |
| 45 | } | 42 | } |
| 46 | 43 | ||
| 47 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 48 | - | ||
| 49 | public List<Comment> getComments() | 44 | public List<Comment> getComments() |
| 50 | { | 45 | { |
| 51 | return Collections.unmodifiableList(comments); | 46 | return Collections.unmodifiableList(comments); |
| @@ -4,7 +4,6 @@ import java.net.URI; | @@ -4,7 +4,6 @@ import java.net.URI; | ||
| 4 | import java.net.URISyntaxException; | 4 | import java.net.URISyntaxException; |
| 5 | 5 | ||
| 6 | public class URIUtils { | 6 | public class URIUtils { |
| 7 | -// -------------------------- STATIC METHODS -------------------------- | ||
| 8 | 7 | ||
| 9 | public static URI buildURI(URI base, String path) | 8 | public static URI buildURI(URI base, String path) |
| 10 | { | 9 | { |
| @@ -64,326 +64,318 @@ import java.util.regex.Pattern; | @@ -64,326 +64,318 @@ import java.util.regex.Pattern; | ||
| 64 | import static pl.itcrowd.youtrack.api.URIUtils.buildURI; | 64 | import static pl.itcrowd.youtrack.api.URIUtils.buildURI; |
| 65 | 65 | ||
| 66 | public class YoutrackAPI { | 66 | public class YoutrackAPI { |
| 67 | -// ------------------------------ FIELDS ------------------------------ | ||
| 68 | 67 | ||
| 69 | - private final static QName Enumeration_QNAME = new QName("", "enumeration"); | 68 | + private final static QName Enumeration_QNAME = new QName("", "enumeration"); |
| 70 | 69 | ||
| 71 | - private final static QName Issue_QNAME = new QName("", "issue"); | 70 | + private final static QName Issue_QNAME = new QName("", "issue"); |
| 72 | 71 | ||
| 73 | - private static Log LOG = LogFactory.getLog(YoutrackAPI.class); | 72 | + private static Log LOG = LogFactory.getLog(YoutrackAPI.class); |
| 74 | 73 | ||
| 75 | - private HttpClient httpClient; | 74 | + private HttpClient httpClient; |
| 76 | 75 | ||
| 77 | - private String serviceLocation; | 76 | + private String serviceLocation; |
| 78 | 77 | ||
| 79 | - private URI serviceLocationURI; | 78 | + private URI serviceLocationURI; |
| 80 | 79 | ||
| 81 | -// -------------------------- STATIC METHODS -------------------------- | 80 | + private static HttpClient getDefaultHttpClient() |
| 81 | + { | ||
| 82 | + SSLContext sslContext; | ||
| 83 | + try { | ||
| 84 | + sslContext = SSLContext.getInstance("SSL"); | ||
| 85 | + } catch (NoSuchAlgorithmException e) { | ||
| 86 | + throw new RuntimeException(e); | ||
| 87 | + } | ||
| 88 | + // set up a TrustManager that trusts everything | ||
| 89 | + try { | ||
| 90 | + sslContext.init(null, new TrustManager[]{new X509TrustManager() { | ||
| 91 | + public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException | ||
| 92 | + { | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException | ||
| 96 | + { | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + public X509Certificate[] getAcceptedIssuers() | ||
| 100 | + { | ||
| 101 | + return new X509Certificate[0]; | ||
| 102 | + } | ||
| 103 | + }}, new SecureRandom()); | ||
| 104 | + } catch (KeyManagementException e) { | ||
| 105 | + throw new RuntimeException(e); | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + SSLSocketFactory sf = new SSLSocketFactory(sslContext); | ||
| 109 | + Scheme httpsScheme = new Scheme("https", 443, sf); | ||
| 110 | + SchemeRegistry schemeRegistry = SchemeRegistryFactory.createDefault(); | ||
| 111 | + schemeRegistry.register(schemeRegistry.unregister("https")); | ||
| 112 | + schemeRegistry.register(httpsScheme); | ||
| 82 | 113 | ||
| 83 | - private static HttpClient getDefaultHttpClient() | ||
| 84 | - { | ||
| 85 | - SSLContext sslContext; | ||
| 86 | - try { | ||
| 87 | - sslContext = SSLContext.getInstance("SSL"); | ||
| 88 | - } catch (NoSuchAlgorithmException e) { | ||
| 89 | - throw new RuntimeException(e); | 114 | + ClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry); |
| 115 | + return new DefaultHttpClient(cm); | ||
| 90 | } | 116 | } |
| 91 | - // set up a TrustManager that trusts everything | ||
| 92 | - try { | ||
| 93 | - sslContext.init(null, new TrustManager[]{new X509TrustManager() { | ||
| 94 | - public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException | ||
| 95 | - { | ||
| 96 | - } | ||
| 97 | 117 | ||
| 98 | - public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException | ||
| 99 | - { | 118 | + private static boolean isBlank(String str) |
| 119 | + { | ||
| 120 | + int strLen; | ||
| 121 | + if (str == null || (strLen = str.length()) == 0) { | ||
| 122 | + return true; | ||
| 100 | } | 123 | } |
| 101 | - | ||
| 102 | - public X509Certificate[] getAcceptedIssuers() | ||
| 103 | - { | ||
| 104 | - return new X509Certificate[0]; | 124 | + for (int i = 0; i < strLen; i++) { |
| 125 | + if ((!Character.isWhitespace(str.charAt(i)))) { | ||
| 126 | + return false; | ||
| 127 | + } | ||
| 105 | } | 128 | } |
| 106 | - }}, new SecureRandom()); | ||
| 107 | - } catch (KeyManagementException e) { | ||
| 108 | - throw new RuntimeException(e); | 129 | + return true; |
| 109 | } | 130 | } |
| 110 | 131 | ||
| 111 | - SSLSocketFactory sf = new SSLSocketFactory(sslContext); | ||
| 112 | - Scheme httpsScheme = new Scheme("https", 443, sf); | ||
| 113 | - SchemeRegistry schemeRegistry = SchemeRegistryFactory.createDefault(); | ||
| 114 | - schemeRegistry.register(schemeRegistry.unregister("https")); | ||
| 115 | - schemeRegistry.register(httpsScheme); | ||
| 116 | - | ||
| 117 | - ClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry); | ||
| 118 | - return new DefaultHttpClient(cm); | ||
| 119 | - } | ||
| 120 | - | ||
| 121 | - private static boolean isBlank(String str) | ||
| 122 | - { | ||
| 123 | - int strLen; | ||
| 124 | - if (str == null || (strLen = str.length()) == 0) { | ||
| 125 | - return true; | 132 | + public YoutrackAPI(String serviceLocation) |
| 133 | + { | ||
| 134 | + this(serviceLocation, null); | ||
| 126 | } | 135 | } |
| 127 | - for (int i = 0; i < strLen; i++) { | ||
| 128 | - if ((!Character.isWhitespace(str.charAt(i)))) { | ||
| 129 | - return false; | ||
| 130 | - } | 136 | + |
| 137 | + public YoutrackAPI(String serviceLocation, HttpClient httpClient) | ||
| 138 | + { | ||
| 139 | + if (serviceLocation == null) { | ||
| 140 | + throw new IllegalArgumentException("serviceLocation cannot be null"); | ||
| 141 | + } | ||
| 142 | + this.serviceLocation = serviceLocation; | ||
| 143 | + try { | ||
| 144 | + serviceLocationURI = new URI(this.serviceLocation); | ||
| 145 | + } catch (URISyntaxException e) { | ||
| 146 | + throw new RuntimeException(e); | ||
| 147 | + } | ||
| 148 | + this.httpClient = httpClient == null ? getDefaultHttpClient() : httpClient; | ||
| 131 | } | 149 | } |
| 132 | - return true; | ||
| 133 | - } | ||
| 134 | 150 | ||
| 135 | -// --------------------------- CONSTRUCTORS --------------------------- | 151 | + public YoutrackAPI(String serviceLocation, String username, String password) throws IOException, JAXBException |
| 152 | + { | ||
| 153 | + this(serviceLocation, null, username, password); | ||
| 154 | + } | ||
| 136 | 155 | ||
| 137 | - public YoutrackAPI(String serviceLocation) | ||
| 138 | - { | ||
| 139 | - this(serviceLocation, null); | ||
| 140 | - } | 156 | + public YoutrackAPI(String serviceLocation, HttpClient httpClient, String username, String password) throws IOException, JAXBException |
| 157 | + { | ||
| 158 | + this(serviceLocation, httpClient); | ||
| 159 | + login(username, password); | ||
| 160 | + } | ||
| 141 | 161 | ||
| 142 | - public YoutrackAPI(String serviceLocation, HttpClient httpClient) | ||
| 143 | - { | ||
| 144 | - if (serviceLocation == null) { | ||
| 145 | - throw new IllegalArgumentException("serviceLocation cannot be null"); | 162 | + public String getServiceLocation() |
| 163 | + { | ||
| 164 | + return serviceLocation; | ||
| 146 | } | 165 | } |
| 147 | - this.serviceLocation = serviceLocation; | ||
| 148 | - try { | ||
| 149 | - serviceLocationURI = new URI(this.serviceLocation); | ||
| 150 | - } catch (URISyntaxException e) { | ||
| 151 | - throw new RuntimeException(e); | 166 | + |
| 167 | + public void command(String issueId, String command) throws IOException | ||
| 168 | + { | ||
| 169 | + command(issueId, command, null, null, null, null); | ||
| 152 | } | 170 | } |
| 153 | - this.httpClient = httpClient == null ? getDefaultHttpClient() : httpClient; | ||
| 154 | - } | ||
| 155 | - | ||
| 156 | - public YoutrackAPI(String serviceLocation, String username, String password) throws IOException, JAXBException | ||
| 157 | - { | ||
| 158 | - this(serviceLocation, null, username, password); | ||
| 159 | - } | ||
| 160 | - | ||
| 161 | - public YoutrackAPI(String serviceLocation, HttpClient httpClient, String username, String password) throws IOException, JAXBException | ||
| 162 | - { | ||
| 163 | - this(serviceLocation, httpClient); | ||
| 164 | - login(username, password); | ||
| 165 | - } | ||
| 166 | - | ||
| 167 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 168 | - | ||
| 169 | - public String getServiceLocation() | ||
| 170 | - { | ||
| 171 | - return serviceLocation; | ||
| 172 | - } | ||
| 173 | - | ||
| 174 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 175 | - | ||
| 176 | - public void command(String issueId, String command) throws IOException | ||
| 177 | - { | ||
| 178 | - command(issueId, command, null, null, null, null); | ||
| 179 | - } | ||
| 180 | - | ||
| 181 | - public void command(String issueId, Command command) throws IOException | ||
| 182 | - { | ||
| 183 | - command(issueId, command.toString()); | ||
| 184 | - } | ||
| 185 | - | ||
| 186 | - public void command(String issueId, String command, String comment, String group, Boolean disableNotifications, String runAs) throws IOException | ||
| 187 | - { | ||
| 188 | - final HttpPost request = new HttpPost(buildURI(serviceLocationURI, "/rest/issue/" + issueId + "/execute")); | ||
| 189 | - final List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>(); | ||
| 190 | - parameters.add(new BasicNameValuePair("command", command)); | ||
| 191 | - if (!isBlank(comment)) { | ||
| 192 | - parameters.add(new BasicNameValuePair("comment", comment)); | 171 | + |
| 172 | + public void command(String issueId, Command command) throws IOException | ||
| 173 | + { | ||
| 174 | + command(issueId, command.toString()); | ||
| 193 | } | 175 | } |
| 194 | - if (!isBlank(group)) { | ||
| 195 | - parameters.add(new BasicNameValuePair("group", group)); | 176 | + |
| 177 | + public void command(String issueId, String command, String comment, String group, Boolean disableNotifications, String runAs) throws IOException | ||
| 178 | + { | ||
| 179 | + final HttpPost request = new HttpPost(buildURI(serviceLocationURI, "/rest/issue/" + issueId + "/execute")); | ||
| 180 | + final List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>(); | ||
| 181 | + parameters.add(new BasicNameValuePair("command", command)); | ||
| 182 | + if (!isBlank(comment)) { | ||
| 183 | + parameters.add(new BasicNameValuePair("comment", comment)); | ||
| 184 | + } | ||
| 185 | + if (!isBlank(group)) { | ||
| 186 | + parameters.add(new BasicNameValuePair("group", group)); | ||
| 187 | + } | ||
| 188 | + if (disableNotifications != null) { | ||
| 189 | + parameters.add(new BasicNameValuePair("disableNotifications", disableNotifications.toString())); | ||
| 190 | + } | ||
| 191 | + if (!isBlank(runAs)) { | ||
| 192 | + parameters.add(new BasicNameValuePair("runAs", runAs)); | ||
| 193 | + } | ||
| 194 | + request.setEntity(new UrlEncodedFormEntity(parameters)); | ||
| 195 | + execute(request); | ||
| 196 | } | 196 | } |
| 197 | - if (disableNotifications != null) { | ||
| 198 | - parameters.add(new BasicNameValuePair("disableNotifications", disableNotifications.toString())); | 197 | + |
| 198 | + /** | ||
| 199 | + * Creates new issue on Youtrack. | ||
| 200 | + * | ||
| 201 | + * @param project project to create issue in | ||
| 202 | + * @param summary summary of the issue | ||
| 203 | + * @param description longer description of the issue | ||
| 204 | + * | ||
| 205 | + * @return issue id of created issue | ||
| 206 | + * | ||
| 207 | + * @throws IOException in case of communication problems | ||
| 208 | + */ | ||
| 209 | + public String createIssue(String project, String summary, String description) throws IOException | ||
| 210 | + { | ||
| 211 | + final HttpPut request = createPutRequest(buildURI(serviceLocationURI, "/rest/issue"), new BasicNameValuePair("project", project), | ||
| 212 | + new BasicNameValuePair("summary", summary), new BasicNameValuePair("description", description)); | ||
| 213 | + final HttpResponse response = httpClient.execute(request); | ||
| 214 | + final StatusLine statusLine = response.getStatusLine(); | ||
| 215 | + final HttpEntity entity = response.getEntity(); | ||
| 216 | + final String responseText = entity == null ? null : EntityUtils.toString(entity); | ||
| 217 | + throwExceptionsIfNeeded(statusLine, responseText); | ||
| 218 | + | ||
| 219 | + final Header header = response.getFirstHeader(HttpHeaders.LOCATION); | ||
| 220 | + if (header == null) { | ||
| 221 | + throw new YoutrackAPIException("Missing location header despite positive status code: " + statusLine.getStatusCode()); | ||
| 222 | + } | ||
| 223 | + final String issueURL = header.getValue(); | ||
| 224 | + final Matcher matcher = Pattern.compile(".*(" + project + "-\\d+)").matcher(issueURL); | ||
| 225 | + if (!matcher.find() || matcher.groupCount() < 1) { | ||
| 226 | + throw new YoutrackAPIException("Cannot extract issue id from issue URL: " + issueURL); | ||
| 227 | + } | ||
| 228 | + return matcher.group(1); | ||
| 199 | } | 229 | } |
| 200 | - if (!isBlank(runAs)) { | ||
| 201 | - parameters.add(new BasicNameValuePair("runAs", runAs)); | 230 | + |
| 231 | + public void deleteIssue(String issueId) throws IOException | ||
| 232 | + { | ||
| 233 | + execute(new HttpDelete(buildURI(serviceLocationURI, "/rest/issue/" + issueId))); | ||
| 202 | } | 234 | } |
| 203 | - request.setEntity(new UrlEncodedFormEntity(parameters)); | ||
| 204 | - execute(request); | ||
| 205 | - } | ||
| 206 | - | ||
| 207 | - /** | ||
| 208 | - * Creates new issue on Youtrack. | ||
| 209 | - * | ||
| 210 | - * @param project project to create issue in | ||
| 211 | - * @param summary summary of the issue | ||
| 212 | - * @param description longer description of the issue | ||
| 213 | - * | ||
| 214 | - * @return issue id of created issue | ||
| 215 | - * | ||
| 216 | - * @throws IOException in case of communication problems | ||
| 217 | - */ | ||
| 218 | - public String createIssue(String project, String summary, String description) throws IOException | ||
| 219 | - { | ||
| 220 | - final HttpPut request = createPutRequest(buildURI(serviceLocationURI, "/rest/issue"), new BasicNameValuePair("project", project), | ||
| 221 | - new BasicNameValuePair("summary", summary), new BasicNameValuePair("description", description)); | ||
| 222 | - final HttpResponse response = httpClient.execute(request); | ||
| 223 | - final StatusLine statusLine = response.getStatusLine(); | ||
| 224 | - final HttpEntity entity = response.getEntity(); | ||
| 225 | - final String responseText = entity == null ? null : EntityUtils.toString(entity); | ||
| 226 | - throwExceptionsIfNeeded(statusLine, responseText); | ||
| 227 | - | ||
| 228 | - final Header header = response.getFirstHeader(HttpHeaders.LOCATION); | ||
| 229 | - if (header == null) { | ||
| 230 | - throw new YoutrackAPIException("Missing location header despite positive status code: " + statusLine.getStatusCode()); | 235 | + |
| 236 | + public AssigneeList getAssignees(String project) throws IOException, JAXBException | ||
| 237 | + { | ||
| 238 | + final String responseString = execute(new HttpGet(buildURI(serviceLocationURI, "/rest/admin/project/" + project + "/assignee"))); | ||
| 239 | + final Object result = YoutrackUnmarshaller.unmarshall(responseString); | ||
| 240 | + if (result instanceof AssigneeList) { | ||
| 241 | + return (AssigneeList) result; | ||
| 242 | + } else { | ||
| 243 | + throw new YoutrackAPIException("Unexpected type: " + result); | ||
| 244 | + } | ||
| 231 | } | 245 | } |
| 232 | - final String issueURL = header.getValue(); | ||
| 233 | - final Matcher matcher = Pattern.compile(".*(" + project + "-\\d+)").matcher(issueURL); | ||
| 234 | - if (!matcher.find() || matcher.groupCount() < 1) { | ||
| 235 | - throw new YoutrackAPIException("Cannot extract issue id from issue URL: " + issueURL); | 246 | + |
| 247 | + public Enumeration getBundle(String customField) throws IOException, JAXBException | ||
| 248 | + { | ||
| 249 | + final Object result = YoutrackUnmarshaller.unmarshall( | ||
| 250 | + execute(new HttpGet(buildURI(serviceLocationURI, "/rest/admin/customfield/bundle/" + customField)))); | ||
| 251 | + if (result instanceof Enumeration) { | ||
| 252 | + return (Enumeration) result; | ||
| 253 | + } else if (result instanceof JAXBElement) { | ||
| 254 | + final JAXBElement jaxbElement = (JAXBElement) result; | ||
| 255 | + if (Enumeration_QNAME.equals(jaxbElement.getName())) { | ||
| 256 | + return (Enumeration) ((JAXBElement) result).getValue(); | ||
| 257 | + } else { | ||
| 258 | + throw new YoutrackAPIException("Unexpected type: " + jaxbElement.getValue()); | ||
| 259 | + } | ||
| 260 | + } else { | ||
| 261 | + throw new YoutrackAPIException("Unexpected type: " + result); | ||
| 262 | + } | ||
| 236 | } | 263 | } |
| 237 | - return matcher.group(1); | ||
| 238 | - } | ||
| 239 | - | ||
| 240 | - public void deleteIssue(String issueId) throws IOException | ||
| 241 | - { | ||
| 242 | - execute(new HttpDelete(buildURI(serviceLocationURI, "/rest/issue/" + issueId))); | ||
| 243 | - } | ||
| 244 | - | ||
| 245 | - public AssigneeList getAssignees(String project) throws IOException, JAXBException | ||
| 246 | - { | ||
| 247 | - final String responseString = execute(new HttpGet(buildURI(serviceLocationURI, "/rest/admin/project/" + project + "/assignee"))); | ||
| 248 | - final Object result = YoutrackUnmarshaller.unmarshall(responseString); | ||
| 249 | - if (result instanceof AssigneeList) { | ||
| 250 | - return (AssigneeList) result; | ||
| 251 | - } else { | ||
| 252 | - throw new YoutrackAPIException("Unexpected type: " + result); | 264 | + |
| 265 | + public List<User> getIndividualAssignees(String project) throws IOException, JAXBException | ||
| 266 | + { | ||
| 267 | + final String responseString = execute(new HttpGet(buildURI(serviceLocationURI, "/rest/admin/project/" + project + "/assignee/individual"))); | ||
| 268 | + final Object result = YoutrackUnmarshaller.unmarshall(responseString); | ||
| 269 | + if (result instanceof UserRefs) { | ||
| 270 | + return ((UserRefs) result).getUsers(); | ||
| 271 | + } else { | ||
| 272 | + throw new YoutrackAPIException("Unexpected type: " + result); | ||
| 273 | + } | ||
| 253 | } | 274 | } |
| 254 | - } | ||
| 255 | - | ||
| 256 | - public Enumeration getBundle(String customField) throws IOException, JAXBException | ||
| 257 | - { | ||
| 258 | - final Object result = YoutrackUnmarshaller.unmarshall(execute(new HttpGet(buildURI(serviceLocationURI, "/rest/admin/customfield/bundle/" + customField)))); | ||
| 259 | - if (result instanceof Enumeration) { | ||
| 260 | - return (Enumeration) result; | ||
| 261 | - } else if (result instanceof JAXBElement) { | ||
| 262 | - final JAXBElement jaxbElement = (JAXBElement) result; | ||
| 263 | - if (Enumeration_QNAME.equals(jaxbElement.getName())) { | ||
| 264 | - return (Enumeration) ((JAXBElement) result).getValue(); | ||
| 265 | - } else { | ||
| 266 | - throw new YoutrackAPIException("Unexpected type: " + jaxbElement.getValue()); | ||
| 267 | - } | ||
| 268 | - } else { | ||
| 269 | - throw new YoutrackAPIException("Unexpected type: " + result); | 275 | + |
| 276 | + public IssueWrapper getIssue(String issueId) throws IOException, JAXBException | ||
| 277 | + { | ||
| 278 | + final String responseString; | ||
| 279 | + try { | ||
| 280 | + responseString = execute(new HttpGet(buildURI(serviceLocationURI, "/rest/issue/" + issueId))); | ||
| 281 | + } catch (YoutrackErrorException e) { | ||
| 282 | + if (e.getStatusCode() == HttpStatus.SC_NOT_FOUND) { | ||
| 283 | + throw new NoResultFoundException(e.getMessage(), e); | ||
| 284 | + } else { | ||
| 285 | + throw e; | ||
| 286 | + } | ||
| 287 | + } | ||
| 288 | + final Object result = YoutrackUnmarshaller.unmarshall(responseString); | ||
| 289 | + if (result instanceof pl.itcrowd.youtrack.api.rest.Issue) { | ||
| 290 | + return new IssueWrapper((Issue) result); | ||
| 291 | + } else if (result instanceof JAXBElement) { | ||
| 292 | + final JAXBElement jaxbElement = (JAXBElement) result; | ||
| 293 | + if (Issue_QNAME.equals(jaxbElement.getName())) { | ||
| 294 | + return new IssueWrapper((Issue) jaxbElement.getValue()); | ||
| 295 | + } else { | ||
| 296 | + throw new YoutrackAPIException("Unexpected type: " + jaxbElement.getValue()); | ||
| 297 | + } | ||
| 298 | + } else { | ||
| 299 | + throw new YoutrackAPIException("Unexpected type " + result); | ||
| 300 | + } | ||
| 270 | } | 301 | } |
| 271 | - } | ||
| 272 | - | ||
| 273 | - public List<User> getIndividualAssignees(String project) throws IOException, JAXBException | ||
| 274 | - { | ||
| 275 | - final String responseString = execute(new HttpGet(buildURI(serviceLocationURI, "/rest/admin/project/" + project + "/assignee/individual"))); | ||
| 276 | - final Object result = YoutrackUnmarshaller.unmarshall(responseString); | ||
| 277 | - if (result instanceof UserRefs) { | ||
| 278 | - return ((UserRefs) result).getUsers(); | ||
| 279 | - } else { | ||
| 280 | - throw new YoutrackAPIException("Unexpected type: " + result); | 302 | + |
| 303 | + public void login(String username, String password) throws IOException, JAXBException | ||
| 304 | + { | ||
| 305 | + final HttpPost request = new HttpPost(buildURI(serviceLocationURI, "/rest/user/login")); | ||
| 306 | + request.setEntity(new UrlEncodedFormEntity(Arrays.asList(new BasicNameValuePair("login", username), new BasicNameValuePair("password", password)))); | ||
| 307 | + execute(request); | ||
| 281 | } | 308 | } |
| 282 | - } | ||
| 283 | - | ||
| 284 | - public IssueWrapper getIssue(String issueId) throws IOException, JAXBException | ||
| 285 | - { | ||
| 286 | - final String responseString; | ||
| 287 | - try { | ||
| 288 | - responseString = execute(new HttpGet(buildURI(serviceLocationURI, "/rest/issue/" + issueId))); | ||
| 289 | - } catch (YoutrackErrorException e) { | ||
| 290 | - if (e.getStatusCode() == HttpStatus.SC_NOT_FOUND) { | ||
| 291 | - throw new NoResultFoundException(e.getMessage(), e); | ||
| 292 | - } else { | ||
| 293 | - throw e; | ||
| 294 | - } | 309 | + |
| 310 | + public List<IssueWrapper> searchIssuesByProject(String project, Object filter) throws JAXBException, IOException | ||
| 311 | + { | ||
| 312 | + final Object result = YoutrackUnmarshaller.unmarshall( | ||
| 313 | + execute(new HttpGet(buildURI(serviceLocationURI, "/rest/issue/byproject/" + project, "filter=" + (filter == null ? "" : filter))))); | ||
| 314 | + if (!(result instanceof Issues)) { | ||
| 315 | + throw new YoutrackAPIException("Unmarshalling problem. Expected Issues, received: " + result.getClass() + " " + result); | ||
| 316 | + } | ||
| 317 | + List<Issue> issues = ((Issues) result).getIssues(); | ||
| 318 | + List<IssueWrapper> wrappedIssues = new ArrayList<IssueWrapper>(); | ||
| 319 | + for (Issue issue : issues) { | ||
| 320 | + wrappedIssues.add(new IssueWrapper(issue)); | ||
| 321 | + } | ||
| 322 | + return wrappedIssues; | ||
| 295 | } | 323 | } |
| 296 | - final Object result = YoutrackUnmarshaller.unmarshall(responseString); | ||
| 297 | - if (result instanceof pl.itcrowd.youtrack.api.rest.Issue) { | ||
| 298 | - return new IssueWrapper((Issue) result); | ||
| 299 | - } else if (result instanceof JAXBElement) { | ||
| 300 | - final JAXBElement jaxbElement = (JAXBElement) result; | ||
| 301 | - if (Issue_QNAME.equals(jaxbElement.getName())) { | ||
| 302 | - return new IssueWrapper((Issue) jaxbElement.getValue()); | ||
| 303 | - } else { | ||
| 304 | - throw new YoutrackAPIException("Unexpected type: " + jaxbElement.getValue()); | ||
| 305 | - } | ||
| 306 | - } else { | ||
| 307 | - throw new YoutrackAPIException("Unexpected type " + result); | 324 | + |
| 325 | + public void updateIssue(String issueId, String summary, String description) throws IOException | ||
| 326 | + { | ||
| 327 | + final HttpPost request = createPostRequest(buildURI(serviceLocationURI, "/rest/issue/" + issueId), | ||
| 328 | + new BasicNameValuePair(Fields.summary.name(), summary), new BasicNameValuePair(Fields.description.name(), description)); | ||
| 329 | + final HttpResponse response = httpClient.execute(request); | ||
| 330 | + final StatusLine statusLine = response.getStatusLine(); | ||
| 331 | + final HttpEntity entity = response.getEntity(); | ||
| 332 | + final String responseText = entity == null ? null : EntityUtils.toString(entity); | ||
| 333 | + throwExceptionsIfNeeded(statusLine, responseText); | ||
| 308 | } | 334 | } |
| 309 | - } | ||
| 310 | - | ||
| 311 | - public void login(String username, String password) throws IOException, JAXBException | ||
| 312 | - { | ||
| 313 | - final HttpPost request = new HttpPost(buildURI(serviceLocationURI, "/rest/user/login")); | ||
| 314 | - request.setEntity(new UrlEncodedFormEntity(Arrays.asList(new BasicNameValuePair("login", username), new BasicNameValuePair("password", password)))); | ||
| 315 | - execute(request); | ||
| 316 | - } | ||
| 317 | - | ||
| 318 | - public List<IssueWrapper> searchIssuesByProject(String project, Object filter) throws JAXBException, IOException | ||
| 319 | - { | ||
| 320 | - final Object result = YoutrackUnmarshaller.unmarshall( | ||
| 321 | - execute(new HttpGet(buildURI(serviceLocationURI, "/rest/issue/byproject/" + project, "filter=" + (filter == null ? "" : filter))))); | ||
| 322 | - if (!(result instanceof Issues)) { | ||
| 323 | - throw new YoutrackAPIException("Unmarshalling problem. Expected Issues, received: " + result.getClass() + " " + result); | 335 | + |
| 336 | + private HttpPost createPostRequest(URI uri, NameValuePair... nameValuePair) throws UnsupportedEncodingException | ||
| 337 | + { | ||
| 338 | + return setEntity(new HttpPost(uri), nameValuePair); | ||
| 324 | } | 339 | } |
| 325 | - List<Issue> issues = ((Issues) result).getIssues(); | ||
| 326 | - List<IssueWrapper> wrappedIssues = new ArrayList<IssueWrapper>(); | ||
| 327 | - for (Issue issue : issues) { | ||
| 328 | - wrappedIssues.add(new IssueWrapper(issue)); | 340 | + |
| 341 | + private HttpPut createPutRequest(URI uri, NameValuePair... nameValuePair) throws UnsupportedEncodingException | ||
| 342 | + { | ||
| 343 | + return setEntity(new HttpPut(uri), nameValuePair); | ||
| 329 | } | 344 | } |
| 330 | - return wrappedIssues; | ||
| 331 | - } | ||
| 332 | - | ||
| 333 | - public void updateIssue(String issueId, String summary, String description) throws IOException | ||
| 334 | - { | ||
| 335 | - final HttpPost request = createPostRequest(buildURI(serviceLocationURI, "/rest/issue/" + issueId), new BasicNameValuePair(Fields.summary.name(), summary), | ||
| 336 | - new BasicNameValuePair(Fields.description.name(), description)); | ||
| 337 | - final HttpResponse response = httpClient.execute(request); | ||
| 338 | - final StatusLine statusLine = response.getStatusLine(); | ||
| 339 | - final HttpEntity entity = response.getEntity(); | ||
| 340 | - final String responseText = entity == null ? null : EntityUtils.toString(entity); | ||
| 341 | - throwExceptionsIfNeeded(statusLine, responseText); | ||
| 342 | - } | ||
| 343 | - | ||
| 344 | - private HttpPost createPostRequest(URI uri, NameValuePair... nameValuePair) throws UnsupportedEncodingException | ||
| 345 | - { | ||
| 346 | - return setEntity(new HttpPost(uri), nameValuePair); | ||
| 347 | - } | ||
| 348 | - | ||
| 349 | - private HttpPut createPutRequest(URI uri, NameValuePair... nameValuePair) throws UnsupportedEncodingException | ||
| 350 | - { | ||
| 351 | - return setEntity(new HttpPut(uri), nameValuePair); | ||
| 352 | - } | ||
| 353 | - | ||
| 354 | - private String execute(HttpUriRequest request) throws IOException | ||
| 355 | - { | ||
| 356 | - final HttpResponse response = httpClient.execute(request); | ||
| 357 | - final StatusLine statusLine = response.getStatusLine(); | ||
| 358 | - final HttpEntity entity = response.getEntity(); | ||
| 359 | - String responseText = entity == null ? null : EntityUtils.toString(entity); | ||
| 360 | - if (statusLine.getStatusCode() >= 300) { | ||
| 361 | - try { | ||
| 362 | - final String error = ErrorUnmarshaller.unmarshal(responseText); | ||
| 363 | - throw new YoutrackErrorException(error, statusLine.getStatusCode()); | ||
| 364 | - } catch (JAXBException e) { | ||
| 365 | - LOG.error("Cannot unmarshal following response text:\n" + responseText, e); | ||
| 366 | - throw new HttpResponseException(statusLine.getStatusCode(), responseText); | ||
| 367 | - } | 345 | + |
| 346 | + private String execute(HttpUriRequest request) throws IOException | ||
| 347 | + { | ||
| 348 | + final HttpResponse response = httpClient.execute(request); | ||
| 349 | + final StatusLine statusLine = response.getStatusLine(); | ||
| 350 | + final HttpEntity entity = response.getEntity(); | ||
| 351 | + String responseText = entity == null ? null : EntityUtils.toString(entity); | ||
| 352 | + if (statusLine.getStatusCode() >= 300) { | ||
| 353 | + try { | ||
| 354 | + final String error = ErrorUnmarshaller.unmarshal(responseText); | ||
| 355 | + throw new YoutrackErrorException(error, statusLine.getStatusCode()); | ||
| 356 | + } catch (JAXBException e) { | ||
| 357 | + LOG.error("Cannot unmarshal following response text:\n" + responseText, e); | ||
| 358 | + throw new HttpResponseException(statusLine.getStatusCode(), responseText); | ||
| 359 | + } | ||
| 360 | + } | ||
| 361 | + if (entity == null) { | ||
| 362 | + throw new ClientProtocolException("Response contains no content"); | ||
| 363 | + } | ||
| 364 | + return responseText; | ||
| 368 | } | 365 | } |
| 369 | - if (entity == null) { | ||
| 370 | - throw new ClientProtocolException("Response contains no content"); | 366 | + |
| 367 | + private <T extends HttpEntityEnclosingRequestBase> T setEntity(T request, NameValuePair[] nameValuePair) throws UnsupportedEncodingException | ||
| 368 | + { | ||
| 369 | + final ArrayList<NameValuePair> list = new ArrayList<NameValuePair>(); | ||
| 370 | + Collections.addAll(list, nameValuePair); | ||
| 371 | + request.setEntity(new UrlEncodedFormEntity(list)); | ||
| 372 | + return request; | ||
| 371 | } | 373 | } |
| 372 | - return responseText; | ||
| 373 | - } | ||
| 374 | - | ||
| 375 | - private <T extends HttpEntityEnclosingRequestBase> T setEntity(T request, NameValuePair[] nameValuePair) throws UnsupportedEncodingException | ||
| 376 | - { | ||
| 377 | - final ArrayList<NameValuePair> list = new ArrayList<NameValuePair>(); | ||
| 378 | - Collections.addAll(list, nameValuePair); | ||
| 379 | - request.setEntity(new UrlEncodedFormEntity(list)); | ||
| 380 | - return request; | ||
| 381 | - } | ||
| 382 | - | ||
| 383 | - private void throwExceptionsIfNeeded(StatusLine statusLine, String responseText) throws IOException | ||
| 384 | - { | ||
| 385 | - if (statusLine.getStatusCode() >= 300) { | ||
| 386 | - throw new HttpResponseException(statusLine.getStatusCode(), responseText); | 374 | + |
| 375 | + private void throwExceptionsIfNeeded(StatusLine statusLine, String responseText) throws IOException | ||
| 376 | + { | ||
| 377 | + if (statusLine.getStatusCode() >= 300) { | ||
| 378 | + throw new HttpResponseException(statusLine.getStatusCode(), responseText); | ||
| 379 | + } | ||
| 387 | } | 380 | } |
| 388 | - } | ||
| 389 | } | 381 | } |
| @@ -8,7 +8,6 @@ import java.io.Reader; | @@ -8,7 +8,6 @@ import java.io.Reader; | ||
| 8 | import java.io.StringReader; | 8 | import java.io.StringReader; |
| 9 | 9 | ||
| 10 | public final class YoutrackUnmarshaller { | 10 | public final class YoutrackUnmarshaller { |
| 11 | -// -------------------------- STATIC METHODS -------------------------- | ||
| 12 | 11 | ||
| 13 | public static Object unmarshall(String string) throws JAXBException | 12 | public static Object unmarshall(String string) throws JAXBException |
| 14 | { | 13 | { |
| @@ -20,8 +19,6 @@ public final class YoutrackUnmarshaller { | @@ -20,8 +19,6 @@ public final class YoutrackUnmarshaller { | ||
| 20 | return JAXBContext.newInstance(ObjectFactory.class).createUnmarshaller().unmarshal(reader); | 19 | return JAXBContext.newInstance(ObjectFactory.class).createUnmarshaller().unmarshal(reader); |
| 21 | } | 20 | } |
| 22 | 21 | ||
| 23 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 24 | - | ||
| 25 | private YoutrackUnmarshaller() | 22 | private YoutrackUnmarshaller() |
| 26 | { | 23 | { |
| 27 | } | 24 | } |
| @@ -4,12 +4,8 @@ public enum DateValues { | @@ -4,12 +4,8 @@ public enum DateValues { | ||
| 4 | Today, Yesterday, Saturday, Friday, Thursday, Wednesday, Tuesday, Monday, Sunday, ThisWeek("{This week}"), LastWeek("{Last week}"), TwoWeeksAgo( | 4 | Today, Yesterday, Saturday, Friday, Thursday, Wednesday, Tuesday, Monday, Sunday, ThisWeek("{This week}"), LastWeek("{Last week}"), TwoWeeksAgo( |
| 5 | "{Two weeks ago}"), ThreeWeeksAgo("{Three weeks ago}"), ThisMonth("{This month}"), LastMonth("{Last month}"); | 5 | "{Two weeks ago}"), ThreeWeeksAgo("{Three weeks ago}"), ThisMonth("{This month}"), LastMonth("{Last month}"); |
| 6 | 6 | ||
| 7 | -// ------------------------------ FIELDS ------------------------------ | ||
| 8 | - | ||
| 9 | private String filterValue; | 7 | private String filterValue; |
| 10 | 8 | ||
| 11 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 12 | - | ||
| 13 | private DateValues() | 9 | private DateValues() |
| 14 | { | 10 | { |
| 15 | filterValue = name(); | 11 | filterValue = name(); |
| @@ -20,8 +16,6 @@ public enum DateValues { | @@ -20,8 +16,6 @@ public enum DateValues { | ||
| 20 | this.filterValue = filterValue; | 16 | this.filterValue = filterValue; |
| 21 | } | 17 | } |
| 22 | 18 | ||
| 23 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 24 | - | ||
| 25 | public String getFilterValue() | 19 | public String getFilterValue() |
| 26 | { | 20 | { |
| 27 | return filterValue; | 21 | return filterValue; |
| @@ -16,12 +16,8 @@ public enum Fields implements Commander { | @@ -16,12 +16,8 @@ public enum Fields implements Commander { | ||
| 16 | updated, | 16 | updated, |
| 17 | updaterName("updated by"); | 17 | updaterName("updated by"); |
| 18 | 18 | ||
| 19 | -// ------------------------------ FIELDS ------------------------------ | ||
| 20 | - | ||
| 21 | private String command; | 19 | private String command; |
| 22 | 20 | ||
| 23 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 24 | - | ||
| 25 | private Fields() | 21 | private Fields() |
| 26 | { | 22 | { |
| 27 | command = name(); | 23 | command = name(); |
| @@ -32,8 +28,6 @@ public enum Fields implements Commander { | @@ -32,8 +28,6 @@ public enum Fields implements Commander { | ||
| 32 | this.command = command; | 28 | this.command = command; |
| 33 | } | 29 | } |
| 34 | 30 | ||
| 35 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 36 | - | ||
| 37 | public String getCommand() | 31 | public String getCommand() |
| 38 | { | 32 | { |
| 39 | if (command == null) { | 33 | if (command == null) { |
| @@ -30,16 +30,12 @@ public enum StateValues { | @@ -30,16 +30,12 @@ public enum StateValues { | ||
| 30 | Resolved("Resolved", null), | 30 | Resolved("Resolved", null), |
| 31 | Unresolved("Unresolved", null); | 31 | Unresolved("Unresolved", null); |
| 32 | 32 | ||
| 33 | -// ------------------------------ FIELDS ------------------------------ | ||
| 34 | - | ||
| 35 | private String commandValue; | 33 | private String commandValue; |
| 36 | 34 | ||
| 37 | private String filterValue; | 35 | private String filterValue; |
| 38 | 36 | ||
| 39 | private boolean not; | 37 | private boolean not; |
| 40 | 38 | ||
| 41 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 42 | - | ||
| 43 | private StateValues() | 39 | private StateValues() |
| 44 | { | 40 | { |
| 45 | this(false); | 41 | this(false); |
| @@ -67,16 +63,12 @@ public enum StateValues { | @@ -67,16 +63,12 @@ public enum StateValues { | ||
| 67 | this.commandValue = commandValue == null ? name() : commandValue; | 63 | this.commandValue = commandValue == null ? name() : commandValue; |
| 68 | } | 64 | } |
| 69 | 65 | ||
| 70 | -// ------------------------ CANONICAL METHODS ------------------------ | ||
| 71 | - | ||
| 72 | @Override | 66 | @Override |
| 73 | public String toString() | 67 | public String toString() |
| 74 | { | 68 | { |
| 75 | return getCommandValue(); | 69 | return getCommandValue(); |
| 76 | } | 70 | } |
| 77 | 71 | ||
| 78 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 79 | - | ||
| 80 | public String getCommandValue() | 72 | public String getCommandValue() |
| 81 | { | 73 | { |
| 82 | return (not ? "-" : "") + commandValue; | 74 | return (not ? "-" : "") + commandValue; |
| 1 | package pl.itcrowd.youtrack.api.exceptions; | 1 | package pl.itcrowd.youtrack.api.exceptions; |
| 2 | 2 | ||
| 3 | public class NoResultFoundException extends RuntimeException { | 3 | public class NoResultFoundException extends RuntimeException { |
| 4 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 5 | 4 | ||
| 6 | public NoResultFoundException(String message, Throwable cause) | 5 | public NoResultFoundException(String message, Throwable cause) |
| 7 | { | 6 | { |
| 1 | package pl.itcrowd.youtrack.api.exceptions; | 1 | package pl.itcrowd.youtrack.api.exceptions; |
| 2 | 2 | ||
| 3 | public class YoutrackAPIException extends RuntimeException { | 3 | public class YoutrackAPIException extends RuntimeException { |
| 4 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 5 | 4 | ||
| 6 | public YoutrackAPIException() | 5 | public YoutrackAPIException() |
| 7 | { | 6 | { |
| 1 | package pl.itcrowd.youtrack.api.exceptions; | 1 | package pl.itcrowd.youtrack.api.exceptions; |
| 2 | 2 | ||
| 3 | public class YoutrackErrorException extends RuntimeException { | 3 | public class YoutrackErrorException extends RuntimeException { |
| 4 | -// ------------------------------ FIELDS ------------------------------ | ||
| 5 | 4 | ||
| 6 | private int statusCode; | 5 | private int statusCode; |
| 7 | 6 | ||
| 8 | -// --------------------------- CONSTRUCTORS --------------------------- | ||
| 9 | - | ||
| 10 | public YoutrackErrorException(String message, int statusCode) | 7 | public YoutrackErrorException(String message, int statusCode) |
| 11 | { | 8 | { |
| 12 | super(message); | 9 | super(message); |
| 13 | this.statusCode = statusCode; | 10 | this.statusCode = statusCode; |
| 14 | } | 11 | } |
| 15 | 12 | ||
| 16 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 17 | - | ||
| 18 | public int getStatusCode() | 13 | public int getStatusCode() |
| 19 | { | 14 | { |
| 20 | return statusCode; | 15 | return statusCode; |
| @@ -30,13 +30,10 @@ import javax.xml.bind.annotation.XmlType; | @@ -30,13 +30,10 @@ import javax.xml.bind.annotation.XmlType; | ||
| 30 | @XmlAccessorType(XmlAccessType.FIELD) | 30 | @XmlAccessorType(XmlAccessType.FIELD) |
| 31 | @XmlType(name = "assignedByType", propOrder = {"userGroupRef"}) | 31 | @XmlType(name = "assignedByType", propOrder = {"userGroupRef"}) |
| 32 | public class AssignedByType { | 32 | public class AssignedByType { |
| 33 | -// ------------------------------ FIELDS ------------------------------ | ||
| 34 | 33 | ||
| 35 | @XmlElement(required = true) | 34 | @XmlElement(required = true) |
| 36 | protected UserGroupRefType userGroupRef; | 35 | protected UserGroupRefType userGroupRef; |
| 37 | 36 | ||
| 38 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 39 | - | ||
| 40 | /** | 37 | /** |
| 41 | * Gets the value of the userGroupRef property. | 38 | * Gets the value of the userGroupRef property. |
| 42 | * | 39 | * |
| @@ -47,7 +47,6 @@ import java.util.List; | @@ -47,7 +47,6 @@ import java.util.List; | ||
| 47 | @XmlType(name = "", propOrder = {"assignees"}) | 47 | @XmlType(name = "", propOrder = {"assignees"}) |
| 48 | @XmlRootElement(name = "assigneeList") | 48 | @XmlRootElement(name = "assigneeList") |
| 49 | public class AssigneeList { | 49 | public class AssigneeList { |
| 50 | -// ------------------------------ FIELDS ------------------------------ | ||
| 51 | 50 | ||
| 52 | @XmlElement(required = true) | 51 | @XmlElement(required = true) |
| 53 | protected AssigneeList.Assignees assignees; | 52 | protected AssigneeList.Assignees assignees; |
| @@ -58,8 +57,6 @@ public class AssigneeList { | @@ -58,8 +57,6 @@ public class AssigneeList { | ||
| 58 | @XmlAttribute | 57 | @XmlAttribute |
| 59 | protected String individualsUrl; | 58 | protected String individualsUrl; |
| 60 | 59 | ||
| 61 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 62 | - | ||
| 63 | /** | 60 | /** |
| 64 | * Gets the value of the assignees property. | 61 | * Gets the value of the assignees property. |
| 65 | * | 62 | * |
| @@ -126,8 +123,6 @@ public class AssigneeList { | @@ -126,8 +123,6 @@ public class AssigneeList { | ||
| 126 | this.individualsUrl = value; | 123 | this.individualsUrl = value; |
| 127 | } | 124 | } |
| 128 | 125 | ||
| 129 | -// -------------------------- INNER CLASSES -------------------------- | ||
| 130 | - | ||
| 131 | /** | 126 | /** |
| 132 | * <p>Java class for anonymous complex type. | 127 | * <p>Java class for anonymous complex type. |
| 133 | * <p/> | 128 | * <p/> |
| @@ -148,13 +143,10 @@ public class AssigneeList { | @@ -148,13 +143,10 @@ public class AssigneeList { | ||
| 148 | @XmlAccessorType(XmlAccessType.FIELD) | 143 | @XmlAccessorType(XmlAccessType.FIELD) |
| 149 | @XmlType(name = "", propOrder = {"assignees"}) | 144 | @XmlType(name = "", propOrder = {"assignees"}) |
| 150 | public static class Assignees { | 145 | public static class Assignees { |
| 151 | -// ------------------------------ FIELDS ------------------------------ | ||
| 152 | 146 | ||
| 153 | @XmlElement(name = "assignee") | 147 | @XmlElement(name = "assignee") |
| 154 | protected List<AssigneeType> assignees; | 148 | protected List<AssigneeType> assignees; |
| 155 | 149 | ||
| 156 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 157 | - | ||
| 158 | /** | 150 | /** |
| 159 | * Gets the value of the assignees property. | 151 | * Gets the value of the assignees property. |
| 160 | * <p/> | 152 | * <p/> |
| @@ -33,18 +33,15 @@ import javax.xml.bind.annotation.XmlType; | @@ -33,18 +33,15 @@ import javax.xml.bind.annotation.XmlType; | ||
| 33 | @XmlAccessorType(XmlAccessType.FIELD) | 33 | @XmlAccessorType(XmlAccessType.FIELD) |
| 34 | @XmlType(name = "assigneeType", propOrder = {"assignedBy"}) | 34 | @XmlType(name = "assigneeType", propOrder = {"assignedBy"}) |
| 35 | public class AssigneeType { | 35 | public class AssigneeType { |
| 36 | -// ------------------------------ FIELDS ------------------------------ | ||
| 37 | 36 | ||
| 38 | @XmlElement(required = true) | 37 | @XmlElement(required = true) |
| 39 | protected AssignedByType assignedBy; | 38 | protected AssignedByType assignedBy; |
| 40 | 39 | ||
| 41 | @XmlAttribute | 40 | @XmlAttribute |
| 42 | - protected String isIndividualAssignee; | ||
| 43 | - | ||
| 44 | - @XmlAttribute | ||
| 45 | protected String login; | 41 | protected String login; |
| 46 | 42 | ||
| 47 | -// --------------------- GETTER / SETTER METHODS --------------------- | 43 | + @XmlAttribute |
| 44 | + protected String isIndividualAssignee; | ||
| 48 | 45 | ||
| 49 | /** | 46 | /** |
| 50 | * Gets the value of the assignedBy property. | 47 | * Gets the value of the assignedBy property. |
| @@ -69,46 +66,46 @@ public class AssigneeType { | @@ -69,46 +66,46 @@ public class AssigneeType { | ||
| 69 | } | 66 | } |
| 70 | 67 | ||
| 71 | /** | 68 | /** |
| 72 | - * Gets the value of the isIndividualAssignee property. | 69 | + * Gets the value of the login property. |
| 73 | * | 70 | * |
| 74 | * @return possible object is | 71 | * @return possible object is |
| 75 | * {@link String } | 72 | * {@link String } |
| 76 | */ | 73 | */ |
| 77 | - public String getIsIndividualAssignee() | 74 | + public String getLogin() |
| 78 | { | 75 | { |
| 79 | - return isIndividualAssignee; | 76 | + return login; |
| 80 | } | 77 | } |
| 81 | 78 | ||
| 82 | /** | 79 | /** |
| 83 | - * Sets the value of the isIndividualAssignee property. | 80 | + * Sets the value of the login property. |
| 84 | * | 81 | * |
| 85 | * @param value allowed object is | 82 | * @param value allowed object is |
| 86 | * {@link String } | 83 | * {@link String } |
| 87 | */ | 84 | */ |
| 88 | - public void setIsIndividualAssignee(String value) | 85 | + public void setLogin(String value) |
| 89 | { | 86 | { |
| 90 | - this.isIndividualAssignee = value; | 87 | + this.login = value; |
| 91 | } | 88 | } |
| 92 | 89 | ||
| 93 | /** | 90 | /** |
| 94 | - * Gets the value of the login property. | 91 | + * Gets the value of the isIndividualAssignee property. |
| 95 | * | 92 | * |
| 96 | * @return possible object is | 93 | * @return possible object is |
| 97 | * {@link String } | 94 | * {@link String } |
| 98 | */ | 95 | */ |
| 99 | - public String getLogin() | 96 | + public String getIsIndividualAssignee() |
| 100 | { | 97 | { |
| 101 | - return login; | 98 | + return isIndividualAssignee; |
| 102 | } | 99 | } |
| 103 | 100 | ||
| 104 | /** | 101 | /** |
| 105 | - * Sets the value of the login property. | 102 | + * Sets the value of the isIndividualAssignee property. |
| 106 | * | 103 | * |
| 107 | * @param value allowed object is | 104 | * @param value allowed object is |
| 108 | * {@link String } | 105 | * {@link String } |
| 109 | */ | 106 | */ |
| 110 | - public void setLogin(String value) | 107 | + public void setIsIndividualAssignee(String value) |
| 111 | { | 108 | { |
| 112 | - this.login = value; | 109 | + this.isIndividualAssignee = value; |
| 113 | } | 110 | } |
| 114 | } | 111 | } |
| @@ -57,62 +57,37 @@ import java.util.List; | @@ -57,62 +57,37 @@ import java.util.List; | ||
| 57 | @XmlAccessorType(XmlAccessType.FIELD) | 57 | @XmlAccessorType(XmlAccessType.FIELD) |
| 58 | @XmlType(name = "commentType", propOrder = {"content"}) | 58 | @XmlType(name = "commentType", propOrder = {"content"}) |
| 59 | public class Comment { | 59 | public class Comment { |
| 60 | -// ------------------------------ FIELDS ------------------------------ | ||
| 61 | 60 | ||
| 62 | - @XmlAttribute | ||
| 63 | - protected String author; | ||
| 64 | - | ||
| 65 | - @XmlElementRefs({@XmlElementRef(name = "value", type = JAXBElement.class), @XmlElementRef(name = "replies", type = JAXBElement.class)}) | 61 | + @XmlElementRefs({@XmlElementRef(name = "replies", type = JAXBElement.class), @XmlElementRef(name = "value", type = JAXBElement.class)}) |
| 66 | @XmlMixed | 62 | @XmlMixed |
| 67 | protected List<Serializable> content; | 63 | protected List<Serializable> content; |
| 68 | 64 | ||
| 69 | @XmlAttribute | 65 | @XmlAttribute |
| 70 | - protected Long created; | 66 | + protected String id; |
| 71 | 67 | ||
| 72 | @XmlAttribute | 68 | @XmlAttribute |
| 73 | - protected String deleted; | 69 | + protected String author; |
| 74 | 70 | ||
| 75 | @XmlAttribute | 71 | @XmlAttribute |
| 76 | - protected String id; | 72 | + protected String issueId; |
| 77 | 73 | ||
| 78 | @XmlAttribute | 74 | @XmlAttribute |
| 79 | - protected String issueId; | 75 | + protected String deleted; |
| 80 | 76 | ||
| 81 | @XmlAttribute | 77 | @XmlAttribute |
| 82 | - protected String name; | 78 | + protected String text; |
| 83 | 79 | ||
| 84 | @XmlAttribute | 80 | @XmlAttribute |
| 85 | protected String shownForIssueAuthor; | 81 | protected String shownForIssueAuthor; |
| 86 | 82 | ||
| 87 | @XmlAttribute | 83 | @XmlAttribute |
| 88 | - protected String text; | 84 | + protected Long created; |
| 89 | 85 | ||
| 90 | @XmlAttribute | 86 | @XmlAttribute |
| 91 | protected Long updated; | 87 | protected Long updated; |
| 92 | 88 | ||
| 93 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 94 | - | ||
| 95 | - /** | ||
| 96 | - * Gets the value of the author property. | ||
| 97 | - * | ||
| 98 | - * @return possible object is | ||
| 99 | - * {@link String } | ||
| 100 | - */ | ||
| 101 | - public String getAuthor() | ||
| 102 | - { | ||
| 103 | - return author; | ||
| 104 | - } | ||
| 105 | - | ||
| 106 | - /** | ||
| 107 | - * Sets the value of the author property. | ||
| 108 | - * | ||
| 109 | - * @param value allowed object is | ||
| 110 | - * {@link String } | ||
| 111 | - */ | ||
| 112 | - public void setAuthor(String value) | ||
| 113 | - { | ||
| 114 | - this.author = value; | ||
| 115 | - } | 89 | + @XmlAttribute |
| 90 | + protected String name; | ||
| 116 | 91 | ||
| 117 | /** | 92 | /** |
| 118 | * Gets the value of the content property. | 93 | * Gets the value of the content property. |
| @@ -132,9 +107,9 @@ public class Comment { | @@ -132,9 +107,9 @@ public class Comment { | ||
| 132 | * <p/> | 107 | * <p/> |
| 133 | * <p/> | 108 | * <p/> |
| 134 | * Objects of the following type(s) are allowed in the list | 109 | * Objects of the following type(s) are allowed in the list |
| 135 | - * {@link String } | ||
| 136 | * {@link JAXBElement }{@code <}{@link Comment.Value }{@code >} | 110 | * {@link JAXBElement }{@code <}{@link Comment.Value }{@code >} |
| 137 | * {@link JAXBElement }{@code <}{@link String }{@code >} | 111 | * {@link JAXBElement }{@code <}{@link String }{@code >} |
| 112 | + * {@link String } | ||
| 138 | */ | 113 | */ |
| 139 | public List<Serializable> getContent() | 114 | public List<Serializable> getContent() |
| 140 | { | 115 | { |
| @@ -145,113 +120,113 @@ public class Comment { | @@ -145,113 +120,113 @@ public class Comment { | ||
| 145 | } | 120 | } |
| 146 | 121 | ||
| 147 | /** | 122 | /** |
| 148 | - * Gets the value of the created property. | 123 | + * Gets the value of the id property. |
| 149 | * | 124 | * |
| 150 | * @return possible object is | 125 | * @return possible object is |
| 151 | - * {@link Long } | 126 | + * {@link String } |
| 152 | */ | 127 | */ |
| 153 | - public Long getCreated() | 128 | + public String getId() |
| 154 | { | 129 | { |
| 155 | - return created; | 130 | + return id; |
| 156 | } | 131 | } |
| 157 | 132 | ||
| 158 | /** | 133 | /** |
| 159 | - * Sets the value of the created property. | 134 | + * Sets the value of the id property. |
| 160 | * | 135 | * |
| 161 | * @param value allowed object is | 136 | * @param value allowed object is |
| 162 | - * {@link Long } | 137 | + * {@link String } |
| 163 | */ | 138 | */ |
| 164 | - public void setCreated(Long value) | 139 | + public void setId(String value) |
| 165 | { | 140 | { |
| 166 | - this.created = value; | 141 | + this.id = value; |
| 167 | } | 142 | } |
| 168 | 143 | ||
| 169 | /** | 144 | /** |
| 170 | - * Gets the value of the deleted property. | 145 | + * Gets the value of the author property. |
| 171 | * | 146 | * |
| 172 | * @return possible object is | 147 | * @return possible object is |
| 173 | * {@link String } | 148 | * {@link String } |
| 174 | */ | 149 | */ |
| 175 | - public String getDeleted() | 150 | + public String getAuthor() |
| 176 | { | 151 | { |
| 177 | - return deleted; | 152 | + return author; |
| 178 | } | 153 | } |
| 179 | 154 | ||
| 180 | /** | 155 | /** |
| 181 | - * Sets the value of the deleted property. | 156 | + * Sets the value of the author property. |
| 182 | * | 157 | * |
| 183 | * @param value allowed object is | 158 | * @param value allowed object is |
| 184 | * {@link String } | 159 | * {@link String } |
| 185 | */ | 160 | */ |
| 186 | - public void setDeleted(String value) | 161 | + public void setAuthor(String value) |
| 187 | { | 162 | { |
| 188 | - this.deleted = value; | 163 | + this.author = value; |
| 189 | } | 164 | } |
| 190 | 165 | ||
| 191 | /** | 166 | /** |
| 192 | - * Gets the value of the id property. | 167 | + * Gets the value of the issueId property. |
| 193 | * | 168 | * |
| 194 | * @return possible object is | 169 | * @return possible object is |
| 195 | * {@link String } | 170 | * {@link String } |
| 196 | */ | 171 | */ |
| 197 | - public String getId() | 172 | + public String getIssueId() |
| 198 | { | 173 | { |
| 199 | - return id; | 174 | + return issueId; |
| 200 | } | 175 | } |
| 201 | 176 | ||
| 202 | /** | 177 | /** |
| 203 | - * Sets the value of the id property. | 178 | + * Sets the value of the issueId property. |
| 204 | * | 179 | * |
| 205 | * @param value allowed object is | 180 | * @param value allowed object is |
| 206 | * {@link String } | 181 | * {@link String } |
| 207 | */ | 182 | */ |
| 208 | - public void setId(String value) | 183 | + public void setIssueId(String value) |
| 209 | { | 184 | { |
| 210 | - this.id = value; | 185 | + this.issueId = value; |
| 211 | } | 186 | } |
| 212 | 187 | ||
| 213 | /** | 188 | /** |
| 214 | - * Gets the value of the issueId property. | 189 | + * Gets the value of the deleted property. |
| 215 | * | 190 | * |
| 216 | * @return possible object is | 191 | * @return possible object is |
| 217 | * {@link String } | 192 | * {@link String } |
| 218 | */ | 193 | */ |
| 219 | - public String getIssueId() | 194 | + public String getDeleted() |
| 220 | { | 195 | { |
| 221 | - return issueId; | 196 | + return deleted; |
| 222 | } | 197 | } |
| 223 | 198 | ||
| 224 | /** | 199 | /** |
| 225 | - * Sets the value of the issueId property. | 200 | + * Sets the value of the deleted property. |
| 226 | * | 201 | * |
| 227 | * @param value allowed object is | 202 | * @param value allowed object is |
| 228 | * {@link String } | 203 | * {@link String } |
| 229 | */ | 204 | */ |
| 230 | - public void setIssueId(String value) | 205 | + public void setDeleted(String value) |
| 231 | { | 206 | { |
| 232 | - this.issueId = value; | 207 | + this.deleted = value; |
| 233 | } | 208 | } |
| 234 | 209 | ||
| 235 | /** | 210 | /** |
| 236 | - * Gets the value of the name property. | 211 | + * Gets the value of the text property. |
| 237 | * | 212 | * |
| 238 | * @return possible object is | 213 | * @return possible object is |
| 239 | * {@link String } | 214 | * {@link String } |
| 240 | */ | 215 | */ |
| 241 | - public String getName() | 216 | + public String getText() |
| 242 | { | 217 | { |
| 243 | - return name; | 218 | + return text; |
| 244 | } | 219 | } |
| 245 | 220 | ||
| 246 | /** | 221 | /** |
| 247 | - * Sets the value of the name property. | 222 | + * Sets the value of the text property. |
| 248 | * | 223 | * |
| 249 | * @param value allowed object is | 224 | * @param value allowed object is |
| 250 | * {@link String } | 225 | * {@link String } |
| 251 | */ | 226 | */ |
| 252 | - public void setName(String value) | 227 | + public void setText(String value) |
| 253 | { | 228 | { |
| 254 | - this.name = value; | 229 | + this.text = value; |
| 255 | } | 230 | } |
| 256 | 231 | ||
| 257 | /** | 232 | /** |
| @@ -277,25 +252,25 @@ public class Comment { | @@ -277,25 +252,25 @@ public class Comment { | ||
| 277 | } | 252 | } |
| 278 | 253 | ||
| 279 | /** | 254 | /** |
| 280 | - * Gets the value of the text property. | 255 | + * Gets the value of the created property. |
| 281 | * | 256 | * |
| 282 | * @return possible object is | 257 | * @return possible object is |
| 283 | - * {@link String } | 258 | + * {@link Long } |
| 284 | */ | 259 | */ |
| 285 | - public String getText() | 260 | + public Long getCreated() |
| 286 | { | 261 | { |
| 287 | - return text; | 262 | + return created; |
| 288 | } | 263 | } |
| 289 | 264 | ||
| 290 | /** | 265 | /** |
| 291 | - * Sets the value of the text property. | 266 | + * Sets the value of the created property. |
| 292 | * | 267 | * |
| 293 | * @param value allowed object is | 268 | * @param value allowed object is |
| 294 | - * {@link String } | 269 | + * {@link Long } |
| 295 | */ | 270 | */ |
| 296 | - public void setText(String value) | 271 | + public void setCreated(Long value) |
| 297 | { | 272 | { |
| 298 | - this.text = value; | 273 | + this.created = value; |
| 299 | } | 274 | } |
| 300 | 275 | ||
| 301 | /** | 276 | /** |
| @@ -320,7 +295,27 @@ public class Comment { | @@ -320,7 +295,27 @@ public class Comment { | ||
| 320 | this.updated = value; | 295 | this.updated = value; |
| 321 | } | 296 | } |
| 322 | 297 | ||
| 323 | -// -------------------------- INNER CLASSES -------------------------- | 298 | + /** |
| 299 | + * Gets the value of the name property. | ||
| 300 | + * | ||
| 301 | + * @return possible object is | ||
| 302 | + * {@link String } | ||
| 303 | + */ | ||
| 304 | + public String getName() | ||
| 305 | + { | ||
| 306 | + return name; | ||
| 307 | + } | ||
| 308 | + | ||
| 309 | + /** | ||
| 310 | + * Sets the value of the name property. | ||
| 311 | + * | ||
| 312 | + * @param value allowed object is | ||
| 313 | + * {@link String } | ||
| 314 | + */ | ||
| 315 | + public void setName(String value) | ||
| 316 | + { | ||
| 317 | + this.name = value; | ||
| 318 | + } | ||
| 324 | 319 | ||
| 325 | /** | 320 | /** |
| 326 | * <p>Java class for anonymous complex type. | 321 | * <p>Java class for anonymous complex type. |
| @@ -341,39 +336,36 @@ public class Comment { | @@ -341,39 +336,36 @@ public class Comment { | ||
| 341 | @XmlAccessorType(XmlAccessType.FIELD) | 336 | @XmlAccessorType(XmlAccessType.FIELD) |
| 342 | @XmlType(name = "", propOrder = {"value"}) | 337 | @XmlType(name = "", propOrder = {"value"}) |
| 343 | public static class Value { | 338 | public static class Value { |
| 344 | -// ------------------------------ FIELDS ------------------------------ | ||
| 345 | 339 | ||
| 346 | - @XmlAttribute | ||
| 347 | - protected String role; | 340 | + @XmlValue |
| 341 | + protected String value; | ||
| 348 | 342 | ||
| 349 | @XmlAttribute | 343 | @XmlAttribute |
| 350 | protected String type; | 344 | protected String type; |
| 351 | 345 | ||
| 352 | - @XmlValue | ||
| 353 | - protected String value; | ||
| 354 | - | ||
| 355 | -// --------------------- GETTER / SETTER METHODS --------------------- | 346 | + @XmlAttribute |
| 347 | + protected String role; | ||
| 356 | 348 | ||
| 357 | /** | 349 | /** |
| 358 | - * Gets the value of the role property. | 350 | + * Gets the value of the value property. |
| 359 | * | 351 | * |
| 360 | * @return possible object is | 352 | * @return possible object is |
| 361 | * {@link String } | 353 | * {@link String } |
| 362 | */ | 354 | */ |
| 363 | - public String getRole() | 355 | + public String getValue() |
| 364 | { | 356 | { |
| 365 | - return role; | 357 | + return value; |
| 366 | } | 358 | } |
| 367 | 359 | ||
| 368 | /** | 360 | /** |
| 369 | - * Sets the value of the role property. | 361 | + * Sets the value of the value property. |
| 370 | * | 362 | * |
| 371 | * @param value allowed object is | 363 | * @param value allowed object is |
| 372 | * {@link String } | 364 | * {@link String } |
| 373 | */ | 365 | */ |
| 374 | - public void setRole(String value) | 366 | + public void setValue(String value) |
| 375 | { | 367 | { |
| 376 | - this.role = value; | 368 | + this.value = value; |
| 377 | } | 369 | } |
| 378 | 370 | ||
| 379 | /** | 371 | /** |
| @@ -399,25 +391,25 @@ public class Comment { | @@ -399,25 +391,25 @@ public class Comment { | ||
| 399 | } | 391 | } |
| 400 | 392 | ||
| 401 | /** | 393 | /** |
| 402 | - * Gets the value of the value property. | 394 | + * Gets the value of the role property. |
| 403 | * | 395 | * |
| 404 | * @return possible object is | 396 | * @return possible object is |
| 405 | * {@link String } | 397 | * {@link String } |
| 406 | */ | 398 | */ |
| 407 | - public String getValue() | 399 | + public String getRole() |
| 408 | { | 400 | { |
| 409 | - return value; | 401 | + return role; |
| 410 | } | 402 | } |
| 411 | 403 | ||
| 412 | /** | 404 | /** |
| 413 | - * Sets the value of the value property. | 405 | + * Sets the value of the role property. |
| 414 | * | 406 | * |
| 415 | * @param value allowed object is | 407 | * @param value allowed object is |
| 416 | * {@link String } | 408 | * {@link String } |
| 417 | */ | 409 | */ |
| 418 | - public void setValue(String value) | 410 | + public void setRole(String value) |
| 419 | { | 411 | { |
| 420 | - this.value = value; | 412 | + this.role = value; |
| 421 | } | 413 | } |
| 422 | } | 414 | } |
| 423 | } | 415 | } |
| @@ -34,37 +34,12 @@ import java.util.List; | @@ -34,37 +34,12 @@ import java.util.List; | ||
| 34 | @XmlAccessorType(XmlAccessType.FIELD) | 34 | @XmlAccessorType(XmlAccessType.FIELD) |
| 35 | @XmlType(name = "enumerationType", propOrder = {"values"}) | 35 | @XmlType(name = "enumerationType", propOrder = {"values"}) |
| 36 | public class Enumeration { | 36 | public class Enumeration { |
| 37 | -// ------------------------------ FIELDS ------------------------------ | ||
| 38 | - | ||
| 39 | - @XmlAttribute | ||
| 40 | - protected String name; | ||
| 41 | 37 | ||
| 42 | @XmlElement(name = "value") | 38 | @XmlElement(name = "value") |
| 43 | protected List<EnumerationValue> values; | 39 | protected List<EnumerationValue> values; |
| 44 | 40 | ||
| 45 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 46 | - | ||
| 47 | - /** | ||
| 48 | - * Gets the value of the name property. | ||
| 49 | - * | ||
| 50 | - * @return possible object is | ||
| 51 | - * {@link String } | ||
| 52 | - */ | ||
| 53 | - public String getName() | ||
| 54 | - { | ||
| 55 | - return name; | ||
| 56 | - } | ||
| 57 | - | ||
| 58 | - /** | ||
| 59 | - * Sets the value of the name property. | ||
| 60 | - * | ||
| 61 | - * @param value allowed object is | ||
| 62 | - * {@link String } | ||
| 63 | - */ | ||
| 64 | - public void setName(String value) | ||
| 65 | - { | ||
| 66 | - this.name = value; | ||
| 67 | - } | 41 | + @XmlAttribute |
| 42 | + protected String name; | ||
| 68 | 43 | ||
| 69 | /** | 44 | /** |
| 70 | * Gets the value of the values property. | 45 | * Gets the value of the values property. |
| @@ -93,4 +68,26 @@ public class Enumeration { | @@ -93,4 +68,26 @@ public class Enumeration { | ||
| 93 | } | 68 | } |
| 94 | return this.values; | 69 | return this.values; |
| 95 | } | 70 | } |
| 71 | + | ||
| 72 | + /** | ||
| 73 | + * Gets the value of the name property. | ||
| 74 | + * | ||
| 75 | + * @return possible object is | ||
| 76 | + * {@link String } | ||
| 77 | + */ | ||
| 78 | + public String getName() | ||
| 79 | + { | ||
| 80 | + return name; | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + /** | ||
| 84 | + * Sets the value of the name property. | ||
| 85 | + * | ||
| 86 | + * @param value allowed object is | ||
| 87 | + * {@link String } | ||
| 88 | + */ | ||
| 89 | + public void setName(String value) | ||
| 90 | + { | ||
| 91 | + this.name = value; | ||
| 92 | + } | ||
| 96 | } | 93 | } |
| @@ -29,57 +29,54 @@ import javax.xml.bind.annotation.XmlValue; | @@ -29,57 +29,54 @@ import javax.xml.bind.annotation.XmlValue; | ||
| 29 | @XmlAccessorType(XmlAccessType.FIELD) | 29 | @XmlAccessorType(XmlAccessType.FIELD) |
| 30 | @XmlType(name = "enumerationValueType", propOrder = {"value"}) | 30 | @XmlType(name = "enumerationValueType", propOrder = {"value"}) |
| 31 | public class EnumerationValue { | 31 | public class EnumerationValue { |
| 32 | -// ------------------------------ FIELDS ------------------------------ | ||
| 33 | - | ||
| 34 | - @XmlAttribute | ||
| 35 | - protected Long colorIndex; | ||
| 36 | 32 | ||
| 37 | @XmlValue | 33 | @XmlValue |
| 38 | protected String value; | 34 | protected String value; |
| 39 | 35 | ||
| 40 | -// --------------------- GETTER / SETTER METHODS --------------------- | 36 | + @XmlAttribute |
| 37 | + protected Long colorIndex; | ||
| 41 | 38 | ||
| 42 | /** | 39 | /** |
| 43 | - * Gets the value of the colorIndex property. | 40 | + * Gets the value of the value property. |
| 44 | * | 41 | * |
| 45 | * @return possible object is | 42 | * @return possible object is |
| 46 | - * {@link Long } | 43 | + * {@link String } |
| 47 | */ | 44 | */ |
| 48 | - public Long getColorIndex() | 45 | + public String getValue() |
| 49 | { | 46 | { |
| 50 | - return colorIndex; | 47 | + return value; |
| 51 | } | 48 | } |
| 52 | 49 | ||
| 53 | /** | 50 | /** |
| 54 | - * Sets the value of the colorIndex property. | 51 | + * Sets the value of the value property. |
| 55 | * | 52 | * |
| 56 | * @param value allowed object is | 53 | * @param value allowed object is |
| 57 | - * {@link Long } | 54 | + * {@link String } |
| 58 | */ | 55 | */ |
| 59 | - public void setColorIndex(Long value) | 56 | + public void setValue(String value) |
| 60 | { | 57 | { |
| 61 | - this.colorIndex = value; | 58 | + this.value = value; |
| 62 | } | 59 | } |
| 63 | 60 | ||
| 64 | /** | 61 | /** |
| 65 | - * Gets the value of the value property. | 62 | + * Gets the value of the colorIndex property. |
| 66 | * | 63 | * |
| 67 | * @return possible object is | 64 | * @return possible object is |
| 68 | - * {@link String } | 65 | + * {@link Long } |
| 69 | */ | 66 | */ |
| 70 | - public String getValue() | 67 | + public Long getColorIndex() |
| 71 | { | 68 | { |
| 72 | - return value; | 69 | + return colorIndex; |
| 73 | } | 70 | } |
| 74 | 71 | ||
| 75 | /** | 72 | /** |
| 76 | - * Sets the value of the value property. | 73 | + * Sets the value of the colorIndex property. |
| 77 | * | 74 | * |
| 78 | * @param value allowed object is | 75 | * @param value allowed object is |
| 79 | - * {@link String } | 76 | + * {@link Long } |
| 80 | */ | 77 | */ |
| 81 | - public void setValue(String value) | 78 | + public void setColorIndex(Long value) |
| 82 | { | 79 | { |
| 83 | - this.value = value; | 80 | + this.colorIndex = value; |
| 84 | } | 81 | } |
| 85 | } | 82 | } |
| @@ -44,37 +44,12 @@ import java.util.List; | @@ -44,37 +44,12 @@ import java.util.List; | ||
| 44 | @XmlAccessorType(XmlAccessType.FIELD) | 44 | @XmlAccessorType(XmlAccessType.FIELD) |
| 45 | @XmlType(name = "fieldType", propOrder = {"values"}) | 45 | @XmlType(name = "fieldType", propOrder = {"values"}) |
| 46 | public class Field { | 46 | public class Field { |
| 47 | -// ------------------------------ FIELDS ------------------------------ | ||
| 48 | - | ||
| 49 | - @XmlAttribute | ||
| 50 | - protected String name; | ||
| 51 | 47 | ||
| 52 | @XmlElement(name = "value") | 48 | @XmlElement(name = "value") |
| 53 | protected List<Field.Value> values; | 49 | protected List<Field.Value> values; |
| 54 | 50 | ||
| 55 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 56 | - | ||
| 57 | - /** | ||
| 58 | - * Gets the value of the name property. | ||
| 59 | - * | ||
| 60 | - * @return possible object is | ||
| 61 | - * {@link String } | ||
| 62 | - */ | ||
| 63 | - public String getName() | ||
| 64 | - { | ||
| 65 | - return name; | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - /** | ||
| 69 | - * Sets the value of the name property. | ||
| 70 | - * | ||
| 71 | - * @param value allowed object is | ||
| 72 | - * {@link String } | ||
| 73 | - */ | ||
| 74 | - public void setName(String value) | ||
| 75 | - { | ||
| 76 | - this.name = value; | ||
| 77 | - } | 51 | + @XmlAttribute |
| 52 | + protected String name; | ||
| 78 | 53 | ||
| 79 | /** | 54 | /** |
| 80 | * Gets the value of the values property. | 55 | * Gets the value of the values property. |
| @@ -104,7 +79,27 @@ public class Field { | @@ -104,7 +79,27 @@ public class Field { | ||
| 104 | return this.values; | 79 | return this.values; |
| 105 | } | 80 | } |
| 106 | 81 | ||
| 107 | -// -------------------------- INNER CLASSES -------------------------- | 82 | + /** |
| 83 | + * Gets the value of the name property. | ||
| 84 | + * | ||
| 85 | + * @return possible object is | ||
| 86 | + * {@link String } | ||
| 87 | + */ | ||
| 88 | + public String getName() | ||
| 89 | + { | ||
| 90 | + return name; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + /** | ||
| 94 | + * Sets the value of the name property. | ||
| 95 | + * | ||
| 96 | + * @param value allowed object is | ||
| 97 | + * {@link String } | ||
| 98 | + */ | ||
| 99 | + public void setName(String value) | ||
| 100 | + { | ||
| 101 | + this.name = value; | ||
| 102 | + } | ||
| 108 | 103 | ||
| 109 | /** | 104 | /** |
| 110 | * <p>Java class for anonymous complex type. | 105 | * <p>Java class for anonymous complex type. |
| @@ -125,18 +120,15 @@ public class Field { | @@ -125,18 +120,15 @@ public class Field { | ||
| 125 | @XmlAccessorType(XmlAccessType.FIELD) | 120 | @XmlAccessorType(XmlAccessType.FIELD) |
| 126 | @XmlType(name = "", propOrder = {"content"}) | 121 | @XmlType(name = "", propOrder = {"content"}) |
| 127 | public static class Value { | 122 | public static class Value { |
| 128 | -// ------------------------------ FIELDS ------------------------------ | ||
| 129 | 123 | ||
| 130 | @XmlValue | 124 | @XmlValue |
| 131 | protected String content; | 125 | protected String content; |
| 132 | 126 | ||
| 133 | @XmlAttribute | 127 | @XmlAttribute |
| 134 | - protected String role; | ||
| 135 | - | ||
| 136 | - @XmlAttribute | ||
| 137 | protected String type; | 128 | protected String type; |
| 138 | 129 | ||
| 139 | -// --------------------- GETTER / SETTER METHODS --------------------- | 130 | + @XmlAttribute |
| 131 | + protected String role; | ||
| 140 | 132 | ||
| 141 | /** | 133 | /** |
| 142 | * Gets the value of the content property. | 134 | * Gets the value of the content property. |
| @@ -161,47 +153,47 @@ public class Field { | @@ -161,47 +153,47 @@ public class Field { | ||
| 161 | } | 153 | } |
| 162 | 154 | ||
| 163 | /** | 155 | /** |
| 164 | - * Gets the value of the role property. | 156 | + * Gets the value of the type property. |
| 165 | * | 157 | * |
| 166 | * @return possible object is | 158 | * @return possible object is |
| 167 | * {@link String } | 159 | * {@link String } |
| 168 | */ | 160 | */ |
| 169 | - public String getRole() | 161 | + public String getType() |
| 170 | { | 162 | { |
| 171 | - return role; | 163 | + return type; |
| 172 | } | 164 | } |
| 173 | 165 | ||
| 174 | /** | 166 | /** |
| 175 | - * Sets the value of the role property. | 167 | + * Sets the value of the type property. |
| 176 | * | 168 | * |
| 177 | * @param value allowed object is | 169 | * @param value allowed object is |
| 178 | * {@link String } | 170 | * {@link String } |
| 179 | */ | 171 | */ |
| 180 | - public void setRole(String value) | 172 | + public void setType(String value) |
| 181 | { | 173 | { |
| 182 | - this.role = value; | 174 | + this.type = value; |
| 183 | } | 175 | } |
| 184 | 176 | ||
| 185 | /** | 177 | /** |
| 186 | - * Gets the value of the type property. | 178 | + * Gets the value of the role property. |
| 187 | * | 179 | * |
| 188 | * @return possible object is | 180 | * @return possible object is |
| 189 | * {@link String } | 181 | * {@link String } |
| 190 | */ | 182 | */ |
| 191 | - public String getType() | 183 | + public String getRole() |
| 192 | { | 184 | { |
| 193 | - return type; | 185 | + return role; |
| 194 | } | 186 | } |
| 195 | 187 | ||
| 196 | /** | 188 | /** |
| 197 | - * Sets the value of the type property. | 189 | + * Sets the value of the role property. |
| 198 | * | 190 | * |
| 199 | * @param value allowed object is | 191 | * @param value allowed object is |
| 200 | * {@link String } | 192 | * {@link String } |
| 201 | */ | 193 | */ |
| 202 | - public void setType(String value) | 194 | + public void setRole(String value) |
| 203 | { | 195 | { |
| 204 | - this.type = value; | 196 | + this.role = value; |
| 205 | } | 197 | } |
| 206 | } | 198 | } |
| 207 | } | 199 | } |
| @@ -36,7 +36,6 @@ import java.util.List; | @@ -36,7 +36,6 @@ import java.util.List; | ||
| 36 | @XmlAccessorType(XmlAccessType.FIELD) | 36 | @XmlAccessorType(XmlAccessType.FIELD) |
| 37 | @XmlType(name = "issueType", propOrder = {"fieldOrComment"}) | 37 | @XmlType(name = "issueType", propOrder = {"fieldOrComment"}) |
| 38 | public class Issue { | 38 | public class Issue { |
| 39 | -// ------------------------------ FIELDS ------------------------------ | ||
| 40 | 39 | ||
| 41 | @XmlElements({@XmlElement(name = "comment", type = Comment.class), @XmlElement(name = "field", type = Field.class)}) | 40 | @XmlElements({@XmlElement(name = "comment", type = Comment.class), @XmlElement(name = "field", type = Field.class)}) |
| 42 | protected List<Object> fieldOrComment; | 41 | protected List<Object> fieldOrComment; |
| @@ -44,8 +43,6 @@ public class Issue { | @@ -44,8 +43,6 @@ public class Issue { | ||
| 44 | @XmlAttribute | 43 | @XmlAttribute |
| 45 | protected String id; | 44 | protected String id; |
| 46 | 45 | ||
| 47 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 48 | - | ||
| 49 | /** | 46 | /** |
| 50 | * Gets the value of the fieldOrComment property. | 47 | * Gets the value of the fieldOrComment property. |
| 51 | * <p/> | 48 | * <p/> |
| @@ -34,13 +34,10 @@ import java.util.List; | @@ -34,13 +34,10 @@ import java.util.List; | ||
| 34 | @XmlType(name = "", propOrder = {"issues"}) | 34 | @XmlType(name = "", propOrder = {"issues"}) |
| 35 | @XmlRootElement(name = "issues") | 35 | @XmlRootElement(name = "issues") |
| 36 | public class Issues { | 36 | public class Issues { |
| 37 | -// ------------------------------ FIELDS ------------------------------ | ||
| 38 | 37 | ||
| 39 | @XmlElement(name = "issue") | 38 | @XmlElement(name = "issue") |
| 40 | protected List<Issue> issues; | 39 | protected List<Issue> issues; |
| 41 | 40 | ||
| 42 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 43 | - | ||
| 44 | /** | 41 | /** |
| 45 | * Gets the value of the issues property. | 42 | * Gets the value of the issues property. |
| 46 | * <p/> | 43 | * <p/> |
| @@ -13,7 +13,7 @@ import javax.xml.namespace.QName; | @@ -13,7 +13,7 @@ import javax.xml.namespace.QName; | ||
| 13 | /** | 13 | /** |
| 14 | * This object contains factory methods for each | 14 | * This object contains factory methods for each |
| 15 | * Java content interface and Java element interface | 15 | * Java content interface and Java element interface |
| 16 | - * generated in the pl.it_crowd.youtrack.api.rest package. | 16 | + * generated in the pl.itcrowd.youtrack.api.rest package. |
| 17 | * <p>An ObjectFactory allows you to programatically | 17 | * <p>An ObjectFactory allows you to programatically |
| 18 | * construct new instances of the Java representation | 18 | * construct new instances of the Java representation |
| 19 | * for XML content. The Java representation of XML | 19 | * for XML content. The Java representation of XML |
| @@ -25,13 +25,6 @@ import javax.xml.namespace.QName; | @@ -25,13 +25,6 @@ import javax.xml.namespace.QName; | ||
| 25 | */ | 25 | */ |
| 26 | @XmlRegistry | 26 | @XmlRegistry |
| 27 | public class ObjectFactory { | 27 | public class ObjectFactory { |
| 28 | -// ------------------------------ FIELDS ------------------------------ | ||
| 29 | - | ||
| 30 | - private final static QName _CommentReplies_QNAME = new QName("", "replies"); | ||
| 31 | - | ||
| 32 | - private final static QName _CommentValue_QNAME = new QName("", "value"); | ||
| 33 | - | ||
| 34 | - private final static QName _Enumeration_QNAME = new QName("", "enumeration"); | ||
| 35 | 28 | ||
| 36 | private final static QName _Error_QNAME = new QName("", "error"); | 29 | private final static QName _Error_QNAME = new QName("", "error"); |
| 37 | 30 | ||
| @@ -39,81 +32,89 @@ public class ObjectFactory { | @@ -39,81 +32,89 @@ public class ObjectFactory { | ||
| 39 | 32 | ||
| 40 | private final static QName _Issue_QNAME = new QName("", "issue"); | 33 | private final static QName _Issue_QNAME = new QName("", "issue"); |
| 41 | 34 | ||
| 42 | -// --------------------------- CONSTRUCTORS --------------------------- | 35 | + private final static QName _Enumeration_QNAME = new QName("", "enumeration"); |
| 36 | + | ||
| 37 | + private final static QName _CommentReplies_QNAME = new QName("", "replies"); | ||
| 38 | + | ||
| 39 | + private final static QName _CommentValue_QNAME = new QName("", "value"); | ||
| 43 | 40 | ||
| 44 | /** | 41 | /** |
| 45 | - * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: pl.it_crowd.youtrack.api.rest | 42 | + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: pl.itcrowd.youtrack.api.rest |
| 46 | */ | 43 | */ |
| 47 | public ObjectFactory() | 44 | public ObjectFactory() |
| 48 | { | 45 | { |
| 49 | } | 46 | } |
| 50 | 47 | ||
| 51 | -// -------------------------- OTHER METHODS -------------------------- | 48 | + /** |
| 49 | + * Create an instance of {@link Comment.Value } | ||
| 50 | + */ | ||
| 51 | + public Comment.Value createCommentValue() | ||
| 52 | + { | ||
| 53 | + return new Comment.Value(); | ||
| 54 | + } | ||
| 52 | 55 | ||
| 53 | /** | 56 | /** |
| 54 | - * Create an instance of {@link AssignedByType } | 57 | + * Create an instance of {@link EnumerationValue } |
| 55 | */ | 58 | */ |
| 56 | - public AssignedByType createAssignedByType() | 59 | + public EnumerationValue createEnumerationValue() |
| 57 | { | 60 | { |
| 58 | - return new AssignedByType(); | 61 | + return new EnumerationValue(); |
| 59 | } | 62 | } |
| 60 | 63 | ||
| 61 | /** | 64 | /** |
| 62 | - * Create an instance of {@link AssigneeList } | 65 | + * Create an instance of {@link Issue } |
| 63 | */ | 66 | */ |
| 64 | - public AssigneeList createAssigneeList() | 67 | + public Issue createIssue() |
| 65 | { | 68 | { |
| 66 | - return new AssigneeList(); | 69 | + return new Issue(); |
| 67 | } | 70 | } |
| 68 | 71 | ||
| 69 | /** | 72 | /** |
| 70 | - * Create an instance of {@link AssigneeList.Assignees } | 73 | + * Create an instance of {@link UserRefs } |
| 71 | */ | 74 | */ |
| 72 | - public AssigneeList.Assignees createAssigneeListAssignees() | 75 | + public UserRefs createUserRefs() |
| 73 | { | 76 | { |
| 74 | - return new AssigneeList.Assignees(); | 77 | + return new UserRefs(); |
| 75 | } | 78 | } |
| 76 | 79 | ||
| 77 | /** | 80 | /** |
| 78 | - * Create an instance of {@link AssigneeType } | 81 | + * Create an instance of {@link User } |
| 79 | */ | 82 | */ |
| 80 | - public AssigneeType createAssigneeType() | 83 | + public User createUser() |
| 81 | { | 84 | { |
| 82 | - return new AssigneeType(); | 85 | + return new User(); |
| 83 | } | 86 | } |
| 84 | 87 | ||
| 85 | /** | 88 | /** |
| 86 | - * Create an instance of {@link Comment } | 89 | + * Create an instance of {@link Issues } |
| 87 | */ | 90 | */ |
| 88 | - public Comment createComment() | 91 | + public Issues createIssues() |
| 89 | { | 92 | { |
| 90 | - return new Comment(); | 93 | + return new Issues(); |
| 91 | } | 94 | } |
| 92 | 95 | ||
| 93 | /** | 96 | /** |
| 94 | - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} | 97 | + * Create an instance of {@link Field } |
| 95 | */ | 98 | */ |
| 96 | - @XmlElementDecl(namespace = "", name = "replies", scope = Comment.class) | ||
| 97 | - public JAXBElement<String> createCommentReplies(String value) | 99 | + public Field createField() |
| 98 | { | 100 | { |
| 99 | - return new JAXBElement<String>(_CommentReplies_QNAME, String.class, Comment.class, value); | 101 | + return new Field(); |
| 100 | } | 102 | } |
| 101 | 103 | ||
| 102 | /** | 104 | /** |
| 103 | - * Create an instance of {@link Comment.Value } | 105 | + * Create an instance of {@link Comment } |
| 104 | */ | 106 | */ |
| 105 | - public Comment.Value createCommentValue() | 107 | + public Comment createComment() |
| 106 | { | 108 | { |
| 107 | - return new Comment.Value(); | 109 | + return new Comment(); |
| 108 | } | 110 | } |
| 109 | 111 | ||
| 110 | /** | 112 | /** |
| 111 | - * Create an instance of {@link JAXBElement }{@code <}{@link Comment.Value }{@code >}} | 113 | + * Create an instance of {@link AssigneeList.Assignees } |
| 112 | */ | 114 | */ |
| 113 | - @XmlElementDecl(namespace = "", name = "value", scope = Comment.class) | ||
| 114 | - public JAXBElement<Comment.Value> createCommentValue(Comment.Value value) | 115 | + public AssigneeList.Assignees createAssigneeListAssignees() |
| 115 | { | 116 | { |
| 116 | - return new JAXBElement<Comment.Value>(_CommentValue_QNAME, Comment.Value.class, Comment.class, value); | 117 | + return new AssigneeList.Assignees(); |
| 117 | } | 118 | } |
| 118 | 119 | ||
| 119 | /** | 120 | /** |
| @@ -125,62 +126,61 @@ public class ObjectFactory { | @@ -125,62 +126,61 @@ public class ObjectFactory { | ||
| 125 | } | 126 | } |
| 126 | 127 | ||
| 127 | /** | 128 | /** |
| 128 | - * Create an instance of {@link JAXBElement }{@code <}{@link Enumeration }{@code >}} | 129 | + * Create an instance of {@link AssigneeList } |
| 129 | */ | 130 | */ |
| 130 | - @XmlElementDecl(namespace = "", name = "enumeration") | ||
| 131 | - public JAXBElement<Enumeration> createEnumeration(Enumeration value) | 131 | + public AssigneeList createAssigneeList() |
| 132 | { | 132 | { |
| 133 | - return new JAXBElement<Enumeration>(_Enumeration_QNAME, Enumeration.class, null, value); | 133 | + return new AssigneeList(); |
| 134 | } | 134 | } |
| 135 | 135 | ||
| 136 | /** | 136 | /** |
| 137 | - * Create an instance of {@link EnumerationValue } | 137 | + * Create an instance of {@link UserGroupRefType } |
| 138 | */ | 138 | */ |
| 139 | - public EnumerationValue createEnumerationValue() | 139 | + public UserGroupRefType createUserGroupRefType() |
| 140 | { | 140 | { |
| 141 | - return new EnumerationValue(); | 141 | + return new UserGroupRefType(); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | /** | 144 | /** |
| 145 | - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} | 145 | + * Create an instance of {@link Field.Value } |
| 146 | */ | 146 | */ |
| 147 | - @XmlElementDecl(namespace = "", name = "error") | ||
| 148 | - public JAXBElement<String> createError(String value) | 147 | + public Field.Value createFieldValue() |
| 149 | { | 148 | { |
| 150 | - return new JAXBElement<String>(_Error_QNAME, String.class, null, value); | 149 | + return new Field.Value(); |
| 151 | } | 150 | } |
| 152 | 151 | ||
| 153 | /** | 152 | /** |
| 154 | - * Create an instance of {@link Field } | 153 | + * Create an instance of {@link AssignedByType } |
| 155 | */ | 154 | */ |
| 156 | - public Field createField() | 155 | + public AssignedByType createAssignedByType() |
| 157 | { | 156 | { |
| 158 | - return new Field(); | 157 | + return new AssignedByType(); |
| 159 | } | 158 | } |
| 160 | 159 | ||
| 161 | /** | 160 | /** |
| 162 | - * Create an instance of {@link Field.Value } | 161 | + * Create an instance of {@link AssigneeType } |
| 163 | */ | 162 | */ |
| 164 | - public Field.Value createFieldValue() | 163 | + public AssigneeType createAssigneeType() |
| 165 | { | 164 | { |
| 166 | - return new Field.Value(); | 165 | + return new AssigneeType(); |
| 167 | } | 166 | } |
| 168 | 167 | ||
| 169 | /** | 168 | /** |
| 170 | - * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >}} | 169 | + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} |
| 171 | */ | 170 | */ |
| 172 | - @XmlElementDecl(namespace = "", name = "int") | ||
| 173 | - public JAXBElement<Short> createInt(Short value) | 171 | + @XmlElementDecl(namespace = "", name = "error") |
| 172 | + public JAXBElement<String> createError(String value) | ||
| 174 | { | 173 | { |
| 175 | - return new JAXBElement<Short>(_Int_QNAME, Short.class, null, value); | 174 | + return new JAXBElement<String>(_Error_QNAME, String.class, null, value); |
| 176 | } | 175 | } |
| 177 | 176 | ||
| 178 | /** | 177 | /** |
| 179 | - * Create an instance of {@link Issue } | 178 | + * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >}} |
| 180 | */ | 179 | */ |
| 181 | - public Issue createIssue() | 180 | + @XmlElementDecl(namespace = "", name = "int") |
| 181 | + public JAXBElement<Short> createInt(Short value) | ||
| 182 | { | 182 | { |
| 183 | - return new Issue(); | 183 | + return new JAXBElement<Short>(_Int_QNAME, Short.class, null, value); |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | /** | 186 | /** |
| @@ -193,34 +193,29 @@ public class ObjectFactory { | @@ -193,34 +193,29 @@ public class ObjectFactory { | ||
| 193 | } | 193 | } |
| 194 | 194 | ||
| 195 | /** | 195 | /** |
| 196 | - * Create an instance of {@link Issues } | ||
| 197 | - */ | ||
| 198 | - public Issues createIssues() | ||
| 199 | - { | ||
| 200 | - return new Issues(); | ||
| 201 | - } | ||
| 202 | - | ||
| 203 | - /** | ||
| 204 | - * Create an instance of {@link User } | 196 | + * Create an instance of {@link JAXBElement }{@code <}{@link Enumeration }{@code >}} |
| 205 | */ | 197 | */ |
| 206 | - public User createUser() | 198 | + @XmlElementDecl(namespace = "", name = "enumeration") |
| 199 | + public JAXBElement<Enumeration> createEnumeration(Enumeration value) | ||
| 207 | { | 200 | { |
| 208 | - return new User(); | 201 | + return new JAXBElement<Enumeration>(_Enumeration_QNAME, Enumeration.class, null, value); |
| 209 | } | 202 | } |
| 210 | 203 | ||
| 211 | /** | 204 | /** |
| 212 | - * Create an instance of {@link UserGroupRefType } | 205 | + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} |
| 213 | */ | 206 | */ |
| 214 | - public UserGroupRefType createUserGroupRefType() | 207 | + @XmlElementDecl(namespace = "", name = "replies", scope = Comment.class) |
| 208 | + public JAXBElement<String> createCommentReplies(String value) | ||
| 215 | { | 209 | { |
| 216 | - return new UserGroupRefType(); | 210 | + return new JAXBElement<String>(_CommentReplies_QNAME, String.class, Comment.class, value); |
| 217 | } | 211 | } |
| 218 | 212 | ||
| 219 | /** | 213 | /** |
| 220 | - * Create an instance of {@link UserRefs } | 214 | + * Create an instance of {@link JAXBElement }{@code <}{@link Comment.Value }{@code >}} |
| 221 | */ | 215 | */ |
| 222 | - public UserRefs createUserRefs() | 216 | + @XmlElementDecl(namespace = "", name = "value", scope = Comment.class) |
| 217 | + public JAXBElement<Comment.Value> createCommentValue(Comment.Value value) | ||
| 223 | { | 218 | { |
| 224 | - return new UserRefs(); | 219 | + return new JAXBElement<Comment.Value>(_CommentValue_QNAME, Comment.Value.class, Comment.class, value); |
| 225 | } | 220 | } |
| 226 | } | 221 | } |
| @@ -30,7 +30,6 @@ import javax.xml.bind.annotation.XmlType; | @@ -30,7 +30,6 @@ import javax.xml.bind.annotation.XmlType; | ||
| 30 | @XmlAccessorType(XmlAccessType.FIELD) | 30 | @XmlAccessorType(XmlAccessType.FIELD) |
| 31 | @XmlType(name = "userType") | 31 | @XmlType(name = "userType") |
| 32 | public class User { | 32 | public class User { |
| 33 | -// ------------------------------ FIELDS ------------------------------ | ||
| 34 | 33 | ||
| 35 | @XmlAttribute(required = true) | 34 | @XmlAttribute(required = true) |
| 36 | protected String login; | 35 | protected String login; |
| @@ -39,8 +38,6 @@ public class User { | @@ -39,8 +38,6 @@ public class User { | ||
| 39 | @XmlSchemaType(name = "anyURI") | 38 | @XmlSchemaType(name = "anyURI") |
| 40 | protected String url; | 39 | protected String url; |
| 41 | 40 | ||
| 42 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 43 | - | ||
| 44 | /** | 41 | /** |
| 45 | * Gets the value of the login property. | 42 | * Gets the value of the login property. |
| 46 | * | 43 | * |
| @@ -30,7 +30,9 @@ import javax.xml.bind.annotation.XmlValue; | @@ -30,7 +30,9 @@ import javax.xml.bind.annotation.XmlValue; | ||
| 30 | @XmlAccessorType(XmlAccessType.FIELD) | 30 | @XmlAccessorType(XmlAccessType.FIELD) |
| 31 | @XmlType(name = "userGroupRefType", propOrder = {"value"}) | 31 | @XmlType(name = "userGroupRefType", propOrder = {"value"}) |
| 32 | public class UserGroupRefType { | 32 | public class UserGroupRefType { |
| 33 | -// ------------------------------ FIELDS ------------------------------ | 33 | + |
| 34 | + @XmlValue | ||
| 35 | + protected String value; | ||
| 34 | 36 | ||
| 35 | @XmlAttribute | 37 | @XmlAttribute |
| 36 | protected String name; | 38 | protected String name; |
| @@ -38,74 +40,69 @@ public class UserGroupRefType { | @@ -38,74 +40,69 @@ public class UserGroupRefType { | ||
| 38 | @XmlAttribute | 40 | @XmlAttribute |
| 39 | protected String url; | 41 | protected String url; |
| 40 | 42 | ||
| 41 | - @XmlValue | ||
| 42 | - protected String value; | ||
| 43 | - | ||
| 44 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 45 | - | ||
| 46 | /** | 43 | /** |
| 47 | - * Gets the value of the name property. | 44 | + * Gets the value of the value property. |
| 48 | * | 45 | * |
| 49 | * @return possible object is | 46 | * @return possible object is |
| 50 | * {@link String } | 47 | * {@link String } |
| 51 | */ | 48 | */ |
| 52 | - public String getName() | 49 | + public String getValue() |
| 53 | { | 50 | { |
| 54 | - return name; | 51 | + return value; |
| 55 | } | 52 | } |
| 56 | 53 | ||
| 57 | /** | 54 | /** |
| 58 | - * Sets the value of the name property. | 55 | + * Sets the value of the value property. |
| 59 | * | 56 | * |
| 60 | * @param value allowed object is | 57 | * @param value allowed object is |
| 61 | * {@link String } | 58 | * {@link String } |
| 62 | */ | 59 | */ |
| 63 | - public void setName(String value) | 60 | + public void setValue(String value) |
| 64 | { | 61 | { |
| 65 | - this.name = value; | 62 | + this.value = value; |
| 66 | } | 63 | } |
| 67 | 64 | ||
| 68 | /** | 65 | /** |
| 69 | - * Gets the value of the url property. | 66 | + * Gets the value of the name property. |
| 70 | * | 67 | * |
| 71 | * @return possible object is | 68 | * @return possible object is |
| 72 | * {@link String } | 69 | * {@link String } |
| 73 | */ | 70 | */ |
| 74 | - public String getUrl() | 71 | + public String getName() |
| 75 | { | 72 | { |
| 76 | - return url; | 73 | + return name; |
| 77 | } | 74 | } |
| 78 | 75 | ||
| 79 | /** | 76 | /** |
| 80 | - * Sets the value of the url property. | 77 | + * Sets the value of the name property. |
| 81 | * | 78 | * |
| 82 | * @param value allowed object is | 79 | * @param value allowed object is |
| 83 | * {@link String } | 80 | * {@link String } |
| 84 | */ | 81 | */ |
| 85 | - public void setUrl(String value) | 82 | + public void setName(String value) |
| 86 | { | 83 | { |
| 87 | - this.url = value; | 84 | + this.name = value; |
| 88 | } | 85 | } |
| 89 | 86 | ||
| 90 | /** | 87 | /** |
| 91 | - * Gets the value of the value property. | 88 | + * Gets the value of the url property. |
| 92 | * | 89 | * |
| 93 | * @return possible object is | 90 | * @return possible object is |
| 94 | * {@link String } | 91 | * {@link String } |
| 95 | */ | 92 | */ |
| 96 | - public String getValue() | 93 | + public String getUrl() |
| 97 | { | 94 | { |
| 98 | - return value; | 95 | + return url; |
| 99 | } | 96 | } |
| 100 | 97 | ||
| 101 | /** | 98 | /** |
| 102 | - * Sets the value of the value property. | 99 | + * Sets the value of the url property. |
| 103 | * | 100 | * |
| 104 | * @param value allowed object is | 101 | * @param value allowed object is |
| 105 | * {@link String } | 102 | * {@link String } |
| 106 | */ | 103 | */ |
| 107 | - public void setValue(String value) | 104 | + public void setUrl(String value) |
| 108 | { | 105 | { |
| 109 | - this.value = value; | 106 | + this.url = value; |
| 110 | } | 107 | } |
| 111 | } | 108 | } |
| @@ -34,13 +34,10 @@ import java.util.List; | @@ -34,13 +34,10 @@ import java.util.List; | ||
| 34 | @XmlType(name = "", propOrder = {"users"}) | 34 | @XmlType(name = "", propOrder = {"users"}) |
| 35 | @XmlRootElement(name = "userRefs") | 35 | @XmlRootElement(name = "userRefs") |
| 36 | public class UserRefs { | 36 | public class UserRefs { |
| 37 | -// ------------------------------ FIELDS ------------------------------ | ||
| 38 | 37 | ||
| 39 | @XmlElement(name = "user") | 38 | @XmlElement(name = "user") |
| 40 | protected List<User> users; | 39 | protected List<User> users; |
| 41 | 40 | ||
| 42 | -// --------------------- GETTER / SETTER METHODS --------------------- | ||
| 43 | - | ||
| 44 | /** | 41 | /** |
| 45 | * Gets the value of the users property. | 42 | * Gets the value of the users property. |
| 46 | * <p/> | 43 | * <p/> |
| @@ -6,7 +6,6 @@ import pl.itcrowd.youtrack.api.Command; | @@ -6,7 +6,6 @@ import pl.itcrowd.youtrack.api.Command; | ||
| 6 | import pl.itcrowd.youtrack.api.defaults.StateValues; | 6 | import pl.itcrowd.youtrack.api.defaults.StateValues; |
| 7 | 7 | ||
| 8 | public class CommandTest { | 8 | public class CommandTest { |
| 9 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 10 | 9 | ||
| 11 | @Test | 10 | @Test |
| 12 | public void assignee() | 11 | public void assignee() |
| @@ -7,7 +7,6 @@ import pl.itcrowd.youtrack.api.defaults.DateValues; | @@ -7,7 +7,6 @@ import pl.itcrowd.youtrack.api.defaults.DateValues; | ||
| 7 | import pl.itcrowd.youtrack.api.defaults.StateValues; | 7 | import pl.itcrowd.youtrack.api.defaults.StateValues; |
| 8 | 8 | ||
| 9 | public class FilterTest { | 9 | public class FilterTest { |
| 10 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 11 | 10 | ||
| 12 | @Test | 11 | @Test |
| 13 | public void chaining() | 12 | public void chaining() |
| @@ -11,7 +11,6 @@ import java.net.URISyntaxException; | @@ -11,7 +11,6 @@ import java.net.URISyntaxException; | ||
| 11 | import static org.junit.Assert.assertEquals; | 11 | import static org.junit.Assert.assertEquals; |
| 12 | 12 | ||
| 13 | public class URIUtilsTest { | 13 | public class URIUtilsTest { |
| 14 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 15 | 14 | ||
| 16 | @Test | 15 | @Test |
| 17 | public void buildURI() throws URISyntaxException | 16 | public void buildURI() throws URISyntaxException |
| @@ -38,7 +38,6 @@ import static org.mockito.Mockito.when; | @@ -38,7 +38,6 @@ import static org.mockito.Mockito.when; | ||
| 38 | * Ticket TST-2 should be deleted. | 38 | * Ticket TST-2 should be deleted. |
| 39 | */ | 39 | */ |
| 40 | public class YoutrackAPITest { | 40 | public class YoutrackAPITest { |
| 41 | -// -------------------------- OTHER METHODS -------------------------- | ||
| 42 | 41 | ||
| 43 | @Test | 42 | @Test |
| 44 | public void command() throws IOException, JAXBException | 43 | public void command() throws IOException, JAXBException |
Please
register
or
login
to post a comment