Advertisement
Guest User

Untitled

a guest
Feb 6th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.33 KB | None | 0 0
  1. import com.emitrom.integra.core.configuration.Providers
  2. import com.emitrom.integra.core.configuration.Schedules
  3. import com.emitrom.integra.core.configuration.WorkflowActions
  4. import com.emitrom.integra.core.configuration.Workflows
  5. import com.emitrom.integra.core.schedules.ScheduleResults
  6.  
  7. import javax.ws.rs.client.Client
  8. import javax.ws.rs.client.ClientBuilder
  9. import javax.ws.rs.client.WebTarget
  10.  
  11. class IntegraClean {
  12.     public static void main(args) {
  13.         def cli = new CliBuilder(usage: 'IntegraClean [options]')
  14.         cli.u(longOpt: 'url', args: 1, argName: 'restURL', 'Integra REST URL', required: true)
  15.         def options = cli.parse(args)
  16.  
  17.         // make sure we got stuff
  18.         assert options
  19.         String baseUrl = options.url
  20.  
  21.         // tack on a trailing slash if the input doesn't provide one
  22.         if (!baseUrl.endsWith('/')) {
  23.             baseUrl += '/'
  24.         }
  25.  
  26.         Authenticator myAuth = new Authenticator() {
  27.             protected PasswordAuthentication getPasswordAuthentication() {
  28.                 return new PasswordAuthentication("admin", "integra".toCharArray());
  29.             }
  30.         };
  31.  
  32.         Authenticator.setDefault(myAuth);
  33.  
  34.         Client client = ClientBuilder.newClient()
  35.         WebTarget target = client.target(baseUrl)
  36.  
  37.         deleteSchedules(target)
  38.         deleteWorkflows(target)
  39.         deleteWorkflowActions(target)
  40.         deleteProviders(target)
  41.         deleteScheduleResults(target)
  42.     }
  43.  
  44.     private static void deleteSchedules(WebTarget target) {
  45.         println "\nDeleting schedules..."
  46.         def schedulesPath = 'schedules/'
  47.  
  48.         Schedules schedules = target.path(schedulesPath).request().get(Schedules.class)
  49.         int schedulesDeleted = 0
  50.  
  51.         schedules?.getSchedule().each() { schedule ->
  52.             target.path(schedulesPath + schedule.id).request().delete()
  53.             println 'Deleted ' + schedule.name
  54.             schedulesDeleted++
  55.         }
  56.  
  57.         println 'Schedules deleted: ' + schedulesDeleted
  58.     }
  59.  
  60.     private static void deleteWorkflows(WebTarget target) {
  61.         println "\nDeleting workflows..."
  62.         def workflowsPath = 'workflows/'
  63.  
  64.         Workflows workflows = target.path(workflowsPath).request().get(Workflows.class)
  65.         int workflowsDeleted = 0
  66.  
  67.         workflows?.getWorkflow().each() { workflow ->
  68.             target.path(workflowsPath + workflow.id).request().delete()
  69.             println 'Deleted ' + workflow.name
  70.             workflowsDeleted++
  71.         }
  72.  
  73.         println 'Workflows deleted: ' + workflowsDeleted
  74.     }
  75.  
  76.     private static void deleteWorkflowActions(WebTarget target) {
  77.         println "\nDeleting actions..."
  78.         def workflowActionsPath = 'workflow_actions/'
  79.  
  80.         WorkflowActions workflowActions = target.path(workflowActionsPath).request().get(WorkflowActions.class)
  81.         int actionsDeleted = 0
  82.  
  83.         workflowActions?.workflowAction?.each() { action ->
  84.             target.path(workflowActionsPath + action.id).request().delete()
  85.             println 'Deleted ' + action.name
  86.             actionsDeleted++
  87.         }
  88.  
  89.         println 'Actions deleted: ' + actionsDeleted
  90.     }
  91.  
  92.     private static void deleteProviders(WebTarget target) {
  93.         println "\nDeleting providers..."
  94.         def providersPath = 'providers/'
  95.  
  96.         Providers providers = target.path(providersPath).request().get(Providers.class)
  97.         int providersDeleted = 0
  98.  
  99.         providers?.getProvider().each() { provider ->
  100.             target.path(providersPath + provider.id).request().delete()
  101.             println 'Deleted ' + provider.name
  102.             providersDeleted++
  103.         }
  104.  
  105.         println 'Providers deleted: ' + providersDeleted
  106.     }
  107.  
  108.     private static void deleteScheduleResults(WebTarget target) {
  109.         println "\nDeleting schedule results..."
  110.         def scheduleResultsPath = 'schedules_results/'
  111.  
  112.         ScheduleResults scheduleResults = target.path(scheduleResultsPath).request().get(ScheduleResults.class)
  113.         int schedulesDeleted = 0
  114.  
  115.         scheduleResults?.getScheduleResults().each() { scheduleResult ->
  116.             target.path(scheduleResultsPath + scheduleResult.id).request().delete()
  117.             println 'Deleted ' + scheduleResult.id
  118.             schedulesDeleted++
  119.         }
  120.  
  121.         println 'Schedule results deleted: ' + schedulesDeleted
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement