You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by fm...@apache.org on 2014/04/01 19:02:23 UTC
git commit: fixes OLINGO-227
Repository: olingo-odata4
Updated Branches:
refs/heads/master 9806a2737 -> b275fc40e
fixes OLINGO-227
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/b275fc40
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/b275fc40
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/b275fc40
Branch: refs/heads/master
Commit: b275fc40e95e3d8179bdbf76aa20ec4cec4c681a
Parents: 9806a27
Author: fmartelli <fa...@gmail.com>
Authored: Tue Apr 1 19:02:07 2014 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Tue Apr 1 19:02:07 2014 +0200
----------------------------------------------------------------------
fit/pom.xml | 12 -----
.../org/apache/olingo/fit/AbstractServices.java | 10 ++--
.../olingo/fit/utils/AbstractJSONUtilities.java | 22 ++++-----
.../olingo/fit/utils/AbstractUtilities.java | 11 ++---
.../olingo/fit/utils/AbstractXMLUtilities.java | 49 ++++++++++++--------
.../org/apache/olingo/fit/utils/Commons.java | 4 +-
.../olingo/fit/utils/XMLEventReaderWrapper.java | 21 +++++++--
.../org/apache/olingo/fit/utils/XmlElement.java | 20 ++++++--
.../client/core/it/v3/AsyncTestITCase.java | 1 -
pom.xml | 13 ++++++
10 files changed, 97 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/pom.xml
----------------------------------------------------------------------
diff --git a/fit/pom.xml b/fit/pom.xml
index 55587aa..cac0eca 100644
--- a/fit/pom.xml
+++ b/fit/pom.xml
@@ -96,18 +96,6 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <useDefaultDelimiters>false</useDefaultDelimiters>
- <delimiters>
- <delimiter>${*}</delimiter>
- </delimiters>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${war.maven.plugin.version}</version>
<configuration>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
index 13c6c49..3d80514 100644
--- a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
+++ b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
@@ -1017,15 +1017,17 @@ public abstract class AbstractServices {
final String basePath = Commons.getEntityBasePath(entitySetName, entityId);
- InputStream stream = FSManager.instance(getVersion()).readFile(
- basePath + Constants.get(getVersion(), ConstantKey.ENTITY), acceptType == null || acceptType == Accept.TEXT
- ? Accept.XML : acceptType);
-
final AbstractUtilities utils = getUtilities(acceptType);
final List<String> pathElements = Arrays.asList(path.split("\\/"));
+ InputStream stream;
+
if (searchForValue) {
+ stream = FSManager.instance(getVersion()).readFile(
+ basePath + Constants.get(getVersion(), ConstantKey.ENTITY),
+ acceptType == null || acceptType == Accept.TEXT ? Accept.XML : acceptType);
+
stream = utils.getPropertyValue(stream, pathElements);
} else {
String edmType = xml.getEdmTypeFromAtom(entitySetName, entityId, pathElements);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/utils/AbstractJSONUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractJSONUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractJSONUtilities.java
index 9fd9096..14fff09 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractJSONUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractJSONUtilities.java
@@ -63,7 +63,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
new TextNode(Commons.getLinksURI(version, entitySetName, entitykey, link)));
}
- return IOUtils.toInputStream(srcNode.toString());
+ return IOUtils.toInputStream(srcNode.toString(), "UTf-8");
}
@Override
@@ -126,7 +126,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
links.addLinks(title, hrefs);
} else if (Commons.linkInfo.get(version).exists(entitySetName, field.getKey())) {
- links.addInlines(field.getKey(), IOUtils.toInputStream(field.getValue().toString()));
+ links.addInlines(field.getKey(), IOUtils.toInputStream(field.getValue().toString(), "UTf-8"));
}
}
@@ -171,7 +171,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
Constants.get(version, ConstantKey.JSON_EDITLINK_NAME), new TextNode(
Constants.get(version, ConstantKey.DEFAULT_SERVICE_URL) + entitySetName + "(" + entityKey + ")"));
- return IOUtils.toInputStream(srcNode.toString());
+ return IOUtils.toInputStream(srcNode.toString(), "UTf-8");
}
@Override
@@ -303,7 +303,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
srcNode.retain(retain);
- return IOUtils.toInputStream(srcNode.toString());
+ return IOUtils.toInputStream(srcNode.toString(), "UTf-8");
}
@Override
@@ -352,7 +352,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
node.set(Constants.get(version, ConstantKey.JSON_NEXTLINK_NAME), new TextNode(next));
}
- return IOUtils.toInputStream(node.toString());
+ return IOUtils.toInputStream(node.toString(), "UTf-8");
}
@Override
@@ -375,7 +375,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
toBeChangedNode.set(linkName + Constants.get(version, ConstantKey.JSON_NEXTLINK_SUFFIX), next);
}
- return IOUtils.toInputStream(toBeChangedNode.toString());
+ return IOUtils.toInputStream(toBeChangedNode.toString(), "UTf-8");
}
@Override
@@ -388,7 +388,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
final Iterator<Map.Entry<String, JsonNode>> fields = srcObject.fields();
while (fields.hasNext()) {
final Map.Entry<String, JsonNode> field = fields.next();
- res.put(field.getKey(), IOUtils.toInputStream(field.getValue().toString()));
+ res.put(field.getKey(), IOUtils.toInputStream(field.getValue().toString(), "UTf-8"));
}
return res;
@@ -406,7 +406,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
toBeChangedObject.set(property.getKey(), propertyNode);
}
- return IOUtils.toInputStream(toBeChangedObject.toString());
+ return IOUtils.toInputStream(toBeChangedObject.toString(), "UTf-8");
}
@Override
@@ -452,7 +452,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
IOUtils.closeQuietly(content);
srcNode.set(Constants.get(version, ConstantKey.JSON_EDITLINK_NAME), new TextNode(href));
- return IOUtils.toInputStream(srcNode.toString());
+ return IOUtils.toInputStream(srcNode.toString(), "UTf-8");
}
@Override
@@ -481,7 +481,7 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
((ObjectNode) node).set(path.get(path.size() - 1), replacementNode);
- return IOUtils.toInputStream(srcNode.toString());
+ return IOUtils.toInputStream(srcNode.toString(), "UTf-8");
}
@Override
@@ -500,6 +500,6 @@ public abstract class AbstractJSONUtilities extends AbstractUtilities {
((ObjectNode) node).set(path.get(path.size() - 1), null);
- return IOUtils.toInputStream(srcNode.toString());
+ return IOUtils.toInputStream(srcNode.toString(), "UTf-8");
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
index b4d71b5..8df97e3 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
@@ -387,18 +387,14 @@ public abstract class AbstractUtilities {
builder.header("ETag", etag);
}
- if (accept != null) {
- builder.header("Content-Type", accept.toString(version));
- } else {
- builder.header("Content-Type", "*/*");
- }
-
if (status != null) {
builder.status(status);
}
int contentLength = 0;
+ String contentTypeEncoding = StringUtils.EMPTY;
+
if (entity != null) {
try {
final InputStream toBeStreamedBack;
@@ -415,12 +411,15 @@ public abstract class AbstractUtilities {
contentLength = bos.size();
builder.entity(new ByteArrayInputStream(bos.toByteArray()));
+
+ contentTypeEncoding = ";odata.streaming=true;charset=utf-8";
} catch (IOException ioe) {
LOG.error("Error streaming response entity back", ioe);
}
}
builder.header("Content-Length", contentLength);
+ builder.header("Content-Type", (accept == null ? "*/*" : accept.toString(version)) + contentTypeEncoding);
return builder.build();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/utils/AbstractXMLUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractXMLUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractXMLUtilities.java
index e811388..88349a9 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractXMLUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractXMLUtilities.java
@@ -24,7 +24,7 @@ import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
-import java.io.StringWriter;
+import java.nio.charset.Charset;
import java.util.AbstractMap;
import java.util.AbstractMap.SimpleEntry;
import java.util.ArrayList;
@@ -75,7 +75,7 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
ifactory = XMLInputFactory.newInstance();
}
ifactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, false);
- return ifactory.createXMLEventReader(is);
+ return ifactory.createXMLEventReader(is, "utf-8");
}
protected static XMLEventWriter getEventWriter(final OutputStream os) throws XMLStreamException {
@@ -83,7 +83,7 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
ofactory = XMLOutputFactory.newInstance();
}
- return ofactory.createXMLEventWriter(os);
+ return ofactory.createXMLEventWriter(os, "utf-8");
}
private void writeEvent(final XMLEvent event, final XMLEventWriter writer) {
@@ -369,7 +369,9 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
final XmlElement res = new XmlElement();
res.setStart(start);
- StringWriter content = new StringWriter();
+ final Charset encoding = Charset.forName("UTF-8");
+ final ByteArrayOutputStream content = new ByteArrayOutputStream();
+ final OutputStreamWriter writer = new OutputStreamWriter(content, encoding);
int depth = 1;
@@ -385,14 +387,14 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
if (depth == 0) {
res.setEnd(event.asEndElement());
} else {
- event.writeAsEncodedUnicode(content);
+ event.writeAsEncodedUnicode(writer);
}
}
- content.flush();
- content.close();
+ writer.flush();
+ writer.close();
- res.setContent(new ByteArrayInputStream(content.toString().getBytes()));
+ res.setContent(new ByteArrayInputStream(content.toByteArray()));
return res;
}
@@ -851,24 +853,28 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
throw new NotFoundException();
}
+ final Charset encoding = Charset.forName("UTF-8");
+
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ final OutputStreamWriter writer = new OutputStreamWriter(bos, encoding);
+
+ writer.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>".toCharArray());
if (forceFeed || links.size() > 1) {
// build a feed
- bos.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>".getBytes());
- bos.write(("<feed xml:base=\"" + Constants.get(version, ConstantKey.DEFAULT_SERVICE_URL) + "\" "
+ writer.write(("<feed xml:base=\"" + Constants.get(version, ConstantKey.DEFAULT_SERVICE_URL) + "\" "
+ "xmlns=\"http://www.w3.org/2005/Atom\" "
+ "xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" "
+ "xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">")
- .getBytes());
+ .toCharArray());
- bos.write(("<id>" + Constants.get(version, ConstantKey.DEFAULT_SERVICE_URL) + "entityset(entityid)/" + linkName
- + "</id>").getBytes());
+ writer.write(("<id>" + Constants.get(version, ConstantKey.DEFAULT_SERVICE_URL) + "entityset(entityid)/" + linkName
+ + "</id>").toCharArray());
- bos.write(("<title type=\"text\">" + linkName + "</title>").getBytes());
- bos.write("<updated>2014-03-03T13:40:49Z</updated>".getBytes());
- bos.write(("<link rel=\"self\" title=\"" + linkName + "\" href=\"" + linkName + "\" />").getBytes());
+ writer.write(("<title type=\"text\">" + linkName + "</title>").toCharArray());
+ writer.write("<updated>2014-03-03T13:40:49Z</updated>".toCharArray());
+ writer.write(("<link rel=\"self\" title=\"" + linkName + "\" href=\"" + linkName + "\" />").toCharArray());
}
for (String link : links) {
@@ -882,7 +888,7 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
Collections.<String>singletonList("entry"),
0, 1, 1).getValue();
- IOUtils.copy(entry.toStream(), bos);
+ IOUtils.copy(entry.toStream(), writer, encoding);
} catch (Exception e) {
// log and ignore link
LOG.warn("Error parsing uri {}", link, e);
@@ -892,12 +898,15 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
if (forceFeed || links.size() > 1) {
if (StringUtils.isNotBlank(next)) {
- bos.write(String.format("<link rel=\"next\" href=\"%s\" />", next).getBytes());
+ writer.write(String.format("<link rel=\"next\" href=\"%s\" />", next).toCharArray());
}
- bos.write("</feed>".getBytes());
+ writer.write("</feed>".toCharArray());
}
+ writer.flush();
+ writer.close();
+
return new ByteArrayInputStream(bos.toByteArray());
}
@@ -1227,7 +1236,7 @@ public abstract class AbstractXMLUtilities extends AbstractUtilities {
final XMLEventWriter writer = getEventWriter(bos);
final XMLEventFactory eventFactory = XMLEventFactory.newInstance();
- writer.add(eventFactory.createStartDocument("UTF-8", "1.0"));
+ writer.add(eventFactory.createStartDocument("utf-8", "1.0"));
writer.add(property.getStart());
if (property.getStart().getAttributeByName(new QName(
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
index a1c658a..09a6db4 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
@@ -183,7 +183,7 @@ public abstract class Commons {
links.set("value", uris);
}
- return IOUtils.toInputStream(links.toString());
+ return IOUtils.toInputStream(links.toString(), "UTf-8");
}
public static InputStream changeFormat(final InputStream is, final Accept target) {
@@ -197,7 +197,7 @@ public abstract class Commons {
final JsonNode node =
changeFormat((ObjectNode) mapper.readTree(new ByteArrayInputStream(bos.toByteArray())), target);
- return IOUtils.toInputStream(node.toString());
+ return IOUtils.toInputStream(node.toString(), "UTF-8");
} catch (Exception e) {
LOG.error("Error changing format", e);
return new ByteArrayInputStream(bos.toByteArray());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/utils/XMLEventReaderWrapper.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/XMLEventReaderWrapper.java b/fit/src/main/java/org/apache/olingo/fit/utils/XMLEventReaderWrapper.java
index 6ba0ee9..f75f988 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/XMLEventReaderWrapper.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/XMLEventReaderWrapper.java
@@ -20,6 +20,10 @@ package org.apache.olingo.fit.utils;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CodingErrorAction;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
@@ -28,6 +32,8 @@ import org.apache.commons.io.IOUtils;
public class XMLEventReaderWrapper implements XMLEventReader {
+ private static Charset encoding = Charset.forName("UTF-8");
+
public final static String CONTENT = "CONTENT_TAG";
public final static String CONTENT_STAG = "<" + CONTENT + ">";
@@ -43,12 +49,17 @@ public class XMLEventReaderWrapper implements XMLEventReader {
factory.setProperty(XMLInputFactory.IS_VALIDATING, false);
factory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, false);
+ final CharsetDecoder decoder = encoding.newDecoder();
+ decoder.onMalformedInput(CodingErrorAction.IGNORE);
+ decoder.onUnmappableCharacter(CodingErrorAction.IGNORE);
+
+ InputStreamReader reader = new InputStreamReader(
+ new ByteArrayInputStream((XMLEventReaderWrapper.CONTENT_STAG
+ + IOUtils.toString(stream, encoding).replaceAll("^<\\?xml.*\\?>", "")
+ + XMLEventReaderWrapper.CONTENT_ETAG).getBytes(encoding)),
+ decoder);
- this.wrapped = factory.createXMLEventReader(
- new ByteArrayInputStream(
- (XMLEventReaderWrapper.CONTENT_STAG
- + IOUtils.toString(stream).replaceAll("^<\\?xml.*\\?>", "")
- + XMLEventReaderWrapper.CONTENT_ETAG).getBytes()));
+ this.wrapped = factory.createXMLEventReader(reader);
init();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/fit/src/main/java/org/apache/olingo/fit/utils/XmlElement.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/XmlElement.java b/fit/src/main/java/org/apache/olingo/fit/utils/XmlElement.java
index e3e2bc8..850c862 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/XmlElement.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/XmlElement.java
@@ -22,7 +22,9 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.EndElement;
@@ -38,6 +40,8 @@ public class XmlElement {
*/
protected static final Logger LOG = LoggerFactory.getLogger(XmlElement.class);
+ private static Charset encoding = Charset.forName("UTF-8");
+
private StartElement start;
private EndElement end;
@@ -70,20 +74,26 @@ public class XmlElement {
public void setContent(final InputStream content) throws IOException {
this.content.reset();
- IOUtils.copyLarge(content, this.content);
- content.close();
+
+ final InputStreamReader reader = new InputStreamReader(content, encoding);
+ final OutputStreamWriter writer = new OutputStreamWriter(this.content, encoding);
+ IOUtils.copyLarge(reader, writer);
+
+ writer.flush();
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(writer);
+ IOUtils.closeQuietly(content);
}
public InputStream toStream() throws Exception {
InputStream res;
try {
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
- final OutputStreamWriter osw = new OutputStreamWriter(bos);
+ final OutputStreamWriter osw = new OutputStreamWriter(bos, encoding);
getStart().writeAsEncodedUnicode(osw);
- osw.flush();
- IOUtils.copy(getContent(), bos);
+ IOUtils.copy(getContent(), osw, encoding);
getEnd().writeAsEncodedUnicode(osw);
osw.flush();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
index 04ad089..491a8e1 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
@@ -39,7 +39,6 @@ import org.apache.olingo.client.api.uri.CommonURIBuilder;
import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.domain.v3.ODataEntity;
import org.apache.olingo.commons.api.domain.v3.ODataEntitySet;
-import org.junit.Ignore;
import org.junit.Test;
public class AsyncTestITCase extends AbstractTestITCase {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b275fc40/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index debc464..3f82dd4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -331,6 +331,19 @@
</execution>
</executions>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ <useDefaultDelimiters>false</useDefaultDelimiters>
+ <delimiters>
+ <delimiter>${*}</delimiter>
+ </delimiters>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>