You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2019/03/07 16:22:18 UTC
[myfaces] branch master updated: cleanup digester,
it's not used after startup
This is an automated email from the ASF dual-hosted git repository.
tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/master by this push:
new 08ae1dc cleanup digester, it's not used after startup
08ae1dc is described below
commit 08ae1dc97d28f1c10bf25e9c3dd46bfb028362ee
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Thu Mar 7 17:22:13 2019 +0100
cleanup digester, it's not used after startup
---
.../config/DefaultFacesConfigurationProvider.java | 20 ++++++++++++--------
.../myfaces/config/FacesConfigUnmarshaller.java | 2 ++
.../DigesterFacesConfigUnmarshallerImpl.java | 11 ++++++++---
.../myfaces/spi/FacesConfigurationProvider.java | 2 ++
.../myfaces/webapp/AbstractFacesInitializer.java | 4 ++++
5 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationProvider.java b/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationProvider.java
index 023ea29..a468b49 100644
--- a/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationProvider.java
+++ b/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationProvider.java
@@ -317,7 +317,6 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
log.info("Reading config : " + url.toExternalForm());
}
appConfigResources.add(getUnmarshaller(ectx).getFacesConfig(stream, url.toExternalForm()));
- //getDispenser().feed(getUnmarshaller().getFacesConfig(stream, entry.getKey()));
}
finally
{
@@ -363,7 +362,6 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
log.info("Reading config " + systemId);
}
appConfigResources.add(getUnmarshaller(ectx).getFacesConfig(stream, systemId));
- //getDispenser().feed(getUnmarshaller().getFacesConfig(stream, systemId));
stream.close();
}
}
@@ -397,7 +395,6 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
log.info("Reading config /WEB-INF/faces-config.xml");
}
webAppConfig = getUnmarshaller(ectx).getFacesConfig(stream, DEFAULT_FACES_CONFIG);
- //getDispenser().feed(getUnmarshaller().getFacesConfig(stream, DEFAULT_FACES_CONFIG));
stream.close();
}
return webAppConfig;
@@ -536,8 +533,7 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
trans.transform(source, result);
StringReader xmlReader = new StringReader(xmlAsWriter.toString());
- FacesConfig facesConfig = getUnmarshaller(ectx).getFacesConfig(
- xmlReader);
+ FacesConfig facesConfig = getUnmarshaller(ectx).getFacesConfig(xmlReader);
facesConfigList.add(facesConfig);
}
catch (IOException ex)
@@ -708,8 +704,7 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
log.info("Reading config " + systemId);
}
- FacesConfigImpl facesConfig = (FacesConfigImpl)
- getUnmarshaller(ectx).getFacesConfig(pbstream, systemId);
+ FacesConfigImpl facesConfig = (FacesConfigImpl) getUnmarshaller(ectx).getFacesConfig(pbstream, systemId);
// Set default start node when it is not present.
for (FacesFlowDefinition definition : facesConfig.getFacesFlowDefinitions())
@@ -726,7 +721,6 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
}
}
return facesConfig;
- //getDispenser().feed(getUnmarshaller().getFacesConfig(stream, systemId));
}
catch (IOException e)
{
@@ -828,4 +822,14 @@ public class DefaultFacesConfigurationProvider extends FacesConfigurationProvide
}
return facesConfigFilesList;
}
+
+ @Override
+ public void release()
+ {
+ if (_unmarshaller != null)
+ {
+ _unmarshaller.release();
+ _unmarshaller = null;
+ }
+ }
}
\ No newline at end of file
diff --git a/impl/src/main/java/org/apache/myfaces/config/FacesConfigUnmarshaller.java b/impl/src/main/java/org/apache/myfaces/config/FacesConfigUnmarshaller.java
index 415e1b4..29f522a 100755
--- a/impl/src/main/java/org/apache/myfaces/config/FacesConfigUnmarshaller.java
+++ b/impl/src/main/java/org/apache/myfaces/config/FacesConfigUnmarshaller.java
@@ -37,4 +37,6 @@ public interface FacesConfigUnmarshaller<T>
public T getFacesConfig(InputStream in, String systemId) throws IOException, SAXException;
public FacesConfig getFacesConfig(Reader r) throws IOException, SAXException;
+
+ public void release();
}
diff --git a/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java b/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
index 61dc67e..308a310 100755
--- a/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
@@ -447,6 +447,7 @@ public class DigesterFacesConfigUnmarshallerImpl implements FacesConfigUnmarshal
}
}
+ @Override
public FacesConfigImpl getFacesConfig(InputStream in, String systemId) throws IOException, SAXException
{
InputSource is = new InputSource(in);
@@ -460,11 +461,9 @@ public class DigesterFacesConfigUnmarshallerImpl implements FacesConfigUnmarshal
return config;
}
+ @Override
public FacesConfigImpl getFacesConfig(Reader r) throws IOException, SAXException
{
- //InputSource is = new InputSource(in);
- //is.setSystemId(systemId);
-
// Fix for http://issues.apache.org/jira/browse/MYFACES-236
FacesConfigImpl config = (FacesConfigImpl) digester.parse(r);
@@ -473,4 +472,10 @@ public class DigesterFacesConfigUnmarshallerImpl implements FacesConfigUnmarshal
return config;
}
+ @Override
+ public void release()
+ {
+ digester.clear();
+ digester = null;
+ }
}
diff --git a/impl/src/main/java/org/apache/myfaces/spi/FacesConfigurationProvider.java b/impl/src/main/java/org/apache/myfaces/spi/FacesConfigurationProvider.java
index 20792d5..9039c0d 100644
--- a/impl/src/main/java/org/apache/myfaces/spi/FacesConfigurationProvider.java
+++ b/impl/src/main/java/org/apache/myfaces/spi/FacesConfigurationProvider.java
@@ -113,4 +113,6 @@ public abstract class FacesConfigurationProvider
* to spec rules.
*/
public abstract List<FacesConfig> getFaceletTaglibFacesConfig(ExternalContext ectx);
+
+ public abstract void release();
}
diff --git a/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java b/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java
index 0fa6af4..952be1d 100644
--- a/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java
+++ b/impl/src/main/java/org/apache/myfaces/webapp/AbstractFacesInitializer.java
@@ -76,6 +76,7 @@ import org.apache.myfaces.spi.ServiceProviderFinder;
import org.apache.myfaces.spi.ServiceProviderFinderFactory;
import org.apache.myfaces.view.facelets.ViewPoolProcessor;
import org.apache.myfaces.context.ReleasableExternalContext;
+import org.apache.myfaces.spi.FacesConfigurationProviderFactory;
import org.apache.myfaces.util.LangUtils;
/**
@@ -288,6 +289,9 @@ public abstract class AbstractFacesInitializer implements FacesInitializer
extension.clear();
}
}
+
+ FacesConfigurationProviderFactory.getFacesConfigurationProviderFactory(externalContext).
+ getFacesConfigurationProvider(externalContext).release();
}
/**