You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by fa...@apache.org on 2019/01/02 02:42:42 UTC
svn commit: r1850144 - in /xmlbeans/trunk: ./
src/common/org/apache/xmlbeans/impl/common/
src/saaj_api/org/apache/xmlbeans/impl/soap/
src/store/org/apache/xmlbeans/impl/store/
src/typeimpl/org/apache/xmlbeans/impl/schema/
src/xmlcomp/org/apache/xmlbean...
Author: fanningpj
Date: Wed Jan 2 02:42:42 2019
New Revision: 1850144
URL: http://svn.apache.org/viewvc?rev=1850144&view=rev
Log:
XMLBEANS-526 try to make resource loading more robust
Added:
xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/DefaultClassLoaderResourceLoader.java (with props)
Modified:
xmlbeans/trunk/build.xml
xmlbeans/trunk/src/saaj_api/org/apache/xmlbeans/impl/soap/FactoryFinder.java
xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Path.java
xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Query.java
xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
xmlbeans/trunk/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java
xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java
Modified: xmlbeans/trunk/build.xml
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/build.xml?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/build.xml (original)
+++ xmlbeans/trunk/build.xml Wed Jan 2 02:42:42 2019
@@ -19,7 +19,7 @@
<property name="javac.source" value="1.6"/>
<property name="javac.target" value="1.6"/>
- <property name="version.base" value="3.0.2"/>
+ <property name="version.base" value="3.0.3"/>
<property name="version.rc" value=""/>
<!-- manifest entries -->
Added: xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/DefaultClassLoaderResourceLoader.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/DefaultClassLoaderResourceLoader.java?rev=1850144&view=auto
==============================================================================
--- xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/DefaultClassLoaderResourceLoader.java (added)
+++ xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/DefaultClassLoaderResourceLoader.java Wed Jan 2 02:42:42 2019
@@ -0,0 +1,43 @@
+/* Copyright 2019 The 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
+ *
+ * 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.
+ */
+
+package org.apache.xmlbeans.impl.common;
+
+import java.io.InputStream;
+
+import org.apache.xmlbeans.ResourceLoader;
+
+public class DefaultClassLoaderResourceLoader implements ResourceLoader
+{
+ public InputStream getResourceAsStream(String resourceName) {
+ InputStream in = null;
+ try {
+ in = getResourceAsStream(Thread.currentThread().getContextClassLoader(), resourceName);
+ } catch (SecurityException securityexception) {}
+ if (in == null) {
+ in = getResourceAsStream(DefaultClassLoaderResourceLoader.class.getClassLoader(), resourceName);
+ }
+ if (in == null) {
+ in = DefaultClassLoaderResourceLoader.class.getResourceAsStream(resourceName);
+ }
+ return in;
+ }
+
+ public void close() {}
+
+ private InputStream getResourceAsStream(ClassLoader loader, String resourceName) {
+ return loader == null ? null : loader.getResourceAsStream(resourceName);
+ }
+}
Propchange: xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/DefaultClassLoaderResourceLoader.java
------------------------------------------------------------------------------
svn:executable = *
Modified: xmlbeans/trunk/src/saaj_api/org/apache/xmlbeans/impl/soap/FactoryFinder.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/saaj_api/org/apache/xmlbeans/impl/soap/FactoryFinder.java?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/src/saaj_api/org/apache/xmlbeans/impl/soap/FactoryFinder.java (original)
+++ xmlbeans/trunk/src/saaj_api/org/apache/xmlbeans/impl/soap/FactoryFinder.java Wed Jan 2 02:42:42 2019
@@ -149,6 +149,9 @@ class FactoryFinder {
if (inputstream == null) {
inputstream = FactoryFinder.class.getResourceAsStream(factoryResource);
}
+ if (inputstream == null && FactoryFinder.class.getClassLoader() != null) {
+ inputstream = FactoryFinder.class.getClassLoader().getResourceAsStream(factoryResource);
+ }
return inputstream;
}
}
Modified: xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Path.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Path.java?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Path.java (original)
+++ xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Path.java Wed Jan 2 02:42:42 2019
@@ -24,6 +24,7 @@ import java.lang.ref.WeakReference;
import java.math.BigDecimal;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import org.apache.xmlbeans.impl.common.DefaultClassLoaderResourceLoader;
import org.apache.xmlbeans.impl.common.XPath;
import org.apache.xmlbeans.impl.common.XPath.XPathCompileException;
import org.apache.xmlbeans.impl.common.XPath.ExecutionContext;
@@ -68,7 +69,7 @@ public abstract class Path
static
{
String id = "META-INF/services/org.apache.xmlbeans.impl.store.PathDelegate.SelectPathInterface";
- InputStream in = Path.class.getResourceAsStream(id);
+ InputStream in = new DefaultClassLoaderResourceLoader().getResourceAsStream(id);
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(in));
Modified: xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Query.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Query.java?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Query.java (original)
+++ xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Query.java Wed Jan 2 02:42:42 2019
@@ -16,6 +16,7 @@
package org.apache.xmlbeans.impl.store;
import org.apache.xmlbeans.*;
+import org.apache.xmlbeans.impl.common.DefaultClassLoaderResourceLoader;
import org.apache.xmlbeans.impl.common.XPath;
import org.w3c.dom.*;
@@ -53,7 +54,7 @@ public abstract class Query
static
{
String id = "META-INF/services/org.apache.xmlbeans.impl.store.QueryDelegate.QueryInterface";
- InputStream in = Query.class.getResourceAsStream(id);
+ InputStream in = new DefaultClassLoaderResourceLoader().getResourceAsStream(id);
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(in));
Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java Wed Jan 2 02:42:42 2019
@@ -417,8 +417,14 @@ public class SchemaTypeSystemImpl extend
try
{
is = SchemaTypeSystemImpl.class.getResourceAsStream(HOLDER_TEMPLATE_CLASSFILE);
- if (is == null)
+ if (is == null) {
+ ClassLoaderResourceLoader clLoader = new ClassLoaderResourceLoader(SchemaTypeSystemImpl.class.getClassLoader());
+ is = clLoader.getResourceAsStream(HOLDER_TEMPLATE_CLASSFILE);
+ clLoader.close();
+ }
+ if (is == null) {
throw new SchemaTypeLoaderException("couldn't find resource: " + HOLDER_TEMPLATE_CLASSFILE, _name, null, SchemaTypeLoaderException.IO_EXCEPTION);
+ }
in = new DataInputStream(is);
os = _filer.createBinaryFile(indexClassName.replace('.', '/') + ".class");
Modified: xmlbeans/trunk/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java (original)
+++ xmlbeans/trunk/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java Wed Jan 2 02:42:42 2019
@@ -16,6 +16,7 @@
package org.apache.xmlbeans.impl.tool;
import org.apache.xmlbeans.XmlBeans;
+import org.apache.xmlbeans.impl.common.DefaultClassLoaderResourceLoader;
import org.apache.xmlbeans.impl.common.IOUtil;
import java.io.File;
@@ -76,7 +77,7 @@ public class CommandLine
{
try
{
- IOUtil.copyCompletely(CommandLine.class.getResourceAsStream("LICENSE.txt"), System.out);
+ IOUtil.copyCompletely(new DefaultClassLoaderResourceLoader().getResourceAsStream("LICENSE.txt"), System.out);
}
catch (Exception e)
{
Modified: xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java?rev=1850144&r1=1850143&r2=1850144&view=diff
==============================================================================
--- xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java (original)
+++ xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java Wed Jan 2 02:42:42 2019
@@ -35,7 +35,7 @@ import org.w3c.dom.Node;
public final class XmlBeans
{
private static String XMLBEANS_TITLE = "org.apache.xmlbeans";
- private static String XMLBEANS_VERSION = "3.0.2";
+ private static String XMLBEANS_VERSION = "3.0.3";
private static String XMLBEANS_VENDOR = "Apache Software Foundation";
static
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org