Merge pull request #100 from coheigea/parser-doctypes
Disallow DocTypes in the Blueprint Parser
diff --git a/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java b/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java
index 840d3c6..1af990a 100644
--- a/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java
+++ b/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java
@@ -18,6 +18,7 @@
*/
package org.apache.aries.blueprint.compendium.cm;
+import java.util.Arrays;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Properties;
@@ -40,7 +41,7 @@
private static final Logger LOGGER = LoggerFactory.getLogger(CmPropertyPlaceholder.class);
private ExtendedBlueprintContainer blueprintContainer;
- private ConfigurationAdmin configAdmin;
+ private ConfigurationAdmin configAdmin;
private String persistentId;
private String updateStrategy;
private ManagedObjectManager managedObjectManager;
@@ -154,10 +155,12 @@
if (v2 != null) {
return false;
}
- } else {
- if (!v1.equals(v2)) {
+ } else if (v1 instanceof Object[] && v2 instanceof Object[]) {
+ if (!Arrays.deepEquals((Object[]) v1, (Object[]) v2)) {
return false;
}
+ } else if (!v1.equals(v2)) {
+ return false;
}
}
return true;
diff --git a/esa-ant-task/src/main/java/org/apache/aries/ant/taskdefs/BundleSelector.java b/esa-ant-task/src/main/java/org/apache/aries/ant/taskdefs/BundleSelector.java
index 31793f8..75bdbe3 100755
--- a/esa-ant-task/src/main/java/org/apache/aries/ant/taskdefs/BundleSelector.java
+++ b/esa-ant-task/src/main/java/org/apache/aries/ant/taskdefs/BundleSelector.java
@@ -60,7 +60,7 @@
}
catch (Exception e) {
// nothing to do
- isValid = isValid && false;
+ isValid = false;
}
finally {
try {
diff --git a/jndi/jndi-core/src/main/java/org/apache/aries/jndi/ContextHelper.java b/jndi/jndi-core/src/main/java/org/apache/aries/jndi/ContextHelper.java
index e0b5a4d..4a69607 100644
--- a/jndi/jndi-core/src/main/java/org/apache/aries/jndi/ContextHelper.java
+++ b/jndi/jndi-core/src/main/java/org/apache/aries/jndi/ContextHelper.java
@@ -181,23 +181,24 @@
}
private static Optional<ContextProvider> getInitialContextUsingBuilder(BundleContext context,
- Hashtable<?, ?> environment) {
- for (ServiceReference<InitialContextFactoryBuilder> ref : Activator.getInitialContextFactoryBuilderServices()) {
- InitialContextFactoryBuilder builder = Activator.getService(context, ref);
- try {
- InitialContextFactory factory = builder.createInitialContextFactory(environment);
- if (factory != null) {
- return Optional.of(new SingleContextProvider(context, ref, factory.getInitialContext(environment)));
- }
- } catch (NamingException ne) {
- // ignore this, if the builder fails we want to move onto the next one
- logger.log(Level.FINE, "Exception caught", ne);
- } catch (NullPointerException npe) {
- logger.log(Level.SEVERE, "NPE caught in ContextHelper.getInitialContextUsingBuilder. context=" + context + " ref=" + ref);
- throw npe;
- }
- }
- return Optional.empty();
+ Hashtable<?, ?> environment) throws NamingException {
+
+ for (ServiceReference<InitialContextFactoryBuilder> ref : Activator.getInitialContextFactoryBuilderServices()) {
+ InitialContextFactoryBuilder builder = Activator.getService(context, ref);
+ InitialContextFactory factory=null;
+ try {
+ factory = builder.createInitialContextFactory(environment);
+ } catch (NamingException ne) {
+ // ignore this, if the builder fails we want to move onto the next one
+ logger.log(Level.FINE, "Exception caught", ne);
+ } catch (NullPointerException npe) {
+ logger.log(Level.SEVERE, "NPE caught in ContextHelper.getInitialContextUsingBuilder. context=" + context + " ref=" + ref);
+ throw npe;
+ }
+ if (factory != null) {
+ return Optional.of(new SingleContextProvider(context, ref, factory.getInitialContext(environment)));
+ }
+ }
+ return Optional.empty();
}
-
}
diff --git a/proxy/proxy-impl/pom.xml b/proxy/proxy-impl/pom.xml
index 80161d7..545d535 100644
--- a/proxy/proxy-impl/pom.xml
+++ b/proxy/proxy-impl/pom.xml
@@ -77,13 +77,13 @@
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<optional>true</optional>
- <version>7.1</version>
+ <version>7.2</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<optional>true</optional>
- <version>7.1</version>
+ <version>7.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
diff --git a/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java b/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
index e91cbf4..0babe4e 100644
--- a/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
+++ b/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
@@ -36,49 +36,53 @@
*/
public static int getWeavingJavaVersion() {
if (weavingJavaVersion == -1 ) {
- //In order to avoid an inconsistent stack error the version of the woven byte code needs to match
- //the level of byte codes in the original class
- switch(JAVA_CLASS_VERSION) {
- case Opcodes.V13:
- LOGGER.debug("Weaving to Java 13");
- weavingJavaVersion = Opcodes.V13;
- break;
- case Opcodes.V12:
- LOGGER.debug("Weaving to Java 12");
- weavingJavaVersion = Opcodes.V12;
- break;
- case Opcodes.V11:
- LOGGER.debug("Weaving to Java 11");
- weavingJavaVersion = Opcodes.V11;
- break;
- case Opcodes.V10:
- LOGGER.debug("Weaving to Java 10");
- weavingJavaVersion = Opcodes.V10;
- break;
- case Opcodes.V9:
- LOGGER.debug("Weaving to Java 9");
- weavingJavaVersion = Opcodes.V9;
- break;
- case Opcodes.V1_8:
- LOGGER.debug("Weaving to Java 8");
- weavingJavaVersion = Opcodes.V1_8;
- break;
- case Opcodes.V1_7:
- LOGGER.debug("Weaving to Java 7");
- weavingJavaVersion = Opcodes.V1_7;
- break;
- case Opcodes.V1_6:
- LOGGER.debug("Weaving to Java 6");
- weavingJavaVersion = Opcodes.V1_6;
- break;
- case Opcodes.V1_5:
- LOGGER.debug("Weaving to Java 5");
- weavingJavaVersion = Opcodes.V1_5;
- break;
- default:
- //aries should work with Java 5 or above - also will highlight when a higher level (and unsupported) level of Java is released
- throw new IllegalArgumentException("Invalid Java version " + JAVA_CLASS_VERSION);
- }
+ //In order to avoid an inconsistent stack error the version of the woven byte code needs to match
+ //the level of byte codes in the original class
+ switch(JAVA_CLASS_VERSION) {
+ case Opcodes.V14:
+ LOGGER.debug("Weaving to Java 14");
+ weavingJavaVersion = Opcodes.V14;
+ break;
+ case Opcodes.V13:
+ LOGGER.debug("Weaving to Java 13");
+ weavingJavaVersion = Opcodes.V13;
+ break;
+ case Opcodes.V12:
+ LOGGER.debug("Weaving to Java 12");
+ weavingJavaVersion = Opcodes.V12;
+ break;
+ case Opcodes.V11:
+ LOGGER.debug("Weaving to Java 11");
+ weavingJavaVersion = Opcodes.V11;
+ break;
+ case Opcodes.V10:
+ LOGGER.debug("Weaving to Java 10");
+ weavingJavaVersion = Opcodes.V10;
+ break;
+ case Opcodes.V9:
+ LOGGER.debug("Weaving to Java 9");
+ weavingJavaVersion = Opcodes.V9;
+ break;
+ case Opcodes.V1_8:
+ LOGGER.debug("Weaving to Java 8");
+ weavingJavaVersion = Opcodes.V1_8;
+ break;
+ case Opcodes.V1_7:
+ LOGGER.debug("Weaving to Java 7");
+ weavingJavaVersion = Opcodes.V1_7;
+ break;
+ case Opcodes.V1_6:
+ LOGGER.debug("Weaving to Java 6");
+ weavingJavaVersion = Opcodes.V1_6;
+ break;
+ case Opcodes.V1_5:
+ LOGGER.debug("Weaving to Java 5");
+ weavingJavaVersion = Opcodes.V1_5;
+ break;
+ default:
+ //aries should work with Java 5 or above - also will highlight when a higher level (and unsupported) level of Java is released
+ throw new IllegalArgumentException("Invalid Java version " + JAVA_CLASS_VERSION);
+ }
}
return weavingJavaVersion;
}
diff --git a/proxy/proxy-itests/pom.xml b/proxy/proxy-itests/pom.xml
index 39f22b9..81781b7 100644
--- a/proxy/proxy-itests/pom.xml
+++ b/proxy/proxy-itests/pom.xml
@@ -69,7 +69,7 @@
<groupId>org.apache.aries.proxy</groupId>
<artifactId>org.apache.aries.proxy</artifactId>
<scope>test</scope>
- <version>1.1.5-SNAPSHOT</version>
+ <version>1.1.7-SNAPSHOT</version>
</dependency>
<!-- pax exam -->
diff --git a/samples/ariestrader/modules/ariestrader-api/src/main/java/org/apache/aries/samples/ariestrader/api/persistence/MarketSummaryDataBean.java b/samples/ariestrader/modules/ariestrader-api/src/main/java/org/apache/aries/samples/ariestrader/api/persistence/MarketSummaryDataBean.java
index 13df51e..a5fff45 100644
--- a/samples/ariestrader/modules/ariestrader-api/src/main/java/org/apache/aries/samples/ariestrader/api/persistence/MarketSummaryDataBean.java
+++ b/samples/ariestrader/modules/ariestrader-api/src/main/java/org/apache/aries/samples/ariestrader/api/persistence/MarketSummaryDataBean.java
@@ -62,30 +62,30 @@
public String toString()
{
- String ret = "\n\tMarket Summary at: " + getSummaryDate()
- + "\n\t\t TSIA:" + getTSIA()
- + "\n\t\t openTSIA:" + getOpenTSIA()
- + "\n\t\t gain:" + getGainPercent()
- + "\n\t\t volume:" + getVolume()
- ;
+ StringBuilder ret = new StringBuilder();
+ ret.append("\n\tMarket Summary at: ").append(getSummaryDate())
+ .append("\n\t\t TSIA:").append(getTSIA())
+ .append("\n\t\t openTSIA:").append(getOpenTSIA())
+ .append("\n\t\t gain:").append(getGainPercent())
+ .append("\n\t\t volume:").append(getVolume());
if ( (getTopGainers()==null) || (getTopLosers()==null) )
- return ret;
- ret += "\n\t\t Current Top Gainers:";
+ return ret.toString();
+ ret.append("\n\t\t Current Top Gainers:");
Iterator it = getTopGainers().iterator();
while ( it.hasNext() )
{
QuoteDataBean quoteData = (QuoteDataBean) it.next();
- ret += ( "\n\t\t\t" + quoteData.toString() );
+ ret.append("\n\t\t\t").append(quoteData.toString());
}
- ret += "\n\t\t Current Top Losers:";
+ ret.append("\n\t\t Current Top Losers:");
it = getTopLosers().iterator();
while ( it.hasNext() )
{
QuoteDataBean quoteData = (QuoteDataBean) it.next();
- ret += ( "\n\t\t\t" + quoteData.toString() );
+ ret.append("\n\t\t\t").append(quoteData.toString());
}
- return ret;
+ return ret.toString();
}
public String toHTML()
{
diff --git a/transaction/transaction-blueprint/src/main/resources/org/apache/aries/transaction/parsing/transactionv20.xsd b/transaction/transaction-blueprint/src/main/resources/org/apache/aries/transaction/parsing/transactionv20.xsd
index 5f0e000..cc11435 100644
--- a/transaction/transaction-blueprint/src/main/resources/org/apache/aries/transaction/parsing/transactionv20.xsd
+++ b/transaction/transaction-blueprint/src/main/resources/org/apache/aries/transaction/parsing/transactionv20.xsd
@@ -26,7 +26,7 @@
<xsd:annotation>
<xsd:documentation>
<![CDATA[
- The <enable-annotations> element is used to enable annotation scanning for @Transactional annotations
+ The <enable> element is used to enable annotation scanning for @Transactional annotations
]]>
</xsd:documentation>
</xsd:annotation>