<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Sample4</title><link>https://sourceforge.net/p/scfjava/wiki/Sample4/</link><description>Recent changes to Sample4</description><atom:link href="https://sourceforge.net/p/scfjava/wiki/Sample4/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 22 Oct 2012 22:58:20 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/scfjava/wiki/Sample4/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Sample4 modified by scf</title><link>https://sourceforge.net/p/scfjava/wiki/Sample4/</link><description>&lt;pre&gt;--- v2
+++ v3
@@ -1,6 +1,11 @@
 ### Abstract ###
 
 This sample show us how to configure a **PropertyFinder** inside a Servlet, in order to get properties that might change during the execution of a web application.
+
+---
+
+Este ejemplo nos muestra cómo configurar un **PropertyFinder** dentro de un Servlet, de modo de obtener propiedades que pueden cambiar durante la ejecución de la aplicación web.
+
 
 ### sample.properties ###
 ~~~~~~
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">scf</dc:creator><pubDate>Mon, 22 Oct 2012 22:58:20 -0000</pubDate><guid>https://sourceforge.netfed547f8df28aa04c740b58601b9c43a0472dc90</guid></item><item><title>WikiPage Sample4 modified by scf</title><link>https://sourceforge.net/p/scfjava/wiki/Sample4/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -2,7 +2,7 @@
 
 This sample show us how to configure a **PropertyFinder** inside a Servlet, in order to get properties that might change during the execution of a web application.
 
-### sample5.properties ###
+### sample.properties ###
 ~~~~~~
 :::properties
 var=Hola Mundo SCF
@@ -12,7 +12,7 @@
 ### Environment ###
 ~~~~~~
 :::properties
-sysprop.config.root= &lt;parent dir of sample5.properties&gt;
+sysprop.config.root= &lt;parent dir of sample.properties&gt;
 ~~~~~~
 ---
 
@@ -31,7 +31,7 @@
   &lt;servlet-class&gt;ar.com.scf.web.TestServlet&lt;/servlet-class&gt;
   &lt;init-param&gt;
    &lt;param-name&gt;config&lt;/param-name&gt;
-   &lt;param-value&gt;${sysprop.config.root}/sample5.properties&lt;/param-value&gt;
+   &lt;param-value&gt;${sysprop.config.root}/sample.properties&lt;/param-value&gt;
   &lt;/init-param&gt;
  &lt;/servlet&gt;
  
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">scf</dc:creator><pubDate>Thu, 18 Oct 2012 21:32:07 -0000</pubDate><guid>https://sourceforge.net1c8d46a5fa6d800d8398b9eae32c57be932485e8</guid></item><item><title>WikiPage Sample4 modified by scf</title><link>https://sourceforge.net/p/scfjava/wiki/Sample4/</link><description>### Abstract ###

This sample show us how to configure a **PropertyFinder** inside a Servlet, in order to get properties that might change during the execution of a web application.

### sample5.properties ###
~~~~~~
:::properties
var=Hola Mundo SCF
~~~~~~
---

### Environment ###
~~~~~~
:::properties
sysprop.config.root= &lt;parent dir of sample5.properties&gt;
~~~~~~
---

### web.xml ###
~~~~~~
:::xml

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app id="WebApp_ID" version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&gt;
 &lt;display-name&gt;ServletSCF&lt;/display-name&gt;

 &lt;servlet&gt;
  &lt;servlet-name&gt;test&lt;/servlet-name&gt;
  &lt;servlet-class&gt;ar.com.scf.web.TestServlet&lt;/servlet-class&gt;
  &lt;init-param&gt;
   &lt;param-name&gt;config&lt;/param-name&gt;
   &lt;param-value&gt;${sysprop.config.root}/sample5.properties&lt;/param-value&gt;
  &lt;/init-param&gt;
 &lt;/servlet&gt;
 
 &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;test&lt;/servlet-name&gt;
  &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
 &lt;welcome-file-list&gt;
  &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
 &lt;/welcome-file-list&gt;
&lt;/web-app&gt;
~~~~~~
---

### TestServlet.java ###
~~~~~~
:::java

package ar.com.scf.sample04;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import ar.com.scf.IPropertyFinder;
import ar.com.scf.IPropertyReplacer;
import ar.com.scf.impl.ComposedPropertyFinder;
import ar.com.scf.impl.PropertyFinder;
import ar.com.scf.impl.PropertyReplacer;
import ar.com.scf.impl.SystemPropertyFinder;

public class TestServlet extends HttpServlet {

  private static final long serialVersionUID = 1L;

  private IPropertyFinder finder;

  private IPropertyReplacer replacer;

  @Override
  public void init(ServletConfig config) throws ServletException {
    super.init(config);

    SystemPropertyFinder system = new SystemPropertyFinder();
    ComposedPropertyFinder finder = new ComposedPropertyFinder(system);
    replacer = new PropertyReplacer(finder);

    String path = config.getInitParameter("config");
    File file = new File(replacer.expand(path));
    finder.add(new PropertyFinder(file));

    this.finder = finder;
  }

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    String value = finder.getProperty("var");
    resp.getOutputStream().write(value.getBytes());
  }
}

~~~~~~

---
### output ###
~~~~~~
:::console

Hola Mundo SCF
~~~~~~</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">scf</dc:creator><pubDate>Thu, 18 Oct 2012 21:28:53 -0000</pubDate><guid>https://sourceforge.net2ccddafbbb76c5c6cd9f66b793cf61a919bb27c2</guid></item></channel></rss>