KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cowsultants > itracker > ejb > beans > webservice > IssueService


1 /*
2  * This software was designed and created by Jason Carroll.
3  * Copyright (c) 2002, 2003, 2004 Jason Carroll.
4  * The author can be reached at jcarroll@cowsultants.com
5  * ITracker website: http://www.cowsultants.com
6  * ITracker forums: http://www.cowsultants.com/phpBB/index.php
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it only under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  */

18
19 package cowsultants.itracker.ejb.beans.webservice;
20
21 import java.util.*;
22 import java.rmi.RemoteException JavaDoc;
23 import javax.ejb.EJBObject JavaDoc;
24
25 import cowsultants.itracker.ejb.client.exceptions.*;
26 import cowsultants.itracker.ejb.client.models.*;
27
28
29 /**
30   * Provides client access to ITracker issue services.
31   */

32 public interface IssueService extends EJBObject JavaDoc {
33     public static final String JavaDoc JNDI_NAME = "ejb/webservice/IssueService";
34
35     /**
36       * Returns a single issue. The user must have at least view permission for the issue.
37       * @param login the userid requesting the issue
38       * @param authentication the user's authentication information, if known
39       * @param authType the type of authentication information being provided
40       * @return the IssueModel or null if the user does not have permission
41       */

42     public IssueModel getIssue(Integer JavaDoc issueId, String JavaDoc login, String JavaDoc authentication, int authType) throws RemoteException JavaDoc, IssueException;
43
44     /**
45       * Returns all the issues a user can view for all available projects.
46       * @param login the userid requesting the issue list
47       * @param authentication the user's authentication information, if known
48       * @param authType the type of authentication information being provided
49       * @return an array of IssueModels
50       */

51     public IssueModel[] getAllIssues(String JavaDoc login, String JavaDoc authentication, int authType) throws RemoteException JavaDoc, IssueException;
52
53     /**
54       * Creates a new issue for a project. If the issue should have an initial owner, the ownerLogin
55       * should be populated with the appropriate login. Attachments are supported by adding
56       * AttachmentModels to the IssueModel, and also then using SOAP attachments. The contentId of the
57       * SOAP attachment must match the originalFileName set in the AttachmentModel. Since attachment
58       * order is not guarenteed in the SOAP message, that is the way the data is matched to the details
59       * of the attachment.
60       * @param issue IssueModel containing all the data on the issue
61       * @param login the userid of the user creating the issue
62       * @param authentication the user's authentication information, if known
63       * @param authType the type of authentication information being provided
64       * @return an IssueModel containing the newly created issue
65       */

66     public IssueModel createIssue(IssueModel issue, String JavaDoc login, String JavaDoc authentication, int authType) throws RemoteException JavaDoc, IssueException;
67
68     /**
69       * Updates an issue. The new detailed description should be a single IssueHistoryModel in the
70       * IssueModel. If the issue should have an updated owner, the ownerLogin should be populated with the
71       * appropriate login. Attachments are supported by adding AttachmentModels to the IssueModel, and also
72       * then using SOAP attachments. The contentId of the SOAP attachment must match the originalFileName
73       * set in the AttachmentModel. Since attachment order is not guarenteed in the SOAP message, that is
74       * the way the data is matched to the details of the attachment.
75       * @param issue IssueModel containing all the updated data on the issue
76       * @param login the userid of the user creating the issue
77       * @param authentication the user's authentication information, if known
78       * @param authType the type of authentication information being provided
79       * @return an IssueModel containing the updated issue
80       */

81     public IssueModel updateIssue(IssueModel issue, String JavaDoc login, String JavaDoc authentication, int authType) throws RemoteException JavaDoc, IssueException;
82
83     /**
84       * Assigns an issue to a new owner.
85       * @param issueId the id of the issue to assign
86       * @param ownerLogin the userid of the new owner
87       * @param login the userid of the user creating the issue
88       * @param authentication the user's authentication information, if known
89       * @param authType the type of authentication information being provided
90       */

91     public void assignIssue(Integer JavaDoc issueId, String JavaDoc ownerLogin, String JavaDoc login, String JavaDoc authentication, int authType) throws RemoteException JavaDoc, IssueException;
92
93 }
Popular Tags