The concept looks good but there is something funny going on with ResponseItem in the patch

Index: java/social-api/src/main/java/org/apache/shindig/social/ opensocial/service/ResponseItem.java
===================================================================
--- java/social-api/src/main/java/org/apache/shindig/social/ opensocial/service/ResponseItem.java (revision 689519) +++ java/social-api/src/main/java/org/apache/shindig/social/ opensocial/service/ResponseItem.java (working copy)
@@ -15,28 +15,31 @@
  * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
  */
-package org.apache.shindig.social;
+package org.apache.shindig.social.opensocial.service;

+import com.google.common.base.Objects;
+
+import org.apache.shindig.social.ResponseError;
+


This looks like a move and then a diff on the result of the move ?

Should this be preceded by a mv java/social-api/src/main/java/org/ apache/shindig/social/ResponseItem.java java/social-api/src/main/java/ org/apache/shindig/social/opensocial/service/ResponseItem.java ?

Ian

On 28 Aug 2008, at 01:09, Adam Winer (JIRA) wrote:


[ https://issues.apache.org/jira/browse/SHINDIG-549? page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Winer updated SHINDIG-549:
-------------------------------

    Attachment: shindig-549.patch

Here's a first pass at implementing this, off of svn revision 689672. All Shindig tests pass, though I'd like a bit more manual testing.

Use exceptions instead of ResponseItem to signal service errors
---------------------------------------------------------------

                Key: SHINDIG-549
URL: https://issues.apache.org/jira/browse/ SHINDIG-549
            Project: Shindig
         Issue Type: Improvement
         Components: RESTful API (Java)
           Reporter: Adam Winer
        Attachments: shindig-549.patch

  Original Estimate: 24h
 Remaining Estimate: 24h

As discussed on shindig-dev:
(1) Get error code and message out of
RestfulItem/RestfulCollection/DataCollection and into an exception,
so:
PersonService {
 Future<RestfulCollection<Person>> getPeople(...);
 Future<RestfulItem<Person>> getPerson(...);
}
becomes:
PersonService {
 // Note: the Future may also throw a SocialApiException (wrapped in
an EvaluationException)
Future<RestfulCollection<Person>> getPeople(...) throws SocialApiException
 Future<Person> getPerson(...) throws SocialApiException
}
RestfulItem goes away entirely, and RestfulCollection doesn't extend
ResponseItem.  ResponseItem can entirely disappear from the SPI, and
can move out of org.apache.shindig.social and into
o.a.s.s.opensocial.service alongside of RequestItem.
One advantage of this change is that it makes it easy to write generic
preconditions across datatypes, and gets rid of early returns from
service implementations, which are a bit of a code smell.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Reply via email to