A 
   AAA pet store.  See  pet store example 
     Abbot, 447448.  See also  Costello 
  advantages, 455 
  defining components , 451 
  defining launch arguments, 451 
  dialog test example, 453454 
  downloading, 447 
  integrating tests, 450451 
  ScriptTestSuite function, 451 
  table test example, 452453 
  test suite, creating, 454455 
     AbstractTestCase class (Cactus), 607610 
     acceptance testing.  See  functional testing 
     Action object (Struts), 189190 
     ActionForm (Struts), 188189 
     ActiveTestSuite class (JUnit), 600601 
     all targets (Ant), 40, 70 
     AllTest test suite example, 228 
     < and> selector container (Ant), 49 
     Ant.  See also  continuous integration; Hello World Model 2 example 
  buildfiles , 39, 199200 
  as documentation, 3738 
  EJB testing, 396397 
  master, 7880 
  naming conventions, 70 
  nesting, 59 
  organization, 6768 
  running, 7374 
  specifying name , 41 
  for standalone applications, 7678 
  Cactus integration, 359360 
  command line options, 527528 
  continuous integration, 38 
  custom tasks 
  accessing properties, 203204 
  < classpath> element, 204 
  example buildfile, 208211 
  execute() method, 204205 
  nested elements, 205208 
  Task class, 201203 
  TDSS task example, 200201 
  directory/file system tasks, 535 
  chmod task, 535536 
  copy task, 536537 
  delete task, 537 
  mkdir task, 538 
  move task, 538 
  touch task, 538539 
  downloading, 37 
  EJB deployment, 254 
  deploy directory, copying to, 257 
  directory structure, 254255 
  enterprise_beans buildfile, 255256 
  JAR files, creating, 257258 
  support libraries, 259 
  elements 
  classpath element, 553 
  fileset element, 555 
  mapper element, 6364, 554555 
  patternset element, 555 
  zipfileset element, 556 
  extensibility of, 37 
  external execution tasks, 539 
  apply task, 539540 
  exec task, 540541 
  execon task, 541542 
  java task, 542543 
  javac task, 543544 
  sql task, 544545 
  file library tasks, 545 
  jar task, 545546 
  unjar task, 548 
  unwar task, 548 
  unzip task, 548 
  war task, 546547 
  zip task, 547 
  file manipulation tasks, 548 
  mail task, 549 
  replace task, 548549 
  Filter tag, 530531 
  filters, 5253 
  FilterChains, 5559 
  FilterReaders, 5559 
  filtersets, 5354 
  Hello World model project 
  buildfile, 7073 
  classes, 6869 
  targets, 7073 
  HelloWorldApplet project 
  buildfile, 84 
  building the applet, 85 
  IDEs 
  comparison, 38 
  support, 250 
  installing, 42 
  JUnit integration 
  junitSample project, 229234 
  setting up JAR files, 229 
  key tasks, 532 
  ant task, 532 
  antcall task, 532 
  available task, 533 
  echo task, 534 
  fail task, 534 
  property task, 534535 
  taskdef task, 535 
  listeners, 60 
  literals, defining, 72 
  loggers, 6062 
  mappers, 6364 
  flatten, 64 
  glob, 64 
  identity, 6364 
  merge, 64 
  package, 64 
  regexp, 64 
  unpackage, 64 
   optional tasks 
  junit task, 551552 
  junitreport task, 552553 
  passing properties to, 51 
  Path tag, 530 
  pathelements, 4446 
  location, 44 
  path, 44 
  patternsets, 4950 
  project tag, 528 
  projects, 3940 
  properties, 43 
  requirements, 7 
  running, 42 
  selectors, 46 
  containers, 49 
  < contains>, 46 
  < containsregexp>, 48 
  < date>, 4647 
  < depend>, 47 
  < depth>, 47 
  < different>, 47 
  < filename>, 4748 
  < present>, 48 
  < size >, 48 
  < type>, 48 
  setup files, 42 
  source control tasks, 549 
  cvs task, 549 
  get task, 550 
  Target tag, 529530 
  targets, 3940, 200 
  clean, 40, 72 
  compile, 40, 73 
  conditional, 5052 
  default, setting, 71 
  deploy, 40 
  docs/javadocs, 40 
  fetch, 40 
  init, 40, 72 
  init-debug, 40 
  init-release, 40 
  link/jar, 40 
  main, 40 
  naming, 3940 
  package, 72 
  prepare, 73 
  publish, 40 
  setProps target (Ant), 7172 
  staging, 40 
  standard, 40 
  test, 40 
  tasks, 3940 
  adding to Maven projects, 473474 
  BuildNumber, 62 
  check, 412 
  Chmod, 62 
  cvs, 62 
  < echo>, 493 
  instrument, 412 
  JAR, 63 
  jcoverage as, 411416 
  jtestrun, 412 
  merge, 412 
  parallel, 6263 
  report, 412 
  tasks automated by, 6 
  Tstamp tag, 531 
  with XDoclet.  see  XDoclet 
     Ant component (CruiseControl), 499500 
      Ant tag library (Jelly), 473 
       AntClassLoader class (Ant), 558559 
     AntHill, 507508 
  Administration page, 511512 
  application servers, 509510 
  builds 
  adding, 523524 
  scheduling, 523 
  configuring, 512513 
  dependencies, 524525 
  downloading, 507 
  HelloWorld project 
  creating, 516517 
  impounding, 517 
  test build, 517518 
  installing, 509512 
  pet store example, 525526 
  projects 
  building, 521522 
  creating, 518521 
  directory structure, 522 
  urban{code} example project, 514515 
     Apache settings (Bugzilla), 282283 
      applets 
  buildfiles, creating, 84 
  building with Ant, 85 
  delivering to browsers, 102103 
  including in WAR files, 103104 
  JAR files, 1415 
      artifactId element (Maven), 466 
     ArtifactsPublisher component (CruiseControl), 501 
     aspectSourceDirectory element (Maven), 466, 477478 
     assembled enterprise beans, 17 
     Assert class (JUnit), 585588 
     assertions, adding to Costello, 453 
     AssertUtils class (Cactus), 627628 
      AuthFilter example (Cactus), 366369 
     AuthorizationRequiredException class (HttpUnit), 636 
     automated builds, 3738.  See also  Ant 
     automated testing, requirements for, 7 
     available task (Ant), 533