Removed custom byte array handling code and updated to use JDK standard methods and IOUtils as needed Addressed all PMD static code analyzer issues and corrected where appropriate Update javasimon to 4.1.4 Replace byte array and input stream methods to JDK and commons managed code Use new Turbine 5 parent pom Use junit 4.12 Use Java 8, clean up some issues from findbugs Integrate JavaSimon for performance monitoring Fixing typos and cleaning up code to keep IntelliJ happy. Provide a more graceful shutdown of Fulcrum services Upgrading to jamon-2.81. Fixing typos and cleaning up code to keep IntelliJ happy. During property expansion of the component configuration any non-expanded variables are retained in the lenient mode. This fixes the problem that some services doing the property expansion dynamically. Added support of "fallback service managers" to transparently lookup services not managed by the Avalon container instance. A good example is the integration of Spring services or remote services hidden behind some SOAP proxies. Moved the code regarding transparent decryption of configuration files into 'fulcrum-yaafi-crypto' project and decoupled the code using dynamic class loading and reflection. Setting custom JAMon ranges for every invocation because those ranges are discarded when resetting JAMon through the GUI. Added M2 build Addded README.txt and NOTICE.txt to create a proper release. Fixing broken JAMon 2.x integration. To decouple the service framework from the JAMon library reflection was used but broke with JAMon 2.x. Added componentConfiguration.properties to resolve custom properties used for expanding the componentConfiguration.xml. Furthermore added a resolver functionality to allow to use commons-configuration. Added JamonInterceptorService to capture statistical performance data The SmartToStringBuilder was renamed to ArgumentStringBuilder Added AdviceService to provide interceptors for any arbitrary object. Added SmartToStringBuilder to get more information out of the LoggingInterceptorService. Fixed a few JavaDoc warnings Using the parent ServiceManager (if available) during lookup() and hasService() Adding Fortress context variables to enable a smooth transition when making all Fulcrum service compatible to a Fortress container Incarnating service is done in two steps now. This allows to declare the services in any order in the roleConfiguration.xml Updating to avalon-framework-api/impl-4.3.0.jar Adding interceptor services to YAAFI. This allows to add interceptors for the whole container or individual services. Using ReadWriteLocks for reconfiguring YAAFI on the fly Added a "logger" attribute to the role configuration file to simplify setting up Log4j loggers. For logging during initializing of a service we use the parent logger (=container's logger) instead of the service logger. This is an issue when writing CSV files otherwise the layout is messed up. Added a simple tutorial Fixed bug in ShutdownService resulting in excessive CPU usage. Improved the implementation of BaseServiceImpl The CLI can be now configured using SystemProperties and the command line. Added a getParameters() to the ServiceContainer interface. This allows to retrieve the Avalon parameters easily. The YAAFI service container implements Parameterizable Added a Shutdown service to dispose the YAAFI container Updated Turbine integration found in the 'contrib' directory Updated CLI to make it fit for one of our products Removed CVS tags since it makes maintainance difficult Removed obsolete email address Fixed wrong default values for parameters file if no value was defined. Fixed bug in ServiceManagerService - the static field was not reset during a dispose() leading to a NPE in the second invocation. Transparent decryption of configuration files Added reconfiuration service ro reconfigure YAAFI if the component configuration file has changed Provide context mapping in the case that YAAFI is embedded in another Avalon container (experimental) Improved bootstrapping of YAAFI using containerConfiguration.xml Decryption of configuration files Added cryptography support based on JCE/JCA Using ServiceManagerConfig to capture the configuration data for YAAFI Refactored some code into AvalonContextHelper and InputStreamLocator Parsing a "component-type" element for the future Parsing a "description" element of the role configuration file Improved creation of child logger to avoid overly long names by using the shorthand instead of the class name Extending ServiceManagerService to store Parameters and Context Setting proper context to achive compatibility with Phoenix container. YAAFI now works embedded into JAMES. Added a little bit of documentation Fixed most of the Eclipse complaints about coding conventions Container was missing call to decomission objects, therefore Disposeable interface never working. Initial import to Fulcrum project. Using LogEnabled.enableLogging() and Configurable.configure() to create a service container Locating an absolute file should now also work with Windows Removed log4j dpendency Refactored the source code to extract ServiceComponent and ServiceContainer interface Renamed the classes to org.apache.fulcrum.yaafi Added a ServiceManager service to keep track of the service manager singleton Added a ServiceManagerFactory to encapsulate the details of initializing YAAFI Added a simple SystemPropertyService since it is useful and does not introduce any new dependencies Cleaned up the implementation