Uploaded image for project: 'Kernel'
  1. Kernel
  2. KNL-899

StorageUser interface is overly large and should be split

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.0
    • Fix Version/s: 10.0
    • Component/s: API, Impl, Utils
    • Labels:
      None

      Description

      StorageUser is implemented by services which use the Single/Double storage classes in the sakai-kernel-storage-util. The same interface is used across both Single and Double storage even though Single storage only uses less that half of the methods in StorageUser. In classes that implement StorageUser but only use Single Storage there are lots of methods that have to be implemented but just return null. This is confusing for people reading the code.

      I'd like to suggest splitting them and removing the methods that are no longer needed.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              buckett Matthew Buckett added a comment -

              Patch to show API changes.

              I'll also sort out the kernel implementations and other things in the main Sakai checkout.

              Show
              buckett Matthew Buckett added a comment - Patch to show API changes. I'll also sort out the kernel implementations and other things in the main Sakai checkout.
              Hide
              buckett Matthew Buckett added a comment -

              One option would have been to move *StorageUser into the sakai-kernel-storage-util as although they are interfaces they don't need to be exposed across components. At the moment this change hasn't happened.

              Show
              buckett Matthew Buckett added a comment - One option would have been to move *StorageUser into the sakai-kernel-storage-util as although they are interfaces they don't need to be exposed across components. At the moment this change hasn't happened.
              Hide
              buckett Matthew Buckett added a comment -

              Initial changes made to trunk at r105669

              Show
              buckett Matthew Buckett added a comment - Initial changes made to trunk at r105669
              Hide
              hudson Hudson CI Server added a comment -

              Integrated in kernel-trunk #476 (See http://builds.sakaiproject.org:8080/job/kernel-trunk/476/)

              Result = SUCCESS

              Show
              hudson Hudson CI Server added a comment - Integrated in kernel-trunk #476 (See http://builds.sakaiproject.org:8080/job/kernel-trunk/476/ ) Result = SUCCESS
              Hide
              buckett Matthew Buckett added a comment -

              Building ok.

              Show
              buckett Matthew Buckett added a comment - Building ok.
              Hide
              ncaidin Neal Caidin added a comment -

              Can this one be closed?

              Show
              ncaidin Neal Caidin added a comment - Can this one be closed?

                People

                • Assignee:
                  buckett Matthew Buckett
                  Reporter:
                  buckett Matthew Buckett
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code