Author: scottbw
Date: Tue May  3 19:54:31 2011
New Revision: 1099215

URL: http://svn.apache.org/viewvc?rev=1099215&view=rev
Log:
improved javadoc and comments in updates classes

Modified:
    incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java
    incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesHelper.java

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java?rev=1099215&r1=1099214&r2=1099215&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java 
Tue May  3 19:54:31 2011
@@ -46,10 +46,10 @@ import org.apache.wookie.w3c.updates.Upd
 /**
  * Controller for managing widget updates
  * 
- * GET - gets the list of updates available
- * GET/{internal_widget_id} - redirects you to the UDD for the widget
- * POST - attempts to apply ALL available updates
- * PUT/{internal_widget_id} - applies update to specified widget only
+ * GET: gets the list of updates available
+ * GET/{internal_widget_id} : redirects you to the UDD for the widget
+ * POST: attempts to apply ALL available updates
+ * PUT/{internal_widget_id} : applies available update to specified widget only
  */
 public class UpdatesController extends Controller {
 
@@ -57,6 +57,11 @@ public class UpdatesController extends C
        
        static Logger _logger = 
Logger.getLogger(UpdatesController.class.getName());
 
+       /**
+        * A GET request with no path arguments will return the list of all 
updates available for
+        * all widgets. 
+        * TODO Note that this call can take a while to complete so it may be 
better in future to make the call asynchronous, or to schedule update checks 
and then cache the results
+        */
        @Override
        protected void index(HttpServletRequest request,
                        HttpServletResponse response) throws 
UnauthorizedAccessException,
@@ -66,6 +71,11 @@ public class UpdatesController extends C
                returnXml(UpdatesHelper.createXML(updates),response);
        }
 
+       /**
+        * A GET request with a resource part requests a redirect to the Update 
Description Document for
+        * the widget specified in the resource path, if one is available - 
otherwise the call will return 
+        * a 404 status code.
+        */
        /* (non-Javadoc)
         * @see org.apache.wookie.controller.Controller#show(java.lang.String, 
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
         */
@@ -73,7 +83,8 @@ public class UpdatesController extends C
        protected void show(String resourceId, HttpServletRequest request,
                        HttpServletResponse response) throws 
ResourceNotFoundException,
                        UnauthorizedAccessException, IOException {
-               // attempt to get specific widget by id
+               // attempt to get specific widget by id; note that this is the 
internal
+               // widget integer ID and not the widget URI
                IPersistenceManager persistenceManager = 
PersistenceManagerFactory.getPersistenceManager();
                IWidget widget = persistenceManager.findById(IWidget.class, 
resourceId);
                if (widget == null) throw new ResourceNotFoundException();
@@ -82,16 +93,23 @@ public class UpdatesController extends C
                response.sendRedirect(widget.getUpdateLocation());
        }
 
+       /**
+        * A POST  requests all updates available to be installed.
+        * TODO Note that this call can take a while to complete so it may be 
better in future to make the call asynchronous and spawn a background task to 
complete the update process
+        */
        @Override
        protected boolean create(String resourceId, HttpServletRequest request)
                        throws ResourceDuplicationException, 
InvalidParametersException,
                        UnauthorizedAccessException {
-               
+                       // Check to see if we're requiring updates over HTTPS - 
if not output a warning
                        boolean onlyUseHttps = 
Boolean.parseBoolean(request.getParameter("use-https"));
                        if (!onlyUseHttps) _logger.warn("checking for updates 
using non-secure method");
+                       // Get all installed widgets
                        IPersistenceManager persistenceManager = 
PersistenceManagerFactory.getPersistenceManager();
                        IWidget[] widgets = 
persistenceManager.findAll(IWidget.class);
+                       // Create a W3CWidget factory for the current context
                        W3CWidgetFactory factory  = 
getFactory(request.getSession().getServletContext());
+                       // Iterate over the widgets and attempt to install 
updates
                        for (IWidget widget: widgets){
                                try {
                                        installUpdate(factory, widget, 
onlyUseHttps);
@@ -102,6 +120,9 @@ public class UpdatesController extends C
                        return true;
        }
 
+       /**
+        * A PUT requests a single widget to be updated if there is an update 
available.
+        */
        @Override
        protected void update(String resourceId, HttpServletRequest request)
                        throws ResourceNotFoundException, 
InvalidParametersException,
@@ -187,14 +208,16 @@ public class UpdatesController extends C
        /**
         * Get available updates for all installed widgets. Note that this 
method takes a long
         * time to return as it has to poll all the available update sites, so 
where possible
-        * cache the returned updates
+        * we ought to cache the returned updates
         * @return a list containing all the updates available.
         */
        public List<UpdateInformation> getAllUpdates(){
                ArrayList<UpdateInformation> updates = new 
ArrayList<UpdateInformation>();
+               // Get all installed widgets
                IPersistenceManager persistenceManager = 
PersistenceManagerFactory.getPersistenceManager();
                IWidget[] widgets = persistenceManager.findAll(IWidget.class);
                for (IWidget widget: widgets){
+                       // Check for a valid update document; if there is one, 
create a new UpdateInformation object and add to list
                        UpdateDescriptionDocument udd = 
UpdateUtils.checkForUpdate(widget.getUpdateLocation(), widget.getVersion());
                        if (udd != null){
                                UpdateInformation info = new 
UpdateInformation();

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesHelper.java?rev=1099215&r1=1099214&r2=1099215&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesHelper.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesHelper.java Tue 
May  3 19:54:31 2011
@@ -25,11 +25,19 @@ import org.jdom.output.XMLOutputter;
  */
 public class UpdatesHelper {
 
+       /**
+        * Creates an XML serialization of a List of updates, including 
information about
+        * the widget as well as the update description document associated 
with it
+        * @param updates a List of UpdateInformation objects to render
+        * @return a String containing the XML serialization of the updates
+        */
        public static String createXML(
                        List<UpdateInformation> updates) {
                Document document = new Document();
+               // The returned XML uses the Widgets namespace
                Element root = new 
Element("updates",IW3CXMLConfiguration.MANIFEST_NAMESPACE);
                for (UpdateInformation info: updates){
+                       // We use the toXml method on the UpdateInformation 
class to serialize each
                        root.addContent(info.toXml());
                }
                document.setRootElement(root);


Reply via email to