Changeset 4075
- Timestamp:
- Dec 16, 2010, 8:41:07 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/client/servlet/src/org/proteios/action/ActionFactory.java
r4010 r4075 103 103 104 104 /** 105 This factory creates one instance of each action during it's initialization.106 Each action is mapped by an id in a HashMap<String, AbstractAction>. The id107 is generated using {@link #getId(Class)}.105 This factory implements the {@link ActionFactoryInterface}. It's purpose is to initialize each new action 106 with additional factories e.g. {@link ItemFactory} and localizer. You should never instantiate your own 107 actions. 108 108 109 109 @author gregory … … 445 445 log.info("Loading actions from jar-files"); 446 446 FileLocator fileLocator = new FileLocator(); 447 File libDir = new File(context 448 .getRealPath("WEB-INF" + File.separator + "lib")); 449 List<File> jarFiles = fileLocator.find(libDir, false, Pattern 450 .compile("proteios_client\\.jar$")); 447 File libDir = new File(context.getRealPath("WEB-INF" + File.separator + "lib")); 448 List<File> jarFiles = fileLocator.find(libDir, false, Pattern.compile("proteios_client\\.jar$")); 451 449 for (File jarFile : jarFiles) 452 450 { 453 List<JarEntry> classesInJar = fileLocator.find(jarFile, Pattern 454 .compile(".*\\.class$")); 451 List<JarEntry> classesInJar = fileLocator.find(jarFile, Pattern.compile(".*\\.class$")); 455 452 for (JarEntry entry : classesInJar) 456 453 { 457 454 try 458 455 { 459 String className = fileLocator.asClassName(entry 460 .getName()); 456 String className = fileLocator.asClassName(entry.getName()); 461 457 // Load classes that extend ProteiosAction 462 458 Class<?> classInJar = actionLoader.loadClass(className); … … 467 463 if (classInJar != ProteiosAction.class) 468 464 { 469 loadAction((ProteiosAction<?>) classInJar 470 .newInstance()); 465 loadAction((ProteiosAction<?>) classInJar.newInstance()); 471 466 } 472 467 } … … 489 484 for (File extJarFile : extJarFiles) 490 485 { 491 List<JarEntry> classesInJar = local.find(extJarFile, Pattern 492 .compile(".*\\.class$")); 486 List<JarEntry> classesInJar = local.find(extJarFile, Pattern.compile(".*\\.class$")); 493 487 for (JarEntry entry : classesInJar) 494 488 { … … 496 490 { 497 491 String className = local.asClassName(entry.getName()); 498 log.debug("Extension classname for entry '" + entry 499 .getName() + "' is '" + className); 492 log.debug("Extension classname for entry '" + entry.getName() + "' is '" + className); 500 493 // Load classes that extend ProteiosAction 501 494 Class<?> classInJar = actionLoader.loadClass(className); 502 495 if (ProteiosAction.class.isAssignableFrom(classInJar)) 503 496 { 504 loadAction((ProteiosAction) classInJar 505 .newInstance()); 497 loadAction((ProteiosAction) classInJar.newInstance()); 506 498 } 507 499 }
Note: See TracChangeset
for help on using the changeset viewer.