org.apache.continuum.taskqueue
Class DefaultOverallBuildQueue

java.lang.Object
  extended by org.apache.continuum.taskqueue.DefaultOverallBuildQueue
All Implemented Interfaces:
OverallBuildQueue

public class DefaultOverallBuildQueue
extends Object
implements OverallBuildQueue

"Overall" build queue which has a checkout queue and a build queue.

Version:
$Id$
Author:
Maria Odea Ching

Constructor Summary
DefaultOverallBuildQueue()
           
 
Method Summary
 void addToBuildQueue(BuildProjectTask buildTask)
          Add the build task to the build queue.
 void addToBuildQueue(List<BuildProjectTask> buildTasks)
          Add the build tasks to the build queue.
 void addToCheckoutQueue(CheckOutTask checkoutTask)
          Add checkout task to checkout queue.
 void addToCheckoutQueue(List<CheckOutTask> checkoutTasks)
          Add checkout tasks to checkout queue.
 void addToPrepareBuildQueue(List<PrepareBuildProjectsTask> prepareBuildTasks)
          Add the prepare build tasks to the prepare build queue.
 void addToPrepareBuildQueue(PrepareBuildProjectsTask prepareBuildTask)
          Add the prepare build task to the prepare build queue.
 void cancelBuildTask(int projectId)
          Cancel the build task of the corresponding project.
 void cancelCheckoutTask(int projectId)
          Cancel checkout of project.
 boolean cancelCurrentBuild()
          Cancel the current build.
 boolean cancelCurrentCheckout()
          Cancel current checkout.
 boolean cancelCurrentPrepareBuild()
          Cancel the current prepare build.
 void cancelPrepareBuildTask(int projectId)
          Cancel the prepare build task of the corresponding project
 void cancelPrepareBuildTask(int projectGroupId, int scmRootId)
          Cancel the prepare build task of the corresponding project group and scm root.
 org.codehaus.plexus.taskqueue.TaskQueue getBuildQueue()
          Returns the build queue.
 org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor getBuildTaskQueueExecutor()
          Returns the build task queue executor used.
 org.codehaus.plexus.taskqueue.TaskQueue getCheckoutQueue()
          Returns the checkout queue.
 org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor getCheckoutTaskQueueExecutor()
          Returns the checkout task queue executor used.
 int getId()
          Returns the id of the "overall" build queue
 String getName()
          Returns the name of the "overall" build queue
 org.codehaus.plexus.taskqueue.TaskQueue getPrepareBuildQueue()
          Returns the prepare build queue.
 org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor getPrepareBuildTaskQueueExecutor()
          Returns the prepare build task queue executor used.
 List<BuildProjectTask> getProjectsInBuildQueue()
          Returns the build tasks in the build queue.
 List<CheckOutTask> getProjectsInCheckoutQueue()
          Get all checkout tasks in checkout queue.
 List<PrepareBuildProjectsTask> getProjectsInPrepareBuildQueue()
          Returns the prepare build tasks in the prepare build queue.
 boolean isInBuildQueue(int projectId)
          Checks if the specified project is in the build queue.
 boolean isInBuildQueue(int projectId, int buildDefinitionId)
          Checks if the specified project with the specified build definition is in the build queue.
 boolean isInCheckoutQueue(int projectId)
          Check if the project is in the checkout queue.
 boolean isInPrepareBuildQueue(int projectId)
          Checks if the specified project is in the prepare build queue.
 boolean isInPrepareBuildQueue(int projectGroupId, int scmRootId)
          Checks if the specified project group and scm root is in the prepare build queue.
 boolean isInPrepareBuildQueue(int projectGroupId, String scmRootAddress)
          Checks if the specified project group and scm root is in the prepare build queue.
 boolean removeProjectFromBuildQueue(int projectId)
          Remove the specified project from the build queue.
 boolean removeProjectFromBuildQueue(int projectId, int buildDefinitionId, BuildTrigger buildTrigger, String projectName, int projectGroupId)
          Remove the project matching the specified id, name, build definition and trigger from the build queue.
 boolean removeProjectFromCheckoutQueue(int projectId)
          Remove project from checkout queue.
 boolean removeProjectFromPrepareBuildQueue(int projectGroupId, int scmRootId)
          Remove the project group matching the specified id, and scm root id from the prepare build queue.
 boolean removeProjectFromPrepareBuildQueue(int projectGroupId, String scmRootAddress)
          Remove the project group matching the specified id and scm root address from the prepare build queue.
 boolean removeProjectsFromBuildQueue(int[] projectIds)
          Remove the specified projects from the build queue.
 void removeProjectsFromBuildQueueWithHashCodes(int[] hashCodes)
          Remove the projects matching the specified hashcodes from the build queue.
 boolean removeProjectsFromCheckoutQueue(int[] projectsId)
          Remove the specified projects in the checkout queue.
 void removeProjectsFromPrepareBuildQueueWithHashCodes(int[] hashCodes)
          Remove the projects matching the specified hashcodes from the prepare build queue.
 void removeTasksFromCheckoutQueueWithHashCodes(int[] hashCodes)
           
 void setBuildDefinitionDao(BuildDefinitionDao buildDefinitionDao)
           
 void setBuildTaskQueueExecutor(org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor buildTaskQueueExecutor)
           
 void setCheckoutTaskQueueExecutor(org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor checkoutTaskQueueExecutor)
           
 void setId(int id)
           
 void setName(String name)
           
 void setPrepareBuildTaskQueueExecutor(org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor prepareBuildTaskQueueExecutor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultOverallBuildQueue

public DefaultOverallBuildQueue()
Method Detail

getId

public int getId()
Description copied from interface: OverallBuildQueue
Returns the id of the "overall" build queue

Specified by:
getId in interface OverallBuildQueue
Returns:

setId

public void setId(int id)
Specified by:
setId in interface OverallBuildQueue

getName

public String getName()
Description copied from interface: OverallBuildQueue
Returns the name of the "overall" build queue

Specified by:
getName in interface OverallBuildQueue
Returns:

setName

public void setName(String name)
Specified by:
setName in interface OverallBuildQueue

addToCheckoutQueue

public void addToCheckoutQueue(CheckOutTask checkoutTask)
                        throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Add checkout task to checkout queue.

Specified by:
addToCheckoutQueue in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.addToCheckoutQueue(CheckOutTask)

addToCheckoutQueue

public void addToCheckoutQueue(List<CheckOutTask> checkoutTasks)
                        throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Add checkout tasks to checkout queue.

Specified by:
addToCheckoutQueue in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.addToCheckoutQueue(List)

getProjectsInCheckoutQueue

public List<CheckOutTask> getProjectsInCheckoutQueue()
                                              throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Get all checkout tasks in checkout queue.

Specified by:
getProjectsInCheckoutQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.getProjectsInCheckoutQueue()

isInCheckoutQueue

public boolean isInCheckoutQueue(int projectId)
                          throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Check if the project is in the checkout queue.

Specified by:
isInCheckoutQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.isInCheckoutQueue(int)

removeProjectFromCheckoutQueue

public boolean removeProjectFromCheckoutQueue(int projectId)
                                       throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove project from checkout queue.

Specified by:
removeProjectFromCheckoutQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectFromCheckoutQueue(int)

removeProjectsFromCheckoutQueue

public boolean removeProjectsFromCheckoutQueue(int[] projectsId)
                                        throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the specified projects in the checkout queue.

Specified by:
removeProjectsFromCheckoutQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectsFromCheckoutQueue(int[])

removeTasksFromCheckoutQueueWithHashCodes

public void removeTasksFromCheckoutQueueWithHashCodes(int[] hashCodes)
                                               throws org.codehaus.plexus.taskqueue.TaskQueueException
Specified by:
removeTasksFromCheckoutQueueWithHashCodes in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeTasksFromCheckoutQueueWithHashCodes(int[])

addToBuildQueue

public void addToBuildQueue(BuildProjectTask buildTask)
                     throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Add the build task to the build queue.

Specified by:
addToBuildQueue in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException
See Also:
OverallBuildQueue.addToBuildQueue(BuildProjectTask)

addToBuildQueue

public void addToBuildQueue(List<BuildProjectTask> buildTasks)
                     throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Add the build tasks to the build queue.

Specified by:
addToBuildQueue in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.addToBuildQueue(List)

getProjectsInBuildQueue

public List<BuildProjectTask> getProjectsInBuildQueue()
                                               throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Returns the build tasks in the build queue.

Specified by:
getProjectsInBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.getProjectsInBuildQueue()

isInBuildQueue

public boolean isInBuildQueue(int projectId)
                       throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Checks if the specified project is in the build queue.

Specified by:
isInBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.isInBuildQueue(int)

isInBuildQueue

public boolean isInBuildQueue(int projectId,
                              int buildDefinitionId)
                       throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Checks if the specified project with the specified build definition is in the build queue.

Specified by:
isInBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.isInBuildQueue(int, int)

cancelBuildTask

public void cancelBuildTask(int projectId)
Description copied from interface: OverallBuildQueue
Cancel the build task of the corresponding project.

Specified by:
cancelBuildTask in interface OverallBuildQueue
See Also:
OverallBuildQueue.cancelBuildTask(int)

cancelCheckoutTask

public void cancelCheckoutTask(int projectId)
                        throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Cancel checkout of project.

Specified by:
cancelCheckoutTask in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException
See Also:
OverallBuildQueue.cancelCheckoutTask(int)

cancelCurrentBuild

public boolean cancelCurrentBuild()
Description copied from interface: OverallBuildQueue
Cancel the current build.

Specified by:
cancelCurrentBuild in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.cancelCurrentBuild()

cancelCurrentCheckout

public boolean cancelCurrentCheckout()
Description copied from interface: OverallBuildQueue
Cancel current checkout.

Specified by:
cancelCurrentCheckout in interface OverallBuildQueue
Returns:
TODO
See Also:
OverallBuildQueue.cancelCurrentCheckout()

removeProjectFromBuildQueue

public boolean removeProjectFromBuildQueue(int projectId,
                                           int buildDefinitionId,
                                           BuildTrigger buildTrigger,
                                           String projectName,
                                           int projectGroupId)
                                    throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the project matching the specified id, name, build definition and trigger from the build queue.

Specified by:
removeProjectFromBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectFromBuildQueue(int, int, BuildTrigger, String, int)

removeProjectsFromBuildQueue

public boolean removeProjectsFromBuildQueue(int[] projectIds)
                                     throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the specified projects from the build queue.

Specified by:
removeProjectsFromBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectsFromBuildQueue(int[])

removeProjectFromBuildQueue

public boolean removeProjectFromBuildQueue(int projectId)
                                    throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the specified project from the build queue.

Specified by:
removeProjectFromBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectFromBuildQueue(int)

removeProjectsFromBuildQueueWithHashCodes

public void removeProjectsFromBuildQueueWithHashCodes(int[] hashCodes)
                                               throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the projects matching the specified hashcodes from the build queue.

Specified by:
removeProjectsFromBuildQueueWithHashCodes in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectsFromBuildQueueWithHashCodes(int[])

addToPrepareBuildQueue

public void addToPrepareBuildQueue(PrepareBuildProjectsTask prepareBuildTask)
                            throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Add the prepare build task to the prepare build queue.

Specified by:
addToPrepareBuildQueue in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException
See Also:
OverallBuildQueue.addToPrepareBuildQueue(PrepareBuildProjectsTask)

addToPrepareBuildQueue

public void addToPrepareBuildQueue(List<PrepareBuildProjectsTask> prepareBuildTasks)
                            throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Add the prepare build tasks to the prepare build queue.

Specified by:
addToPrepareBuildQueue in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.addToPrepareBuildQueue(List)

getProjectsInPrepareBuildQueue

public List<PrepareBuildProjectsTask> getProjectsInPrepareBuildQueue()
                                                              throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Returns the prepare build tasks in the prepare build queue.

Specified by:
getProjectsInPrepareBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.getProjectsInPrepareBuildQueue()

isInPrepareBuildQueue

public boolean isInPrepareBuildQueue(int projectId)
                              throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Checks if the specified project is in the prepare build queue.

Specified by:
isInPrepareBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.isInPrepareBuildQueue(int)

isInPrepareBuildQueue

public boolean isInPrepareBuildQueue(int projectGroupId,
                                     int scmRootId)
                              throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Checks if the specified project group and scm root is in the prepare build queue.

Specified by:
isInPrepareBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException
See Also:
OverallBuildQueue.isInPrepareBuildQueue(int, int)

isInPrepareBuildQueue

public boolean isInPrepareBuildQueue(int projectGroupId,
                                     String scmRootAddress)
                              throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Checks if the specified project group and scm root is in the prepare build queue.

Specified by:
isInPrepareBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException
See Also:
OverallBuildQueue.isInPrepareBuildQueue(int, String)

cancelPrepareBuildTask

public void cancelPrepareBuildTask(int projectGroupId,
                                   int scmRootId)
Description copied from interface: OverallBuildQueue
Cancel the prepare build task of the corresponding project group and scm root.

Specified by:
cancelPrepareBuildTask in interface OverallBuildQueue
See Also:
OverallBuildQueue.cancelPrepareBuildTask(int, int)

cancelPrepareBuildTask

public void cancelPrepareBuildTask(int projectId)
Description copied from interface: OverallBuildQueue
Cancel the prepare build task of the corresponding project

Specified by:
cancelPrepareBuildTask in interface OverallBuildQueue
See Also:
OverallBuildQueue.cancelPrepareBuildTask(int)

cancelCurrentPrepareBuild

public boolean cancelCurrentPrepareBuild()
Description copied from interface: OverallBuildQueue
Cancel the current prepare build.

Specified by:
cancelCurrentPrepareBuild in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.cancelCurrentPrepareBuild()

removeProjectFromPrepareBuildQueue

public boolean removeProjectFromPrepareBuildQueue(int projectGroupId,
                                                  int scmRootId)
                                           throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the project group matching the specified id, and scm root id from the prepare build queue.

Specified by:
removeProjectFromPrepareBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectFromPrepareBuildQueue(int, int)

removeProjectFromPrepareBuildQueue

public boolean removeProjectFromPrepareBuildQueue(int projectGroupId,
                                                  String scmRootAddress)
                                           throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the project group matching the specified id and scm root address from the prepare build queue.

Specified by:
removeProjectFromPrepareBuildQueue in interface OverallBuildQueue
Returns:
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectFromPrepareBuildQueue(int, String)

removeProjectsFromPrepareBuildQueueWithHashCodes

public void removeProjectsFromPrepareBuildQueueWithHashCodes(int[] hashCodes)
                                                      throws org.codehaus.plexus.taskqueue.TaskQueueException
Description copied from interface: OverallBuildQueue
Remove the projects matching the specified hashcodes from the prepare build queue.

Specified by:
removeProjectsFromPrepareBuildQueueWithHashCodes in interface OverallBuildQueue
Throws:
org.codehaus.plexus.taskqueue.TaskQueueException - TODO
See Also:
OverallBuildQueue.removeProjectsFromPrepareBuildQueueWithHashCodes(int[])

getCheckoutQueue

public org.codehaus.plexus.taskqueue.TaskQueue getCheckoutQueue()
Description copied from interface: OverallBuildQueue
Returns the checkout queue.

Specified by:
getCheckoutQueue in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.getCheckoutQueue()

getBuildQueue

public org.codehaus.plexus.taskqueue.TaskQueue getBuildQueue()
Description copied from interface: OverallBuildQueue
Returns the build queue.

Specified by:
getBuildQueue in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.getBuildQueue()

getPrepareBuildQueue

public org.codehaus.plexus.taskqueue.TaskQueue getPrepareBuildQueue()
Description copied from interface: OverallBuildQueue
Returns the prepare build queue.

Specified by:
getPrepareBuildQueue in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.getPrepareBuildQueue()

getBuildTaskQueueExecutor

public org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor getBuildTaskQueueExecutor()
Description copied from interface: OverallBuildQueue
Returns the build task queue executor used.

Specified by:
getBuildTaskQueueExecutor in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.getBuildTaskQueueExecutor()

getCheckoutTaskQueueExecutor

public org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor getCheckoutTaskQueueExecutor()
Description copied from interface: OverallBuildQueue
Returns the checkout task queue executor used.

Specified by:
getCheckoutTaskQueueExecutor in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.getCheckoutTaskQueueExecutor()

getPrepareBuildTaskQueueExecutor

public org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor getPrepareBuildTaskQueueExecutor()
Description copied from interface: OverallBuildQueue
Returns the prepare build task queue executor used.

Specified by:
getPrepareBuildTaskQueueExecutor in interface OverallBuildQueue
Returns:
See Also:
OverallBuildQueue.getPrepareBuildTaskQueueExecutor()

setBuildDefinitionDao

public void setBuildDefinitionDao(BuildDefinitionDao buildDefinitionDao)

setBuildTaskQueueExecutor

public void setBuildTaskQueueExecutor(org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor buildTaskQueueExecutor)

setCheckoutTaskQueueExecutor

public void setCheckoutTaskQueueExecutor(org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor checkoutTaskQueueExecutor)

setPrepareBuildTaskQueueExecutor

public void setPrepareBuildTaskQueueExecutor(org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor prepareBuildTaskQueueExecutor)


Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.