You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by tv...@apache.org on 2007/05/05 08:58:51 UTC
svn commit: r535465 [47/49] - in /jakarta/turbine/fulcrum/trunk: ./ bsf/
bsf/src/java/org/apache/fulcrum/bsf/ bsf/src/test/ bsf/xdocs/ cache/
cache/src/java/org/apache/fulcrum/cache/
cache/src/java/org/apache/fulcrum/cache/impl/ cache/src/test/ cache/s...
Modified: jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/service/ServiceManagerServiceTest.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/service/ServiceManagerServiceTest.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/service/ServiceManagerServiceTest.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/service/ServiceManagerServiceTest.java Fri May 4 23:58:06 2007
@@ -1,19 +1,22 @@
package org.apache.fulcrum.yaafi.service;
/*
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
import junit.framework.TestCase;
@@ -75,10 +78,10 @@
assertNotNull( serviceManagerService.getAvalonLogger() );
assertNotNull( serviceManagerService.getContext().get("urn:avalon:home") );
assertNotNull( serviceManagerService.getContext().get("urn:avalon:temp") );
-
+
// get the parameters
serviceManagerService.getParameters();
-
+
// lookup the service
serviceManagerService = (ServiceManagerService) serviceManagerService.lookup( ServiceManagerService.class.getName() );
assertTrue( serviceManagerService.hasService( ServiceManagerService.class.getName() ) );
Modified: jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/BaseUnitTest.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/BaseUnitTest.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/BaseUnitTest.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/BaseUnitTest.java Fri May 4 23:58:06 2007
@@ -1,19 +1,22 @@
package org.apache.fulcrum.yaafi.testcontainer;
/*
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
import junit.framework.TestCase;
Modified: jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/Container.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/Container.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/Container.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/src/test/org/apache/fulcrum/yaafi/testcontainer/Container.java Fri May 4 23:58:06 2007
@@ -1,19 +1,22 @@
package org.apache.fulcrum.yaafi.testcontainer;
/*
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
import java.io.File;
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentConfig.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentConfig.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentConfig.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentConfig.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<componentConfig>
<SystemPropertyService>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentRoles.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentRoles.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentRoles.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/componentRoles.xml Fri May 4 23:58:06 2007
@@ -1,9 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<role-list>
<role
name="tutorial.service.SystemPropertyService"
shorthand="SystemPropertyService"
default-class="tutorial.service.SystemPropertyServiceImpl"
- />
-</role-list>
\ No newline at end of file
+ />
+</role-list>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/containerConfiguration.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/containerConfiguration.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/containerConfiguration.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/containerConfiguration.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<fulcrum-yaafi>
<componentRoles>
@@ -10,4 +28,4 @@
<parameters>
<location>./tutorial/conf/parameters.properties</location>
</parameters>
-</fulcrum-yaafi>
+</fulcrum-yaafi>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/parameters.properties
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/parameters.properties?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/parameters.properties (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/conf/parameters.properties Fri May 4 23:58:06 2007
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Application.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Application.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Application.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Application.java Fri May 4 23:58:06 2007
@@ -1,19 +1,22 @@
package tutorial.running;
/*
- * Copyright 2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
@@ -50,7 +53,7 @@
/**
* Constructor
- *
+ *
* @param args the command line parameters
*/
public Application(String[] args)
@@ -60,7 +63,7 @@
/**
* Initialize the application
- *
+ *
* @return the initialized instance
* @throws Exception the initialization failed
*/
@@ -87,7 +90,7 @@
return this;
}
-
+
/**)
* @see java.lang.Runnable#run()
*/
@@ -96,7 +99,7 @@
try
{
this.cli.initialize();
- this.cli.getLogger().info( "The application is up and running ..." );
+ this.cli.getLogger().info( "The application is up and running ..." );
this.cli.onWait();
this.cli.getLogger().info( "The application is terminating ..." );
}
@@ -106,5 +109,5 @@
this.cli.getLogger().error(msg,t);
throw new RuntimeException(msg);
}
- }
+ }
}
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Factory.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Factory.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Factory.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/running/Factory.java Fri May 4 23:58:06 2007
@@ -1,19 +1,22 @@
package tutorial.running;
/*
- * Copyright 2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
@@ -39,7 +42,7 @@
{
ServiceContainer container = null;
ServiceContainerConfiguration config = null;
-
+
config = new ServiceContainerConfiguration();
config.loadContainerConfiguration( "./tutorial/conf/containerConfiguration.xml" );
container = ServiceContainerFactory.create( config );
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyService.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyService.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyService.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyService.java Fri May 4 23:58:06 2007
@@ -1,20 +1,22 @@
package tutorial.service;
/*
- * Copyright 2005 Apache Software Foundation
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
@@ -27,4 +29,4 @@
public interface SystemPropertyService
{
// This interface doesn't exposes any other methods
-}
\ No newline at end of file
+}
Modified: jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyServiceImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyServiceImpl.java?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyServiceImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/tutorial/src/java/tutorial/service/SystemPropertyServiceImpl.java Fri May 4 23:58:06 2007
@@ -1,20 +1,22 @@
package tutorial.service;
/*
- * Copyright 2005 Apache Software Foundation
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
import java.io.File;
@@ -42,15 +44,15 @@
{
/** the Avalon temp directory */
private File tempDir;
-
+
/**
* @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
*/
public void contextualize(Context context) throws ContextException
- {
+ {
this.tempDir = (File) context.get("urn:avalon:temp");
}
-
+
/**
* @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
*/
@@ -64,7 +66,7 @@
String value = systemProperties[i].getValue();
this.getLogger().debug( "Setting the value of " + key + " to " + value );
System.setProperty( key, value );
- }
+ }
}
/**
@@ -77,7 +79,7 @@
fos.flush();
fos.close();
}
-
+
/**
* @see org.apache.avalon.framework.configuration.Reconfigurable#reconfigure(org.apache.avalon.framework.configuration.Configuration)
*/
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/changes.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<document>
<properties>
<title>Fulcrum YAAFI Avalon Container</title>
@@ -11,10 +29,10 @@
Added componentConfiguration.properties to resolve custom properties
used for expanding the componentConfiguration.xml. Furthermore added
a resolver functionality to allow to use commons-configuration.
- </action>
+ </action>
<action dev="sgoeschl" type="add">
Added JamonInterceptorService to capture statistical performance data
- </action>
+ </action>
<action dev="sgoeschl" type="update">
The SmartToStringBuilder was renamed to ArgumentStringBuilder
</action>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/configuration.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/configuration.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/configuration.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/configuration.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<document>
<properties>
<title>Fulcrum YAAFI Avalon Container</title>
@@ -7,14 +25,14 @@
<body>
<section name="Configuration">
<p>
-
+
</p>
<subsection name="Component Configuration">
<p>
This example shows the component configuration if YAAFI is embedded in another
Avalon Container.
</p>
- <source>
+ <source>
<![CDATA[
<fulcrum-yaafi>
<containerType>merlin<containerType>
@@ -28,10 +46,10 @@
<decryption>false</decryption>
</componentConfiguration>
<parameters>
- <location>../conf/parameters.properties</location>
+ <location>../conf/parameters.properties</location>
<decryption>false</decryption>
</parameters>
-</fulcrum-yaafi>
+</fulcrum-yaafi>
]]>
</source>
</subsection>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/cryptography.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/cryptography.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/cryptography.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/cryptography.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<document>
@@ -19,19 +37,19 @@
<subsection name="JDK 1.3.x">
<p>
For JDK 1.3.x the <a href="http://java.sun.com/products/jce/index-122.html">
- Java Cryptography Extension (JCE) 1.2.2</a> needs to be installed.
+ Java Cryptography Extension (JCE) 1.2.2</a> needs to be installed.
Furthermore you need to add the jce1_2_2.jar to your Maven repository
and project.xml
</p>
</subsection>
-
+
<subsection name="JDK 1.4.2">
<p>
The current JDK's have the JCA built-in therefore no extra configuration
is required. In the case of an older JDK you need to upgrade.
</p>
</subsection>
-
+
<subsection name="Availabe Algorithms">
<table>
<tr>
@@ -48,9 +66,9 @@
PBEWithMD5AndDES<br/>PBEWithMD5AndTripleDES
</td>
</tr>
- </table>
+ </table>
</subsection>
-
+
</section>
</body>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/design.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/design.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/design.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/design.xml Fri May 4 23:58:06 2007
@@ -1,56 +1,74 @@
-<?xml version="1.0"?>
-
-<document>
-
- <properties>
- <title>Fulcrum YAAFI Avalon Container</title>
- <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
- </properties>
-
- <body>
-
- <section name="Design Considerations">
-
- <subsection name="Using the Avalon Context">
- <p>
- There is a big specification big gap regarding the content found in
- the Avalon Context. The pure Avalon approach is that you always
- have the right stuff since this part of the IOC approach. Consequently
- there is now way to check for the existence of a name/value pair.
- On the down side each Avalon container has its own ideas about the
- variable name to use resulting in non-reusable Avalon services.
- </p>
- <p>
- YAAFI use a pragmatic approach to provide all Merlin and Fortess
- names in the context. Therefore is should be easy to use existing
- Fortress services within YAAFI. It is also a good idea to stick to
- the Fortress names leaving you the option to switch Avalon containers
- in the future.
- </p>
- </subsection>
-
- <subsection name="Decommisiong of an Avalon Service">
- <p>
- YAAFI allows to decommision an Avalon service programmatically. Since
- the services are singletons you might ending up with a stale reference.
- Therefore it is not a good idea to decommision services you keep a
- reference on ... :-). In the case your application design depends
- on such a feature you should lookup the decommissioned service again
- resulting in creating a brand new instance.
- </p>
- </subsection>
-
- <subsection name="The Reconfiguration Quest">
- <p>
- Some people find it funny but YAAFI is used in 24x7 server
- applications. Consequently our applications must be reconfigurable
- on the fly to reduce downtime which is managed by Reconfiguration
- Service.
- </p>
- </subsection>
-
- </section>
-
- </body>
-
-</document>
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Fulcrum YAAFI Avalon Container</title>
+ <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
+ </properties>
+
+ <body>
+
+ <section name="Design Considerations">
+
+ <subsection name="Using the Avalon Context">
+ <p>
+ There is a big specification big gap regarding the content found in
+ the Avalon Context. The pure Avalon approach is that you always
+ have the right stuff since this part of the IOC approach. Consequently
+ there is now way to check for the existence of a name/value pair.
+ On the down side each Avalon container has its own ideas about the
+ variable name to use resulting in non-reusable Avalon services.
+ </p>
+ <p>
+ YAAFI use a pragmatic approach to provide all Merlin and Fortess
+ names in the context. Therefore is should be easy to use existing
+ Fortress services within YAAFI. It is also a good idea to stick to
+ the Fortress names leaving you the option to switch Avalon containers
+ in the future.
+ </p>
+ </subsection>
+
+ <subsection name="Decommisiong of an Avalon Service">
+ <p>
+ YAAFI allows to decommision an Avalon service programmatically. Since
+ the services are singletons you might ending up with a stale reference.
+ Therefore it is not a good idea to decommision services you keep a
+ reference on ... :-). In the case your application design depends
+ on such a feature you should lookup the decommissioned service again
+ resulting in creating a brand new instance.
+ </p>
+ </subsection>
+
+ <subsection name="The Reconfiguration Quest">
+ <p>
+ Some people find it funny but YAAFI is used in 24x7 server
+ applications. Consequently our applications must be reconfigurable
+ on the fly to reduce downtime which is managed by Reconfiguration
+ Service.
+ </p>
+ </subsection>
+
+ </section>
+
+ </body>
+
+</document>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/howto.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/howto.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/howto.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/howto.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<document>
@@ -13,24 +31,24 @@
<subsection name="How to write my own service?">
<ul>
- <li>
- Write your service interface and implementation using the
+ <li>
+ Write your service interface and implementation using the
Avalon Lifecycle interfaces.
</li>
- <li>
+ <li>
Add an entry to the role configuration file. This entry
contains the information how YAAFI can instantiate and
access the service
</li>
- <li>
+ <li>
Add an entry to the component configurating file if
you need to configure your service.
</li>
- </ul>
+ </ul>
</subsection>
-
+
<subsection name="How can I embed YAAFI in an application?">
- <p>
+ <p>
The embedding is done by creating a YAAFI instance using the
ServiceContainerFactory.create() method. Technically there
are two ways to create a YAAFI container
@@ -40,35 +58,35 @@
</ul>
</p>
- <p>
+ <p>
The following example creates a fully initialized and running
YAAFI container with the given configuration parameters using
- a LOG4J logger.
+ a LOG4J logger.
</p>
-
+
<source>
Logger logger = new Log4JLogger( org.apache.log4j.Logger.getLogger("YAAFI");
ServiceContainer container = null;
-ServiceContainerConfiguration config = new ServiceContainerConfiguration();
+ServiceContainerConfiguration config = new ServiceContainerConfiguration();
config.setLogger( logger );
config.setComponentRolesLocation( "./src/test/TestRoleConfig.xml" );
config.setComponentConfigurationLocation( "./src/test/TestComponentConfig.xml" );
-config.setParametersLocation( "./src/test/TestParameters.properties" );
+config.setParametersLocation( "./src/test/TestParameters.properties" );
container = ServiceContainerFactory.create( config );
</source>
- <p>
- The following example uses a XML file to initialize the YAAFI
+ <p>
+ The following example uses a XML file to initialize the YAAFI
container
</p>
-
+
<source>
ServiceContainer container = null;
-ServiceContainerConfiguration config = new ServiceContainerConfiguration();
-config.setContainerConfiguration( "./src/test/TestContainerConfig.xml", false );
+ServiceContainerConfiguration config = new ServiceContainerConfiguration();
+config.setContainerConfiguration( "./src/test/TestContainerConfig.xml", false );
container = ServiceContainerFactory.create( config );
</source>
-
+
<p>
At the end of day you have to terminate YAAFI
</p>
@@ -80,7 +98,7 @@
</subsection>
<subsection name="How can I embed YAAFI into Turbine?">
- <p>
+ <p>
In the 'contrib' directory there is a ready-to-use Turbine
service which needs the following configuration (for Turbine 2.2)
</p>
@@ -90,9 +108,9 @@
services.YaafiComponentService.componentConfiguration=./conf/componentConfiguration.xml
services.YaafiComponentService.parameters=
</source>
-
+
</subsection>
-
+
</section>
</body>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/index.xml Fri May 4 23:58:06 2007
@@ -1,4 +1,22 @@
<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<document>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/index.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/index.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/index.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/index.xml Fri May 4 23:58:06 2007
@@ -1,76 +1,94 @@
-<?xml version="1.0"?>
-<document>
- <properties>
- <title>Fulcrum YAAFI Avalon Container Interceptors</title>
- <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
- </properties>
- <body>
- <section name="Interceptor Design Notes">
- <p> YAAFI supports Dynamic Proxies (introduced with JDK 1.3) and Interceptors which
- was inspired by <a href="http://jakarta.apache.org/hivemind/index.html/">HiveMind</a>. The intention for
- implementing these features is to provide better debugging and diagnostic support such as
- method invocation tracing, error logs or performance monitoring. </p>
- <subsection name="Dynamic Proxies and Interceptors for Rookies">
- <p> A dynamic proxy is a dynamically created class implementing a list of interfaces and
- using an invocation handler. For the caller there is no difference between the real objext
- and the proxy object but invoking an interface method allows the invocation handler to
- delegate the method invocation to the real object. A dynamic proxy only intercepts methods
- defined in an interface but not abstract methods defined in a base class. This limitation
- is not relevant since you are accessing your services only by their interface, aren't
- you?! </p>
- </subsection>
- <subsection name="Related Concepts">
- <p>
- To make interceptors really useful some more infrastructure is needed
- <table>
- <tr>
- <th>Item</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>AvalonInterceptorInvocationHandler</td>
- <td>
- Delegates the invocation of the dynamic proxy to the service instance and
- doing most of the work such as creating an AvalonInterceptorContext and
- invoking the registered interceptors in the correct order
- </td>
- </tr>
- <tr>
- <td>AvalonInterceptorContext</td>
- <td>
- For each intercepted service invocation a new AvalonInterceptorContext
- is created which is passed to all registered interceptors. The
- AvalonInterceptorContext contains information about the service
- and method being invoked and allows access to a request context,
- a thread context using thread local storage and a transaction id.
- </td>
- </tr>
- <tr>
- <td>BaseInterceptorServiceImpl</td>
- <td>
- Is the base class of all existing interceptors to factor out
- common functionality.
- </td>
- </tr>
- </table>
- </p>
- </subsection>
- <subsection name="YAAFI and Interceptors">
- <p>A few things to keep in mind when working with interceptors <ul>
- <li>Interceptors only work in conjunction with dynamic proxies. If you turn off the proxy
- creation no interceptor will be invoked for the service </li>
- <li>Interceptors can be defined on the container level thereby applying the interceptors
- to all services</li>
- <li>Interceptors can be alos defined on the service level thereby applying the
- interceptors to this service. The service inherits all interceptors defined on the
- container level. </li>
- <li>Interceptors are implemented as Avalon services giving you access to all of the
- infrastructure and functionality such as dynamic reconfiguration</li>
- <li>For an interceptor there is never an dynamic proxy created no matter what you define
- in role configuration file</li>
- </ul>
- </p>
- </subsection>
- </section>
- </body>
-</document>
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<document>
+ <properties>
+ <title>Fulcrum YAAFI Avalon Container Interceptors</title>
+ <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
+ </properties>
+ <body>
+ <section name="Interceptor Design Notes">
+ <p> YAAFI supports Dynamic Proxies (introduced with JDK 1.3) and Interceptors which
+ was inspired by <a href="http://jakarta.apache.org/hivemind/index.html/">HiveMind</a>. The intention for
+ implementing these features is to provide better debugging and diagnostic support such as
+ method invocation tracing, error logs or performance monitoring. </p>
+ <subsection name="Dynamic Proxies and Interceptors for Rookies">
+ <p> A dynamic proxy is a dynamically created class implementing a list of interfaces and
+ using an invocation handler. For the caller there is no difference between the real objext
+ and the proxy object but invoking an interface method allows the invocation handler to
+ delegate the method invocation to the real object. A dynamic proxy only intercepts methods
+ defined in an interface but not abstract methods defined in a base class. This limitation
+ is not relevant since you are accessing your services only by their interface, aren't
+ you?! </p>
+ </subsection>
+ <subsection name="Related Concepts">
+ <p>
+ To make interceptors really useful some more infrastructure is needed
+ <table>
+ <tr>
+ <th>Item</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>AvalonInterceptorInvocationHandler</td>
+ <td>
+ Delegates the invocation of the dynamic proxy to the service instance and
+ doing most of the work such as creating an AvalonInterceptorContext and
+ invoking the registered interceptors in the correct order
+ </td>
+ </tr>
+ <tr>
+ <td>AvalonInterceptorContext</td>
+ <td>
+ For each intercepted service invocation a new AvalonInterceptorContext
+ is created which is passed to all registered interceptors. The
+ AvalonInterceptorContext contains information about the service
+ and method being invoked and allows access to a request context,
+ a thread context using thread local storage and a transaction id.
+ </td>
+ </tr>
+ <tr>
+ <td>BaseInterceptorServiceImpl</td>
+ <td>
+ Is the base class of all existing interceptors to factor out
+ common functionality.
+ </td>
+ </tr>
+ </table>
+ </p>
+ </subsection>
+ <subsection name="YAAFI and Interceptors">
+ <p>A few things to keep in mind when working with interceptors <ul>
+ <li>Interceptors only work in conjunction with dynamic proxies. If you turn off the proxy
+ creation no interceptor will be invoked for the service </li>
+ <li>Interceptors can be defined on the container level thereby applying the interceptors
+ to all services</li>
+ <li>Interceptors can be alos defined on the service level thereby applying the
+ interceptors to this service. The service inherits all interceptors defined on the
+ container level. </li>
+ <li>Interceptors are implemented as Avalon services giving you access to all of the
+ infrastructure and functionality such as dynamic reconfiguration</li>
+ <li>For an interceptor there is never an dynamic proxy created no matter what you define
+ in role configuration file</li>
+ </ul>
+ </p>
+ </subsection>
+ </section>
+ </body>
+</document>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/jamoninterceptor.xml Fri May 4 23:58:06 2007
@@ -1,95 +1,113 @@
-<?xml version="1.0"?>
-<document>
- <properties>
- <title>Fulcrum YAAFI Avalon Container Interceptors</title>
- <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
- </properties>
- <body>
- <section name="Overview">
- <p> This service uses <a href="http://jamonapi.sourceforge.net/">JAMon</a> to capture statistical performance
- data. This performance data can be exported as HTML report into the file system or viewed using a browser when
- your application runs in a servlet container. </p>
- <p> Have a look at an a <a href="http://jamonapi.sourceforge.net/JAMonAdmin.html"> HTML example report</a>
- available from the JAMon homepage. </p>
- <p> The implementation uses reflection to invoke the JAMon library to avoid compile-time coupling. If the
- interceptor is enabled while the JAMON library is not found in the classpath the implementation silently ignores
- all intercepted calls. </p>
- <p> The service is by default disabled since the JAMon library are currently not hosted on IBIBLIO</p>
- </section>
- <section name="Configuration">
- <subsection name="Component Configuration">
- <table>
- <tr>
- <th>Item</th>
- <th>Datatype</th>
- <th>Cardinality</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>isEnabled</td>
- <td>Boolean</td>
- <td>[0|1]</td>
- <td> Turn the interceptor. If no value is supplied then "false" is used thereby disabling all interceptor
- invocations. </td>
- </tr>
- <tr>
- <td>reportTimeout</td>
- <td>Long</td>
- <td>[0|1]</td>
- <td> The report timeout to generate a HTML report. If the value "0" is used than no periodic reports are
- generated. If no value is supplied than "0" is used. </td>
- </tr>
- <tr>
- <td>reportFile</td>
- <td>String</td>
- <td>[0|1]</td>
- <td> The report file being used. If a relative file name is used it will be resolved relative to application
- directory. </td>
- </tr>
- <tr>
- <td>reportOnExit</td>
- <td>Boolean</td>
- <td>[0|1]</td>
- <td> Dump a HTML report when disposing the service, e.g. during shutdown of your application. </td>
- </tr>
- <tr>
- <td>services</td>
- <td>Tree</td>
- <td>[0|1]</td>
- <td> Contains a list of services to be monitored. </td>
- </tr>
- <tr>
- <td>services/service@name</td>
- <td>String</td>
- <td>[1..n]</td>
- <td> The name of an individual service to be monitored. </td>
- </tr>
- </table>
- </subsection>
- <subsection name="Role Configuration">
- <source><![CDATA[
-<role
- name="org.apache.fulcrum.yaafi.interceptor.jamon.JamonInterceptorService"
- shorthand="JamonInterceptorService"
- default-class="org.apache.fulcrum.yaafi.interceptor.jamon.JamonInterceptorServiceImpl"
-/>]]>
- </source>
- </subsection>
- </section>
- <section name="Usage">
- <p> The JamonInterceptorService is enabled and monitors all services. The service writes every minute a HTML
- report and in addition when disposing the service </p>
- <source><![CDATA[
-<JamonInterceptorService>
- <isEnabled>true</isEnabled>
- <reportTimeout>60000</reportTimeout>
- <reportFile>./temp/jamon.html</reportFile>
- <reportOnExit>true</reportOnExit>
- <services>
- <service name="*"/>
- </services>
-</JamonInterceptorService>]]>
- </source>
- </section>
- </body>
-</document>
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<document>
+ <properties>
+ <title>Fulcrum YAAFI Avalon Container Interceptors</title>
+ <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
+ </properties>
+ <body>
+ <section name="Overview">
+ <p> This service uses <a href="http://jamonapi.sourceforge.net/">JAMon</a> to capture statistical performance
+ data. This performance data can be exported as HTML report into the file system or viewed using a browser when
+ your application runs in a servlet container. </p>
+ <p> Have a look at an a <a href="http://jamonapi.sourceforge.net/JAMonAdmin.html"> HTML example report</a>
+ available from the JAMon homepage. </p>
+ <p> The implementation uses reflection to invoke the JAMon library to avoid compile-time coupling. If the
+ interceptor is enabled while the JAMON library is not found in the classpath the implementation silently ignores
+ all intercepted calls. </p>
+ <p> The service is by default disabled since the JAMon library are currently not hosted on IBIBLIO</p>
+ </section>
+ <section name="Configuration">
+ <subsection name="Component Configuration">
+ <table>
+ <tr>
+ <th>Item</th>
+ <th>Datatype</th>
+ <th>Cardinality</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>isEnabled</td>
+ <td>Boolean</td>
+ <td>[0|1]</td>
+ <td> Turn the interceptor. If no value is supplied then "false" is used thereby disabling all interceptor
+ invocations. </td>
+ </tr>
+ <tr>
+ <td>reportTimeout</td>
+ <td>Long</td>
+ <td>[0|1]</td>
+ <td> The report timeout to generate a HTML report. If the value "0" is used than no periodic reports are
+ generated. If no value is supplied than "0" is used. </td>
+ </tr>
+ <tr>
+ <td>reportFile</td>
+ <td>String</td>
+ <td>[0|1]</td>
+ <td> The report file being used. If a relative file name is used it will be resolved relative to application
+ directory. </td>
+ </tr>
+ <tr>
+ <td>reportOnExit</td>
+ <td>Boolean</td>
+ <td>[0|1]</td>
+ <td> Dump a HTML report when disposing the service, e.g. during shutdown of your application. </td>
+ </tr>
+ <tr>
+ <td>services</td>
+ <td>Tree</td>
+ <td>[0|1]</td>
+ <td> Contains a list of services to be monitored. </td>
+ </tr>
+ <tr>
+ <td>services/service@name</td>
+ <td>String</td>
+ <td>[1..n]</td>
+ <td> The name of an individual service to be monitored. </td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Role Configuration">
+ <source><![CDATA[
+<role
+ name="org.apache.fulcrum.yaafi.interceptor.jamon.JamonInterceptorService"
+ shorthand="JamonInterceptorService"
+ default-class="org.apache.fulcrum.yaafi.interceptor.jamon.JamonInterceptorServiceImpl"
+/>]]>
+ </source>
+ </subsection>
+ </section>
+ <section name="Usage">
+ <p> The JamonInterceptorService is enabled and monitors all services. The service writes every minute a HTML
+ report and in addition when disposing the service </p>
+ <source><![CDATA[
+<JamonInterceptorService>
+ <isEnabled>true</isEnabled>
+ <reportTimeout>60000</reportTimeout>
+ <reportFile>./temp/jamon.html</reportFile>
+ <reportOnExit>true</reportOnExit>
+ <services>
+ <service name="*"/>
+ </services>
+</JamonInterceptorService>]]>
+ </source>
+ </section>
+ </body>
+</document>
Modified: jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml?view=diff&rev=535465&r1=535464&r2=535465
==============================================================================
--- jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml (original)
+++ jakarta/turbine/fulcrum/trunk/yaafi/xdocs/interceptors/logginginterceptor.xml Fri May 4 23:58:06 2007
@@ -1,287 +1,305 @@
-<?xml version="1.0"?>
-<document>
-
- <properties>
- <title>Fulcrum YAAFI Avalon Container Interceptors</title>
- <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
- </properties>
-
- <body>
-
- <section name="Overview">
- <p>
- The service solves a simple problem - when a customer complains that
- something is broken quite often the logfile is not enough - a glimpse at the
- parameters being used for the service invocation would help a great deal.
- Therefore this interceptor is intended for running in the background and
- dumping all parameters when an exception occurs.
- </p>
- </section>
-
- <section name="Filtering using the Logger">
- <p>
- The service implementation uses the trace level of its logger to control
- the generated output. E.g. setting the tracelevel to INFO would result in
- tracing method invocations and exceptions but would ignore the results from
- the mehtod invocation.
- <table>
- <tr>
- <th>Trace Level</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>ERROR</td>
- <td>Dumps the context information for an onError invocation</td>
- </tr>
- <tr>
- <td>INFO</td>
- <td>Dumps the context information for an onEntry invocation</td>
- </tr>
- <tr>
- <td>DEBUG</td>
- <td>Dumps the context information for an onExit invocation</td>
- </tr>
- </table>
- </p>
- </section>
-
- <section name="Captured Information">
- <p>
- During the execution the service captures the following information for
- producing a meaning log
- <table>
- <tr>
- <th>Item</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>Transaction ID (TID)</td>
- <td>the number of times the invocationDepth was zero</td>
- </tr>
- <tr>
- <td>Invocation ID (IID)</td>
- <td>the current number of inovking a service method</td>
- </tr>
- <tr>
- <td>InvocationDepth (ID)</td>
- <td>
- the service invocation depth, e.g a value of "1" that
- the currently invoked service method was invoked by
- another service. A value of "0" indicates that the service
- method was directly invoked from the caller therefore
- starting a new transaction
- </td>
- </tr>
- <tr>
- <td>Mode (M)</td>
- <td>
- the invocation mode of the interceptor
- <ul>
- <li>0 ==> entering the service method</li>
- <li>1 ==> leaving the the service method</li>
- <li>2 ==> an exception occured</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>ServiceName</td>
- <td>the shorthand of the service being invoked</td>
- </tr>
- <tr>
- <td>ServiceMethod</td>
- <td>the name of the service method being invoked</td>
- </tr>
- <tr>
- <td>Millis</td>
- <td>the execution time in milliseconds</td>
- </tr>
- <tr>
- <td>Method Signature</td>
- <td>the name of the executing thread</td>
- </tr>
- <tr>
- <td>Parameters</td>
- <td>the list of parameter values</td>
- </tr>
- <tr>
- <td>Exception</td>
- <td>the class of the exception being caught</td>
- </tr>
- <tr>
- <td>Stacktrace</td>
- <td>the stacktrace of the exception being caught</td>
- </tr>
- </table>
- </p>
- </section>
-
- <section name="Example Logfile">
- <p>
- Looking at the following <a href="tracing.csv">example</a> you see that
- <ul>
- <li>that this was the 54th transaction during the lifetime of the container</li>
- <li>PdfSignatureService.sign wa invoked with the seven parameter values as shown below</li>
- <li>an invalid PDF document caused a SignatureServiceException</li>
- <li>SignatureService.sign was the caller of PdfSignatureService.sign and just rethrow the exception.</li>
- </ul>
- </p>
- <source>
-<![CDATA[
-TID IID ID M Service Method Signature
-
-54 402 1 2 PdfSignatureService sign Object service.signature.SignatureService.sign(
- String,String,String,Object,String,String,Hashtable)
- arg[0]:={SUPPLIER}
- arg[1]:={SUPPLIER}
- arg[2]:={de}
- arg[3]:={[B@36d047}
- arg[4]:={broken.pdf}
- arg[5]:={application/pdf}
- arg[6]:={{isPdfAttached=false}}
- service.signature.SignatureServiceException
- Rebuild failed: trailer not found
-
-54 400 0 2 SignatureService sign service.signature.SignatureService.sign(
- String,String,String,Object,String,String,Hashtable)
- arg[0]:={SUPPLIER}
- arg[1]:={SUPPLIER}
- arg[2]:={de}
- arg[3]:={[B@36d047}
- arg[4]:={broken.pdf}
- arg[5]:={application/pdf}
- arg[6]:={{isPdfAttached=false}}
- service.signature.SignatureServiceException
- Rebuild failed: trailer not found
-]]>
- </source>
- </section>
-
- <section name="Configuration">
- <subsection name="Component Configuration">
- <table>
- <tr>
- <th>Item</th>
- <th>Datatype</th>
- <th>Cardinality</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>isEnabled</td>
- <td>Boolean</td>
- <td>[0|1]</td>
- <td>
- Turn the interceptor. If no value is supplied then "false" is used
- thereby disabling all interceptor invocations.
- </td>
- </tr>
- <tr>
- <td>maxArgLength</td>
- <td>Integer</td>
- <td>[0|1]</td>
- <td>
- The maximum length of an method argument to avoid dumping megabytes
- of data into the logfile.
- </td>
- </tr>
- <tr>
- <td>toStringBuilderClass</td>
- <td>String</td>
- <td>[0|1]</td>
- <td>
- The class name of the string builder to use to format the method
- parematers and the result. If no value is supplied the
- SmartToStringBuilder is used.
- </td>
- </tr>
- <tr>
- <td>monitorAllExceptions</td>
- <td>Boolean</td>
- <td>[0|1]</td>
- <td>
- Dump all encountered excpetions therefore overriding
- the list of monitored services. If no value is supplied
- then "true" is used.
- </td>
- </tr>
- <tr>
- <td>services</td>
- <td>Tree</td>
- <td>[0|1]</td>
- <td>
- Contains a list of services to be monitored.
- </td>
- </tr>
- <tr>
- <td>services/service@name</td>
- <td>String</td>
- <td>[1..n]</td>
- <td>
- The name of an individual service to be monitored.
- </td>
- </tr>
- </table>
- </subsection>
- <subsection name="Role Configuration">
- <source><![CDATA[
-<role
- name="org.apache.fulcrum.yaafi.interceptor.logging.LoggingInterceptorService"
- shorthand="LoggingInterceptorService"
- default-class="org.apache.fulcrum.yaafi.interceptor.logging.LoggingInterceptorServiceImpl"
- logger="tracing"
-/>
- ]]></source>
- </subsection>
-
- <subsection name="Log4J Configuration">
- <p>
- The following Log4J configuration defines a custom
- appender for the PerformanceInterceptorService. For
- the layout we just add a timestamp since we produce
- a CSV file to be analyzed with EXCEL or your tool
- of choice
- </p>
- <source><![CDATA[
-#
-# Custom logfiles
-#
-
-log4j.category.yaafi.tracing = ERROR, tracing
-log4j.additivity.yaafi.tracing = false
-
-#
-# Tracing Appender
-#
-
-log4j.appender.tracing = org.apache.log4j.RollingFileAppender
-log4j.appender.tracing.file = ./temp/tracing.csv
-log4j.appender.tracing.MaxFileSize=2000KB
-log4j.appender.tracing.layout=org.apache.log4j.PatternLayout
-log4j.appender.tracing.layout.conversionPattern=%d;%t;%m%n
-log4j.appender.tracing.threshold=DEBUG
-log4j.appender.tracing.append = true
- ]]></source>
- </subsection>
- </section>
-
-
- <section name="Usage">
- <p>
- Dump the method invocation of all services using ReflectionToStringBuilder
- </p>
- <source>
- <![CDATA[
-<LoggingInterceptorService>
- <isEnabled>true</isEnabled>
- <maxArgLength>2000</maxArgLength>
- <toStringBuilderClass>org.apache.fulcrum.yaafi.interceptor.util.SmartToStringBuilderImpl</toStringBuilderClass>
- <monitorAllExceptions>true</monitorAllExceptions>
- <services>
- <service name="*"/>
- </services>
-</LoggingInterceptorService>
- ]]>
- </source>
- </section>
-
- </body>
-</document>
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<document>
+
+ <properties>
+ <title>Fulcrum YAAFI Avalon Container Interceptors</title>
+ <author email="siegfried.goeschl@it20one.at">Siegfried Goeschl</author>
+ </properties>
+
+ <body>
+
+ <section name="Overview">
+ <p>
+ The service solves a simple problem - when a customer complains that
+ something is broken quite often the logfile is not enough - a glimpse at the
+ parameters being used for the service invocation would help a great deal.
+ Therefore this interceptor is intended for running in the background and
+ dumping all parameters when an exception occurs.
+ </p>
+ </section>
+
+ <section name="Filtering using the Logger">
+ <p>
+ The service implementation uses the trace level of its logger to control
+ the generated output. E.g. setting the tracelevel to INFO would result in
+ tracing method invocations and exceptions but would ignore the results from
+ the mehtod invocation.
+ <table>
+ <tr>
+ <th>Trace Level</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>ERROR</td>
+ <td>Dumps the context information for an onError invocation</td>
+ </tr>
+ <tr>
+ <td>INFO</td>
+ <td>Dumps the context information for an onEntry invocation</td>
+ </tr>
+ <tr>
+ <td>DEBUG</td>
+ <td>Dumps the context information for an onExit invocation</td>
+ </tr>
+ </table>
+ </p>
+ </section>
+
+ <section name="Captured Information">
+ <p>
+ During the execution the service captures the following information for
+ producing a meaning log
+ <table>
+ <tr>
+ <th>Item</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>Transaction ID (TID)</td>
+ <td>the number of times the invocationDepth was zero</td>
+ </tr>
+ <tr>
+ <td>Invocation ID (IID)</td>
+ <td>the current number of inovking a service method</td>
+ </tr>
+ <tr>
+ <td>InvocationDepth (ID)</td>
+ <td>
+ the service invocation depth, e.g a value of "1" that
+ the currently invoked service method was invoked by
+ another service. A value of "0" indicates that the service
+ method was directly invoked from the caller therefore
+ starting a new transaction
+ </td>
+ </tr>
+ <tr>
+ <td>Mode (M)</td>
+ <td>
+ the invocation mode of the interceptor
+ <ul>
+ <li>0 ==> entering the service method</li>
+ <li>1 ==> leaving the the service method</li>
+ <li>2 ==> an exception occured</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>ServiceName</td>
+ <td>the shorthand of the service being invoked</td>
+ </tr>
+ <tr>
+ <td>ServiceMethod</td>
+ <td>the name of the service method being invoked</td>
+ </tr>
+ <tr>
+ <td>Millis</td>
+ <td>the execution time in milliseconds</td>
+ </tr>
+ <tr>
+ <td>Method Signature</td>
+ <td>the name of the executing thread</td>
+ </tr>
+ <tr>
+ <td>Parameters</td>
+ <td>the list of parameter values</td>
+ </tr>
+ <tr>
+ <td>Exception</td>
+ <td>the class of the exception being caught</td>
+ </tr>
+ <tr>
+ <td>Stacktrace</td>
+ <td>the stacktrace of the exception being caught</td>
+ </tr>
+ </table>
+ </p>
+ </section>
+
+ <section name="Example Logfile">
+ <p>
+ Looking at the following <a href="tracing.csv">example</a> you see that
+ <ul>
+ <li>that this was the 54th transaction during the lifetime of the container</li>
+ <li>PdfSignatureService.sign wa invoked with the seven parameter values as shown below</li>
+ <li>an invalid PDF document caused a SignatureServiceException</li>
+ <li>SignatureService.sign was the caller of PdfSignatureService.sign and just rethrow the exception.</li>
+ </ul>
+ </p>
+ <source>
+<![CDATA[
+TID IID ID M Service Method Signature
+
+54 402 1 2 PdfSignatureService sign Object service.signature.SignatureService.sign(
+ String,String,String,Object,String,String,Hashtable)
+ arg[0]:={SUPPLIER}
+ arg[1]:={SUPPLIER}
+ arg[2]:={de}
+ arg[3]:={[B@36d047}
+ arg[4]:={broken.pdf}
+ arg[5]:={application/pdf}
+ arg[6]:={{isPdfAttached=false}}
+ service.signature.SignatureServiceException
+ Rebuild failed: trailer not found
+
+54 400 0 2 SignatureService sign service.signature.SignatureService.sign(
+ String,String,String,Object,String,String,Hashtable)
+ arg[0]:={SUPPLIER}
+ arg[1]:={SUPPLIER}
+ arg[2]:={de}
+ arg[3]:={[B@36d047}
+ arg[4]:={broken.pdf}
+ arg[5]:={application/pdf}
+ arg[6]:={{isPdfAttached=false}}
+ service.signature.SignatureServiceException
+ Rebuild failed: trailer not found
+]]>
+ </source>
+ </section>
+
+ <section name="Configuration">
+ <subsection name="Component Configuration">
+ <table>
+ <tr>
+ <th>Item</th>
+ <th>Datatype</th>
+ <th>Cardinality</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>isEnabled</td>
+ <td>Boolean</td>
+ <td>[0|1]</td>
+ <td>
+ Turn the interceptor. If no value is supplied then "false" is used
+ thereby disabling all interceptor invocations.
+ </td>
+ </tr>
+ <tr>
+ <td>maxArgLength</td>
+ <td>Integer</td>
+ <td>[0|1]</td>
+ <td>
+ The maximum length of an method argument to avoid dumping megabytes
+ of data into the logfile.
+ </td>
+ </tr>
+ <tr>
+ <td>toStringBuilderClass</td>
+ <td>String</td>
+ <td>[0|1]</td>
+ <td>
+ The class name of the string builder to use to format the method
+ parematers and the result. If no value is supplied the
+ SmartToStringBuilder is used.
+ </td>
+ </tr>
+ <tr>
+ <td>monitorAllExceptions</td>
+ <td>Boolean</td>
+ <td>[0|1]</td>
+ <td>
+ Dump all encountered excpetions therefore overriding
+ the list of monitored services. If no value is supplied
+ then "true" is used.
+ </td>
+ </tr>
+ <tr>
+ <td>services</td>
+ <td>Tree</td>
+ <td>[0|1]</td>
+ <td>
+ Contains a list of services to be monitored.
+ </td>
+ </tr>
+ <tr>
+ <td>services/service@name</td>
+ <td>String</td>
+ <td>[1..n]</td>
+ <td>
+ The name of an individual service to be monitored.
+ </td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Role Configuration">
+ <source><![CDATA[
+<role
+ name="org.apache.fulcrum.yaafi.interceptor.logging.LoggingInterceptorService"
+ shorthand="LoggingInterceptorService"
+ default-class="org.apache.fulcrum.yaafi.interceptor.logging.LoggingInterceptorServiceImpl"
+ logger="tracing"
+/>
+ ]]></source>
+ </subsection>
+
+ <subsection name="Log4J Configuration">
+ <p>
+ The following Log4J configuration defines a custom
+ appender for the PerformanceInterceptorService. For
+ the layout we just add a timestamp since we produce
+ a CSV file to be analyzed with EXCEL or your tool
+ of choice
+ </p>
+ <source><![CDATA[
+#
+# Custom logfiles
+#
+
+log4j.category.yaafi.tracing = ERROR, tracing
+log4j.additivity.yaafi.tracing = false
+
+#
+# Tracing Appender
+#
+
+log4j.appender.tracing = org.apache.log4j.RollingFileAppender
+log4j.appender.tracing.file = ./temp/tracing.csv
+log4j.appender.tracing.MaxFileSize=2000KB
+log4j.appender.tracing.layout=org.apache.log4j.PatternLayout
+log4j.appender.tracing.layout.conversionPattern=%d;%t;%m%n
+log4j.appender.tracing.threshold=DEBUG
+log4j.appender.tracing.append = true
+ ]]></source>
+ </subsection>
+ </section>
+
+
+ <section name="Usage">
+ <p>
+ Dump the method invocation of all services using ReflectionToStringBuilder
+ </p>
+ <source>
+ <![CDATA[
+<LoggingInterceptorService>
+ <isEnabled>true</isEnabled>
+ <maxArgLength>2000</maxArgLength>
+ <toStringBuilderClass>org.apache.fulcrum.yaafi.interceptor.util.SmartToStringBuilderImpl</toStringBuilderClass>
+ <monitorAllExceptions>true</monitorAllExceptions>
+ <services>
+ <service name="*"/>
+ </services>
+</LoggingInterceptorService>
+ ]]>
+ </source>
+ </section>
+
+ </body>
+</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org