You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/10/07 23:35:25 UTC
svn commit: r1882308 [2/2] - in
/xmlbeans/trunk/src/main/java/org/apache/xmlbeans: ./ impl/common/
impl/schema/ impl/soap/ impl/store/ impl/tool/
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java Wed Oct 7 23:35:25 2020
@@ -15,32 +15,19 @@
package org.apache.xmlbeans.impl.schema;
-import java.util.*;
-import java.util.List;
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.regex.RegularExpression;
-import org.apache.xmlbeans.impl.regex.ParseException;
+import org.apache.xmlbeans.*;
import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlByte;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlErrorCodes;
-import org.apache.xmlbeans.XmlInteger;
-import org.apache.xmlbeans.XmlNonNegativeInteger;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlPositiveInteger;
-import org.apache.xmlbeans.XmlShort;
-import org.apache.xmlbeans.XmlUnsignedByte;
+import org.apache.xmlbeans.impl.regex.ParseException;
+import org.apache.xmlbeans.impl.regex.RegularExpression;
+import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
import org.apache.xmlbeans.impl.xb.xsdschema.*;
import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument.Schema;
-public class StscSimpleTypeResolver
-{
+import javax.xml.namespace.QName;
+import java.math.BigInteger;
+import java.util.*;
+
+public class StscSimpleTypeResolver {
/**************************************************************************
* SIMPLE TYPE RESOLUTION HERE
@@ -55,32 +42,28 @@ public class StscSimpleTypeResolver
* in the end to have their "fundamental facets" resolved.
*/
- public static void resolveSimpleType(SchemaTypeImpl sImpl)
- {
- SimpleType parseSt = (SimpleType)sImpl.getParseObject();
-
+ public static void resolveSimpleType(SchemaTypeImpl sImpl) {
+ SimpleType parseSt = (SimpleType) sImpl.getParseObject();
+
assert sImpl.isSimpleType();
Schema schema = StscComplexTypeResolver.getSchema(parseSt);
// Verify: have list, union, or restriction, but not more than one
int count =
- (parseSt.isSetList() ? 1 : 0) +
- (parseSt.isSetUnion() ? 1 : 0) +
- (parseSt.isSetRestriction() ? 1 : 0);
- if (count > 1)
- {
+ (parseSt.isSetList() ? 1 : 0) +
+ (parseSt.isSetUnion() ? 1 : 0) +
+ (parseSt.isSetRestriction() ? 1 : 0);
+ if (count > 1) {
StscState.get().error(
- "A simple type must define either a list, a union, or a restriction: more than one found.",
- XmlErrorCodes.MALFORMED_SIMPLE_TYPE_DEFN,
- parseSt);
+ "A simple type must define either a list, a union, or a restriction: more than one found.",
+ XmlErrorCodes.MALFORMED_SIMPLE_TYPE_DEFN,
+ parseSt);
// recovery: treat it as the first of list, union, restr
- }
- else if (count < 1)
- {
+ } else if (count < 1) {
StscState.get().error("A simple type must define either a list, a union, or a restriction: none was found.",
- XmlErrorCodes.MALFORMED_SIMPLE_TYPE_DEFN,
- parseSt);
+ XmlErrorCodes.MALFORMED_SIMPLE_TYPE_DEFN,
+ parseSt);
// recovery: treat it as restriction of anySimpleType
resolveErrorSimpleType(sImpl);
return;
@@ -92,72 +75,63 @@ public class StscSimpleTypeResolver
boolean finalUnion = false;
Object finalValue = null;
- if (parseSt.isSetFinal())
- {
+ if (parseSt.isSetFinal()) {
finalValue = parseSt.getFinal();
}
// Inspect the finalDefault attribute on the schema
- else if (schema != null && schema.isSetFinalDefault())
- {
+ else if (schema != null && schema.isSetFinalDefault()) {
finalValue = schema.getFinalDefault();
}
- if (finalValue != null)
- {
- if (finalValue instanceof String)
- {
- if ("#all".equals((String)finalValue))
- {
+ if (finalValue != null) {
+ if (finalValue instanceof String) {
+ if ("#all".equals(finalValue)) {
finalRest = finalList = finalUnion = true;
}
- }
- else if (finalValue instanceof List)
- {
- List lFinalValue = (List) finalValue;
- if (lFinalValue.contains("restriction"))
+ } else if (finalValue instanceof List) {
+ @SuppressWarnings("unchecked")
+ List<String> lFinalValue = (List<String>) finalValue;
+ if (lFinalValue.contains("restriction")) {
finalRest = true;
+ }
- if (lFinalValue.contains("list"))
+ if (lFinalValue.contains("list")) {
finalList = true;
+ }
- if (lFinalValue.contains("union"))
- finalUnion= true;
+ if (lFinalValue.contains("union")) {
+ finalUnion = true;
+ }
}
}
sImpl.setSimpleFinal(finalRest, finalList, finalUnion);
- List anonTypes = new ArrayList();
+ List<SchemaType> anonTypes = new ArrayList<>();
- if (parseSt.getList() != null)
+ if (parseSt.getList() != null) {
resolveListType(sImpl, parseSt.getList(), anonTypes);
- else if (parseSt.getUnion() != null)
+ } else if (parseSt.getUnion() != null) {
resolveUnionType(sImpl, parseSt.getUnion(), anonTypes);
- else if (parseSt.getRestriction() != null)
+ } else if (parseSt.getRestriction() != null) {
resolveSimpleRestrictionType(sImpl, parseSt.getRestriction(), anonTypes);
+ }
sImpl.setAnonymousTypeRefs(makeRefArray(anonTypes));
}
- private static SchemaType.Ref[] makeRefArray(Collection typeList)
- {
- SchemaType.Ref[] result = new SchemaType.Ref[typeList.size()];
- int j = 0;
- for (Iterator i = typeList.iterator(); i.hasNext(); j++)
- result[j] = ((SchemaType)i.next()).getRef();
- return result;
+ private static SchemaType.Ref[] makeRefArray(List<? extends SchemaType> typeList) {
+ return typeList.stream().map(SchemaType::getRef).toArray(SchemaType.Ref[]::new);
}
- static void resolveErrorSimpleType(SchemaTypeImpl sImpl)
- {
+ static void resolveErrorSimpleType(SchemaTypeImpl sImpl) {
sImpl.setSimpleTypeVariety(SchemaType.ATOMIC);
sImpl.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getBaseDepth() + 1);
sImpl.setPrimitiveTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
}
- static void resolveListType(SchemaTypeImpl sImpl, org.apache.xmlbeans.impl.xb.xsdschema.ListDocument.List parseList, List anonTypes)
- {
+ static void resolveListType(SchemaTypeImpl sImpl, org.apache.xmlbeans.impl.xb.xsdschema.ListDocument.List parseList, List<SchemaType> anonTypes) {
StscState state = StscState.get();
sImpl.setSimpleTypeVariety(SchemaType.LIST);
@@ -165,18 +139,16 @@ public class StscSimpleTypeResolver
sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getBaseDepth() + 1);
sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
- if (sImpl.isRedefinition())
- {
+ if (sImpl.isRedefinition()) {
state.error(XmlErrorCodes.SCHEMA_REDEFINE$EXTEND_OR_RESTRICT,
- new Object[] { "list" }, parseList);
+ new Object[]{"list"}, parseList);
// recovery: oh well.
}
-
+
QName itemName = parseList.getItemType();
LocalSimpleType parseInner = parseList.getSimpleType();
- if (itemName != null && parseInner != null)
- {
+ if (itemName != null && parseInner != null) {
state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$LIST_HAS_BOTH_ITEM_OR_SIMPLE_TYPE, null, parseList);
// recovery: ignore the inner simple type.
parseInner = null;
@@ -185,26 +157,20 @@ public class StscSimpleTypeResolver
SchemaTypeImpl itemImpl;
XmlObject errorLoc;
- if (itemName != null)
- {
+ if (itemName != null) {
itemImpl = state.findGlobalType(itemName, sImpl.getChameleonNamespace(), sImpl.getTargetNamespace());
errorLoc = parseList.xgetItemType();
- if (itemImpl == null)
- {
+ if (itemImpl == null) {
state.notFoundError(itemName, SchemaType.TYPE, parseList.xgetItemType(), true);
// recovery: treat it as a list of anySimpleType
itemImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
}
- }
- else if (parseInner != null)
- {
+ } else if (parseInner != null) {
itemImpl = StscTranslator.translateAnonymousSimpleType(parseInner,
sImpl.getTargetNamespace(), sImpl.getChameleonNamespace() != null,
sImpl.getElemFormDefault(), sImpl.getAttFormDefault(), anonTypes, sImpl);
errorLoc = parseInner;
- }
- else
- {
+ } else {
state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$LIST_HAS_NEITHER_ITEM_OR_SIMPLE_TYPE, null, parseList);
// recovery: treat it as an extension of anySimpleType
resolveErrorSimpleType(sImpl);
@@ -212,29 +178,27 @@ public class StscSimpleTypeResolver
}
// Verify final restrictions
- if (itemImpl.finalList())
+ if (itemImpl.finalList()) {
state.error(XmlErrorCodes.SIMPLE_TYPE_PROPERTIES$LIST_FINAL, null, parseList);
+ }
// Recursion...
StscResolver.resolveType(itemImpl);
- if (!itemImpl.isSimpleType())
- {
+ if (!itemImpl.isSimpleType()) {
state.error(XmlErrorCodes.SIMPLE_TYPE_RESTRICTION$LIST_ITEM_NOT_SIMPLE, null, errorLoc);
// recovery: treat the item type as anySimpleType
sImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
}
- switch (itemImpl.getSimpleVariety())
- {
+ switch (itemImpl.getSimpleVariety()) {
case SchemaType.LIST:
state.error(XmlErrorCodes.SIMPLE_TYPE_RESTRICTION$LIST_ITEM_IS_LIST, null, errorLoc);
// recovery: treat the list as an anySimpleType
resolveErrorSimpleType(sImpl);
return;
case SchemaType.UNION:
- if (itemImpl.isUnionOfLists())
- {
+ if (itemImpl.isUnionOfLists()) {
state.error(XmlErrorCodes.SIMPLE_TYPE_RESTRICTION$LIST_ITEM_IS_UNION_OF_LIST, null, errorLoc);
resolveErrorSimpleType(sImpl);
return;
@@ -243,68 +207,63 @@ public class StscSimpleTypeResolver
case SchemaType.ATOMIC:
sImpl.setListItemTypeRef(itemImpl.getRef());
// Check that the item type is not a plan NOTATION
- if (sImpl.getBuiltinTypeCode() == SchemaType.BTC_NOTATION)
+ if (sImpl.getBuiltinTypeCode() == SchemaType.BTC_NOTATION) {
state.recover(XmlErrorCodes.DATATYPE_ENUM_NOTATION, null, errorLoc);
+ }
break;
default:
- assert(false);
+ assert (false);
sImpl.setListItemTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
}
// now deal with facets
sImpl.setBasicFacets(StscState.FACETS_LIST, StscState.FIXED_FACETS_LIST);
- sImpl.setWhiteSpaceRule( SchemaType.WS_COLLAPSE );
+ sImpl.setWhiteSpaceRule(SchemaType.WS_COLLAPSE);
// now compute our intrinsic properties
resolveFundamentalFacets(sImpl);
}
-
-
- static void resolveUnionType(SchemaTypeImpl sImpl, UnionDocument.Union parseUnion, List anonTypes)
- {
+ static void resolveUnionType(SchemaTypeImpl sImpl, UnionDocument.Union parseUnion, List<SchemaType> anonTypes) {
sImpl.setSimpleTypeVariety(SchemaType.UNION);
sImpl.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getBaseDepth() + 1);
sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
StscState state = StscState.get();
-
- if (sImpl.isRedefinition())
- {
+
+ if (sImpl.isRedefinition()) {
state.error(XmlErrorCodes.SCHEMA_REDEFINE$EXTEND_OR_RESTRICT,
- new Object[] { "union" }, parseUnion);
+ new Object[]{"union"}, parseUnion);
// recovery: oh well.
}
-
- List memberTypes = parseUnion.getMemberTypes();
+
+ @SuppressWarnings("unchecked")
+ List<QName> memberTypes = (List<QName>) parseUnion.getMemberTypes();
SimpleType[] simpleTypes = parseUnion.getSimpleTypeArray();
- List memberImplList = new ArrayList();
-
- if (simpleTypes.length == 0 && (memberTypes == null || memberTypes.size() == 0))
- {
+ List<SchemaTypeImpl> memberImplList = new ArrayList<>();
+
+ if (simpleTypes.length == 0 && (memberTypes == null || memberTypes.size() == 0)) {
state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$UNION_HAS_MEMBER_TYPES_OR_SIMPLE_TYPES, null, parseUnion);
// recovery: oh well, zero member types is fine.
}
- if (memberTypes != null)
- {
- for (Iterator mNames = memberTypes.iterator(); mNames.hasNext(); )
- {
- QName mName = (QName)mNames.next();
+ if (memberTypes != null) {
+ for (QName mName : memberTypes) {
SchemaTypeImpl memberImpl = state.findGlobalType(mName, sImpl.getChameleonNamespace(), sImpl.getTargetNamespace());
if (memberImpl == null)
- // recovery: skip member
+ // recovery: skip member
+ {
state.notFoundError(mName, SchemaType.TYPE, parseUnion.xgetMemberTypes(), true);
- else
+ } else {
memberImplList.add(memberImpl);
+ }
}
}
- for (int i = 0; i < simpleTypes.length; i++)
- {
+ for (int i = 0; i < simpleTypes.length; i++) {
// BUGBUG: see if non<simpleType> children can leak through
SchemaTypeImpl mImpl = StscTranslator.translateAnonymousSimpleType(simpleTypes[i],
sImpl.getTargetNamespace(), sImpl.getChameleonNamespace() != null,
@@ -314,55 +273,44 @@ public class StscSimpleTypeResolver
}
// Recurse and resolve all member types
- for (Iterator mImpls = memberImplList.iterator(); mImpls.hasNext(); )
- {
- SchemaTypeImpl mImpl = (SchemaTypeImpl)mImpls.next();
- if (!StscResolver.resolveType(mImpl))
- {
+ for (Iterator<SchemaTypeImpl> mImpls = memberImplList.iterator(); mImpls.hasNext(); ) {
+ SchemaTypeImpl mImpl = mImpls.next();
+ if (!StscResolver.resolveType(mImpl)) {
// KHK: review
String memberName = "";
XmlObject errorLoc;
- if (mImpl.getOuterType().equals(sImpl))
- {
+ if (Objects.equals(mImpl.getOuterType(), sImpl)) {
errorLoc = mImpl.getParseObject();
- }
- else
- {
+ } else {
memberName = QNameHelper.pretty(mImpl.getName()) + " ";
errorLoc = parseUnion.xgetMemberTypes();
}
- state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$CYCLIC_UNION, new Object[] { memberName }, errorLoc);
+ state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$CYCLIC_UNION, new Object[]{memberName}, errorLoc);
// recovery: ignore the errant union member
mImpls.remove();
- continue;
}
}
// Now verify members
boolean isUnionOfLists = false;
- for (Iterator mImpls = memberImplList.iterator(); mImpls.hasNext(); )
- {
- SchemaTypeImpl mImpl = (SchemaTypeImpl)mImpls.next();
+ for (Iterator<SchemaTypeImpl> mImpls = memberImplList.iterator(); mImpls.hasNext(); ) {
+ SchemaTypeImpl mImpl = mImpls.next();
- if (!mImpl.isSimpleType())
- {
+ if (!mImpl.isSimpleType()) {
// KHK: review
String memberName = "";
XmlObject errorLoc;
- if (mImpl.getOuterType() != null && mImpl.getOuterType().equals(sImpl))
- {
+ if (mImpl.getOuterType() != null && mImpl.getOuterType().equals(sImpl)) {
errorLoc = mImpl.getParseObject();
- }
- else
- {
+ } else {
memberName = QNameHelper.pretty(mImpl.getName()) + " ";
errorLoc = parseUnion.xgetMemberTypes();
}
- state.error(XmlErrorCodes.SIMPLE_TYPE_RESTRICTION$UNION_MEMBER_NOT_SIMPLE, new Object[] { memberName }, errorLoc);
+ state.error(XmlErrorCodes.SIMPLE_TYPE_RESTRICTION$UNION_MEMBER_NOT_SIMPLE, new Object[]{memberName}, errorLoc);
// recovery: ignore the errant union member
mImpls.remove();
@@ -370,16 +318,16 @@ public class StscSimpleTypeResolver
}
if (mImpl.getSimpleVariety() == SchemaType.LIST ||
- mImpl.getSimpleVariety() == SchemaType.UNION && mImpl.isUnionOfLists())
+ mImpl.getSimpleVariety() == SchemaType.UNION && mImpl.isUnionOfLists()) {
isUnionOfLists = true;
+ }
}
// Verify any final restrictions
- for (int i = 0 ; i < memberImplList.size() ; i++)
- {
- SchemaTypeImpl mImpl = (SchemaTypeImpl)memberImplList.get(i);
- if (mImpl.finalUnion())
+ for (SchemaTypeImpl schemaType : memberImplList) {
+ if (schemaType.finalUnion()) {
state.error(XmlErrorCodes.SIMPLE_TYPE_PROPERTIES$UNION_FINAL, null, parseUnion);
+ }
}
sImpl.setUnionOfLists(isUnionOfLists);
@@ -393,14 +341,12 @@ public class StscSimpleTypeResolver
resolveFundamentalFacets(sImpl);
}
- static void resolveSimpleRestrictionType(SchemaTypeImpl sImpl, RestrictionDocument.Restriction parseRestr, List anonTypes)
- {
+ static void resolveSimpleRestrictionType(SchemaTypeImpl sImpl, RestrictionDocument.Restriction parseRestr, List<SchemaType> anonTypes) {
QName baseName = parseRestr.getBase();
SimpleType parseInner = parseRestr.getSimpleType();
StscState state = StscState.get();
- if (baseName != null && parseInner != null)
- {
+ if (baseName != null && parseInner != null) {
state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$RESTRICTION_HAS_BOTH_BASE_OR_SIMPLE_TYPE, null, parseRestr);
// recovery: ignore the inner simple type.
parseInner = null;
@@ -408,68 +354,56 @@ public class StscSimpleTypeResolver
SchemaTypeImpl baseImpl;
- if (baseName != null)
- {
- if (sImpl.isRedefinition())
- {
+ if (baseName != null) {
+ if (sImpl.isRedefinition()) {
baseImpl = state.findRedefinedGlobalType(parseRestr.getBase(), sImpl.getChameleonNamespace(), sImpl);
- if (baseImpl != null && !baseImpl.getName().equals(sImpl.getName()))
- {
+ if (baseImpl != null && !baseImpl.getName().equals(sImpl.getName())) {
state.error(XmlErrorCodes.SCHEMA_REDEFINE$SAME_TYPE,
- new Object[] { "<simpleType>",
- QNameHelper.pretty(baseName),
- QNameHelper.pretty(sImpl.getName())
+ new Object[]{"<simpleType>",
+ QNameHelper.pretty(baseName),
+ QNameHelper.pretty(sImpl.getName())
},
parseRestr);
}
- }
- else
- {
+ } else {
baseImpl = state.findGlobalType(baseName, sImpl.getChameleonNamespace(), sImpl.getTargetNamespace());
}
- if (baseImpl == null)
- {
+ if (baseImpl == null) {
state.notFoundError(baseName, SchemaType.TYPE, parseRestr.xgetBase(), true);
// recovery: treat it as an extension of anySimpleType
baseImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
}
- }
- else if (parseInner != null)
- {
- if (sImpl.isRedefinition())
- {
+ } else if (parseInner != null) {
+ if (sImpl.isRedefinition()) {
StscState.get().error(XmlErrorCodes.SCHEMA_REDEFINE$EXTEND_OR_RESTRICT,
- new Object[] { "<simpleType>" }, parseInner);
+ new Object[]{"<simpleType>"}, parseInner);
// recovery: oh well.
}
-
+
baseImpl = StscTranslator.translateAnonymousSimpleType(parseInner,
sImpl.getTargetNamespace(), sImpl.getChameleonNamespace() != null,
sImpl.getElemFormDefault(), sImpl.getAttFormDefault(), anonTypes, sImpl);
- }
- else
- {
+ } else {
state.error(XmlErrorCodes.SCHEMA_SIMPLE_TYPE$RESTRICTION_HAS_NEITHER_BASE_OR_SIMPLE_TYPE, null, parseRestr);
// recovery: treat it as an extension of anySimpleType
baseImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
}
// Recursion!
- if (!StscResolver.resolveType(baseImpl))
- {
+ if (!StscResolver.resolveType(baseImpl)) {
// cyclic dependency recovery: treat it as an extension of anySimpleType
baseImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
}
- if (baseImpl.finalRestriction())
+ if (baseImpl.finalRestriction()) {
state.error(XmlErrorCodes.SIMPLE_TYPE_PROPERTIES$RESTRICTION_FINAL, null, parseRestr);
+ }
sImpl.setBaseTypeRef(baseImpl.getRef());
sImpl.setBaseDepth(baseImpl.getBaseDepth() + 1);
sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
- if (!baseImpl.isSimpleType())
- {
+ if (!baseImpl.isSimpleType()) {
state.error(XmlErrorCodes.SIMPLE_TYPE_RESTRICTION$ATOMIC_NOT_SIMPLE, null, parseRestr.xgetBase());
// recovery: treat it as a restriction of anySimpleType
resolveErrorSimpleType(sImpl);
@@ -479,8 +413,7 @@ public class StscSimpleTypeResolver
sImpl.setSimpleTypeVariety(baseImpl.getSimpleVariety());
// copy variety-specific properties
- switch (baseImpl.getSimpleVariety())
- {
+ switch (baseImpl.getSimpleVariety()) {
case SchemaType.ATOMIC:
sImpl.setPrimitiveTypeRef(baseImpl.getPrimitiveType().getRef());
break;
@@ -500,38 +433,36 @@ public class StscSimpleTypeResolver
resolveFundamentalFacets(sImpl);
}
- static int translateWhitespaceCode(XmlAnySimpleType value)
- {
+ static int translateWhitespaceCode(XmlAnySimpleType value) {
// BUGBUG: add whitespace rule to textvalue.
String textval = value.getStringValue();
- if (textval.equals("collapse"))
+ if (textval.equals("collapse")) {
return SchemaType.WS_COLLAPSE;
+ }
- if (textval.equals("preserve"))
+ if (textval.equals("preserve")) {
return SchemaType.WS_PRESERVE;
+ }
- if (textval.equals("replace"))
+ if (textval.equals("replace")) {
return SchemaType.WS_REPLACE;
+ }
// KHK: s4s
StscState.get().error("Unrecognized whitespace value \"" + textval + "\"", XmlErrorCodes.FACET_VALUE_MALFORMED, value);
return SchemaType.WS_UNSPECIFIED;
}
- static boolean isMultipleFacet(int facetcode)
- {
+ static boolean isMultipleFacet(int facetcode) {
return (facetcode == SchemaType.FACET_ENUMERATION ||
facetcode == SchemaType.FACET_PATTERN);
}
- static boolean facetAppliesToType(int facetCode, SchemaTypeImpl baseImpl)
- {
- switch (baseImpl.getSimpleVariety())
- {
+ static boolean facetAppliesToType(int facetCode, SchemaTypeImpl baseImpl) {
+ switch (baseImpl.getSimpleVariety()) {
case SchemaType.LIST:
- switch (facetCode)
- {
+ switch (facetCode) {
case SchemaType.FACET_LENGTH:
case SchemaType.FACET_MIN_LENGTH:
case SchemaType.FACET_MAX_LENGTH:
@@ -543,8 +474,7 @@ public class StscSimpleTypeResolver
return false;
case SchemaType.UNION:
- switch (facetCode)
- {
+ switch (facetCode) {
case SchemaType.FACET_ENUMERATION:
case SchemaType.FACET_PATTERN:
return true;
@@ -554,14 +484,12 @@ public class StscSimpleTypeResolver
// the atomic case
- switch (baseImpl.getPrimitiveType().getBuiltinTypeCode())
- {
+ switch (baseImpl.getPrimitiveType().getBuiltinTypeCode()) {
case SchemaType.BTC_ANY_SIMPLE:
return false;
case SchemaType.BTC_BOOLEAN:
- switch (facetCode)
- {
+ switch (facetCode) {
case SchemaType.FACET_PATTERN:
case SchemaType.FACET_WHITE_SPACE:
return true;
@@ -579,8 +507,7 @@ public class StscSimpleTypeResolver
case SchemaType.BTC_G_MONTH_DAY:
case SchemaType.BTC_G_DAY:
case SchemaType.BTC_G_MONTH:
- switch (facetCode)
- {
+ switch (facetCode) {
case SchemaType.FACET_MIN_EXCLUSIVE:
case SchemaType.FACET_MIN_INCLUSIVE:
case SchemaType.FACET_MAX_INCLUSIVE:
@@ -593,8 +520,7 @@ public class StscSimpleTypeResolver
return false;
case SchemaType.BTC_DECIMAL:
- switch (facetCode)
- {
+ switch (facetCode) {
case SchemaType.FACET_MIN_EXCLUSIVE:
case SchemaType.FACET_MIN_INCLUSIVE:
case SchemaType.FACET_MAX_INCLUSIVE:
@@ -614,8 +540,7 @@ public class StscSimpleTypeResolver
case SchemaType.BTC_QNAME:
case SchemaType.BTC_NOTATION:
case SchemaType.BTC_STRING:
- switch (facetCode)
- {
+ switch (facetCode) {
case SchemaType.FACET_LENGTH:
case SchemaType.FACET_MIN_LENGTH:
case SchemaType.FACET_MAX_LENGTH:
@@ -627,15 +552,13 @@ public class StscSimpleTypeResolver
return false;
default:
- assert(false);
+ assert (false);
return false;
}
}
- private static int other_similar_limit(int facetcode)
- {
- switch (facetcode)
- {
+ private static int other_similar_limit(int facetcode) {
+ switch (facetcode) {
case SchemaType.FACET_MIN_EXCLUSIVE:
return SchemaType.FACET_MIN_INCLUSIVE;
case SchemaType.FACET_MIN_INCLUSIVE:
@@ -645,58 +568,51 @@ public class StscSimpleTypeResolver
case SchemaType.FACET_MAX_EXCLUSIVE:
return SchemaType.FACET_MAX_INCLUSIVE;
default:
- assert(false);
+ assert (false);
throw new IllegalStateException();
}
}
- static void resolveFacets(SchemaTypeImpl sImpl, XmlObject restriction, SchemaTypeImpl baseImpl)
- {
+ static void resolveFacets(SchemaTypeImpl sImpl, XmlObject restriction, SchemaTypeImpl baseImpl) {
StscState state = StscState.get();
boolean[] seenFacet = new boolean[SchemaType.LAST_FACET + 1];
XmlAnySimpleType[] myFacets = baseImpl.getBasicFacets(); // makes a copy
boolean[] fixedFacets = baseImpl.getFixedFacets();
int wsr = SchemaType.WS_UNSPECIFIED;
- List enumeratedValues = null;
- List patterns = null;
+ List<XmlAnySimpleType> enumeratedValues = null;
+ List<RegularExpression> patterns = null;
- if (restriction != null)
- {
+ if (restriction != null) {
XmlCursor cur = restriction.newCursor();
- for (boolean more = cur.toFirstChild(); more; more = cur.toNextSibling())
- {
+ for (boolean more = cur.toFirstChild(); more; more = cur.toNextSibling()) {
QName facetQName = cur.getName();
String facetName = facetQName.getLocalPart();
int code = translateFacetCode(facetQName);
- if (code == -1)
+ if (code == -1) {
continue;
+ }
- Facet facet = (Facet)cur.getObject();
+ Facet facet = (Facet) cur.getObject();
- if (!facetAppliesToType(code, baseImpl))
- {
+ if (!facetAppliesToType(code, baseImpl)) {
state.error(XmlErrorCodes.FACETS_APPLICABLE,
- new Object[] { facetName, QNameHelper.pretty(baseImpl.getName()) }, facet);
+ new Object[]{facetName, QNameHelper.pretty(baseImpl.getName())}, facet);
continue;
- }
- else if (baseImpl.getSimpleVariety() == SchemaType.ATOMIC &&
- baseImpl.getPrimitiveType().getBuiltinTypeCode() == SchemaType.BTC_NOTATION
- && (code == SchemaType.FACET_LENGTH || code == SchemaType.FACET_MIN_LENGTH ||
- code == SchemaType.FACET_MAX_LENGTH))
- {
+ } else if (baseImpl.getSimpleVariety() == SchemaType.ATOMIC &&
+ baseImpl.getPrimitiveType().getBuiltinTypeCode() == SchemaType.BTC_NOTATION
+ && (code == SchemaType.FACET_LENGTH || code == SchemaType.FACET_MIN_LENGTH ||
+ code == SchemaType.FACET_MAX_LENGTH)) {
state.warning(XmlErrorCodes.FACETS_DEPRECATED_NOTATION,
- new Object[] {facetName, QNameHelper.pretty(baseImpl.getName()) }, facet);
+ new Object[]{facetName, QNameHelper.pretty(baseImpl.getName())}, facet);
}
- if (seenFacet[code] && !isMultipleFacet(code))
- {
+ if (seenFacet[code] && !isMultipleFacet(code)) {
state.error(XmlErrorCodes.DATATYPE_SINGLE_FACET_VALUE, null, facet);
continue;
}
seenFacet[code] = true;
- switch (code)
- {
+ switch (code) {
case SchemaType.FACET_LENGTH:
// if (myFacets[SchemaType.FACET_MIN_LENGTH] != null ||
// myFacets[SchemaType.FACET_MAX_LENGTH] != null)
@@ -705,38 +621,32 @@ public class StscSimpleTypeResolver
// continue;
// }
XmlInteger len = StscTranslator.buildNnInteger(facet.getValue());
- if (len == null)
- {
+ if (len == null) {
state.error("Must be a nonnegative integer", XmlErrorCodes.FACET_VALUE_MALFORMED, facet);
continue;
}
- if (fixedFacets[code] && !myFacets[code].valueEquals(len))
- {
- state.error(XmlErrorCodes.FACET_FIXED, new Object[] { facetName }, facet);
+ if (fixedFacets[code] && !myFacets[code].valueEquals(len)) {
+ state.error(XmlErrorCodes.FACET_FIXED, new Object[]{facetName}, facet);
continue;
}
- if (myFacets[SchemaType.FACET_MIN_LENGTH] != null)
- {
+ if (myFacets[SchemaType.FACET_MIN_LENGTH] != null) {
// An error for 'length' and 'minLength' to be specified at the same time
// except if the base type had the same value for 'minLength' also
XmlAnySimpleType baseMinLength = baseImpl.getFacet(SchemaType.FACET_MIN_LENGTH);
if (!(baseMinLength != null &&
- baseMinLength.valueEquals(myFacets[SchemaType.FACET_MIN_LENGTH]) &&
- baseMinLength.compareValue(len) <= 0))
- {
+ baseMinLength.valueEquals(myFacets[SchemaType.FACET_MIN_LENGTH]) &&
+ baseMinLength.compareValue(len) <= 0)) {
state.error(XmlErrorCodes.DATATYPE_LENGTH, null, facet);
continue;
}
}
- if (myFacets[SchemaType.FACET_MAX_LENGTH] != null)
- {
+ if (myFacets[SchemaType.FACET_MAX_LENGTH] != null) {
// An error for 'length' and 'maxLength' to be specified at the same time
// except if the base type had the same value for 'maxLength' also
XmlAnySimpleType baseMaxLength = baseImpl.getFacet(SchemaType.FACET_MAX_LENGTH);
if (!(baseMaxLength != null &&
- baseMaxLength.valueEquals(myFacets[SchemaType.FACET_MAX_LENGTH]) &&
- baseMaxLength.compareValue(len) >= 0))
- {
+ baseMaxLength.valueEquals(myFacets[SchemaType.FACET_MAX_LENGTH]) &&
+ baseMaxLength.compareValue(len) >= 0)) {
state.error(XmlErrorCodes.DATATYPE_LENGTH, null, facet);
continue;
}
@@ -747,45 +657,37 @@ public class StscSimpleTypeResolver
case SchemaType.FACET_MIN_LENGTH:
case SchemaType.FACET_MAX_LENGTH:
XmlInteger mlen = StscTranslator.buildNnInteger(facet.getValue());
- if (mlen == null)
- {
+ if (mlen == null) {
state.error("Must be a nonnegative integer", XmlErrorCodes.FACET_VALUE_MALFORMED, facet);
continue;
}
- if (fixedFacets[code] && !myFacets[code].valueEquals(mlen))
- {
- state.error(XmlErrorCodes.FACET_FIXED, new Object[] { facetName }, facet);
+ if (fixedFacets[code] && !myFacets[code].valueEquals(mlen)) {
+ state.error(XmlErrorCodes.FACET_FIXED, new Object[]{facetName}, facet);
continue;
}
- if (myFacets[SchemaType.FACET_LENGTH] != null)
- {
+ if (myFacets[SchemaType.FACET_LENGTH] != null) {
// It's an error for 'length' and 'minLength'/'maxLength' to be
// specified at the same time, except for the case when
// the base type had the same value for 'minLength'/'maxLength'
// and the two values are consistent
XmlAnySimpleType baseMinMaxLength = baseImpl.getFacet(code);
if (!(baseMinMaxLength != null &&
- baseMinMaxLength.valueEquals(mlen) &&
- (code == SchemaType.FACET_MIN_LENGTH ?
- baseMinMaxLength.compareTo(myFacets[SchemaType.FACET_LENGTH]) <= 0 :
- baseMinMaxLength.compareTo(myFacets[SchemaType.FACET_LENGTH]) >= 0)))
- {
+ baseMinMaxLength.valueEquals(mlen) &&
+ (code == SchemaType.FACET_MIN_LENGTH ?
+ baseMinMaxLength.compareTo(myFacets[SchemaType.FACET_LENGTH]) <= 0 :
+ baseMinMaxLength.compareTo(myFacets[SchemaType.FACET_LENGTH]) >= 0))) {
state.error(XmlErrorCodes.DATATYPE_LENGTH, null, facet);
continue;
}
}
- if (myFacets[SchemaType.FACET_MAX_LENGTH] != null)
- {
- if (mlen.compareValue(myFacets[SchemaType.FACET_MAX_LENGTH]) > 0)
- {
+ if (myFacets[SchemaType.FACET_MAX_LENGTH] != null) {
+ if (mlen.compareValue(myFacets[SchemaType.FACET_MAX_LENGTH]) > 0) {
state.error(XmlErrorCodes.DATATYPE_MAX_LENGTH_RESTRICTION, null, facet);
continue;
}
}
- if (myFacets[SchemaType.FACET_MIN_LENGTH] != null)
- {
- if (mlen.compareValue(myFacets[SchemaType.FACET_MIN_LENGTH]) < 0)
- {
+ if (myFacets[SchemaType.FACET_MIN_LENGTH] != null) {
+ if (mlen.compareValue(myFacets[SchemaType.FACET_MIN_LENGTH]) < 0) {
state.error(XmlErrorCodes.DATATYPE_MIN_LENGTH_RESTRICTION, null, facet);
continue;
}
@@ -795,45 +697,41 @@ public class StscSimpleTypeResolver
case SchemaType.FACET_TOTAL_DIGITS:
XmlPositiveInteger dig = StscTranslator.buildPosInteger(facet.getValue());
- if (dig == null)
- {
+ if (dig == null) {
state.error("Must be a positive integer", XmlErrorCodes.FACET_VALUE_MALFORMED, facet);
break;
}
- if (fixedFacets[code] && !myFacets[code].valueEquals(dig))
- {
- state.error(XmlErrorCodes.FACET_FIXED, new Object[] { facetName }, facet);
+ if (fixedFacets[code] && !myFacets[code].valueEquals(dig)) {
+ state.error(XmlErrorCodes.FACET_FIXED, new Object[]{facetName}, facet);
continue;
}
- if (myFacets[SchemaType.FACET_TOTAL_DIGITS] != null)
- {
- if (dig.compareValue(myFacets[SchemaType.FACET_TOTAL_DIGITS]) > 0)
+ if (myFacets[SchemaType.FACET_TOTAL_DIGITS] != null) {
+ if (dig.compareValue(myFacets[SchemaType.FACET_TOTAL_DIGITS]) > 0) {
state.error(XmlErrorCodes.DATATYPE_TOTAL_DIGITS_RESTRICTION, null, facet);
+ }
}
myFacets[code] = dig;
break;
case SchemaType.FACET_FRACTION_DIGITS:
XmlNonNegativeInteger fdig = StscTranslator.buildNnInteger(facet.getValue());
- if (fdig == null)
- {
+ if (fdig == null) {
state.error("Must be a nonnegative integer", XmlErrorCodes.FACET_VALUE_MALFORMED, facet);
break;
}
- if (fixedFacets[code] && !myFacets[code].valueEquals(fdig))
- {
- state.error(XmlErrorCodes.FACET_FIXED, new Object[] { facetName }, facet);
+ if (fixedFacets[code] && !myFacets[code].valueEquals(fdig)) {
+ state.error(XmlErrorCodes.FACET_FIXED, new Object[]{facetName}, facet);
continue;
}
- if (myFacets[SchemaType.FACET_FRACTION_DIGITS] != null)
- {
- if (fdig.compareValue(myFacets[SchemaType.FACET_FRACTION_DIGITS]) > 0)
+ if (myFacets[SchemaType.FACET_FRACTION_DIGITS] != null) {
+ if (fdig.compareValue(myFacets[SchemaType.FACET_FRACTION_DIGITS]) > 0) {
state.error(XmlErrorCodes.DATATYPE_FRACTION_DIGITS_RESTRICTION, null, facet);
+ }
}
- if (myFacets[SchemaType.FACET_TOTAL_DIGITS] != null)
- {
- if (fdig.compareValue(myFacets[SchemaType.FACET_TOTAL_DIGITS]) > 0)
+ if (myFacets[SchemaType.FACET_TOTAL_DIGITS] != null) {
+ if (fdig.compareValue(myFacets[SchemaType.FACET_TOTAL_DIGITS]) > 0) {
state.error(XmlErrorCodes.DATATYPE_FRACTION_DIGITS_LE_TOTAL_DIGITS, null, facet);
+ }
}
myFacets[code] = fdig;
break;
@@ -843,8 +741,7 @@ public class StscSimpleTypeResolver
case SchemaType.FACET_MAX_INCLUSIVE:
case SchemaType.FACET_MAX_EXCLUSIVE:
- if (seenFacet[other_similar_limit(code)])
- {
+ if (seenFacet[other_similar_limit(code)]) {
state.error("Cannot define both inclusive and exclusive limit in the same restriciton", XmlErrorCodes.FACET_DUPLICATED, facet);
continue;
}
@@ -852,57 +749,49 @@ public class StscSimpleTypeResolver
boolean isexclusive = (code == SchemaType.FACET_MIN_EXCLUSIVE || code == SchemaType.FACET_MAX_EXCLUSIVE);
XmlAnySimpleType limit;
- try
- {
+ try {
limit = baseImpl.newValue(facet.getValue(), true);
- }
- catch (XmlValueOutOfRangeException e)
- {
+ } catch (XmlValueOutOfRangeException e) {
// note: this guarantees that the limit is a valid number in the
// base data type!!
- switch (code)
- {
- case SchemaType.FACET_MIN_EXCLUSIVE:
- state.error(XmlErrorCodes.DATATYPE_MIN_EXCLUSIVE_RESTRICTION,
- new Object[] {e.getMessage()}, facet);
- break;
- case SchemaType.FACET_MIN_INCLUSIVE:
- state.error(XmlErrorCodes.DATATYPE_MIN_INCLUSIVE_RESTRICTION,
- new Object[] {e.getMessage()}, facet);
- break;
- case SchemaType.FACET_MAX_INCLUSIVE:
- state.error(XmlErrorCodes.DATATYPE_MAX_INCLUSIVE_RESTRICTION,
- new Object[] {e.getMessage()}, facet);
- break;
- case SchemaType.FACET_MAX_EXCLUSIVE:
- state.error(XmlErrorCodes.DATATYPE_MAX_EXCLUSIVE_RESTRICTION,
- new Object[] {e.getMessage()}, facet);
- break;
+ switch (code) {
+ case SchemaType.FACET_MIN_EXCLUSIVE:
+ state.error(XmlErrorCodes.DATATYPE_MIN_EXCLUSIVE_RESTRICTION,
+ new Object[]{e.getMessage()}, facet);
+ break;
+ case SchemaType.FACET_MIN_INCLUSIVE:
+ state.error(XmlErrorCodes.DATATYPE_MIN_INCLUSIVE_RESTRICTION,
+ new Object[]{e.getMessage()}, facet);
+ break;
+ case SchemaType.FACET_MAX_INCLUSIVE:
+ state.error(XmlErrorCodes.DATATYPE_MAX_INCLUSIVE_RESTRICTION,
+ new Object[]{e.getMessage()}, facet);
+ break;
+ case SchemaType.FACET_MAX_EXCLUSIVE:
+ state.error(XmlErrorCodes.DATATYPE_MAX_EXCLUSIVE_RESTRICTION,
+ new Object[]{e.getMessage()}, facet);
+ break;
}
// BUGBUG: if there are actual schemas that redefine min/maxExclusive,
// they will need this rule relaxed for them!!
continue;
}
- if (fixedFacets[code] && !myFacets[code].valueEquals(limit))
- {
- state.error(XmlErrorCodes.FACET_FIXED, new Object[] { facetName }, facet);
+ if (fixedFacets[code] && !myFacets[code].valueEquals(limit)) {
+ state.error(XmlErrorCodes.FACET_FIXED, new Object[]{facetName}, facet);
continue;
}
- if (myFacets[code] != null)
- {
+ if (myFacets[code] != null) {
SchemaType limitSType = limit.schemaType();
- if ( limitSType!=null && !limitSType.isSimpleType() &&
- limitSType.getContentType()==SchemaType.SIMPLE_CONTENT)
- {
+ if (limitSType != null && !limitSType.isSimpleType() &&
+ limitSType.getContentType() == SchemaType.SIMPLE_CONTENT) {
// in the case of complex types with simple content that has facets
// we need to compare values based on the content type
limit = baseImpl.getContentBasedOnType().newValue(facet.getValue());
}
int comparison = limit.compareValue(myFacets[code]);
- if (comparison == 2 || comparison == (ismin ? -1 : 1))
- {
+ if (comparison == 2 || comparison == (ismin ? -1 : 1)) {
state.error(ismin ?
(isexclusive ?
"Must be greater than or equal to previous minExclusive" :
@@ -910,7 +799,7 @@ public class StscSimpleTypeResolver
(isexclusive ?
"Must be less than or equal to previous maxExclusive" :
"Must be less than or equal to previous maxInclusive"),
- XmlErrorCodes.FACET_VALUE_MALFORMED, facet);
+ XmlErrorCodes.FACET_VALUE_MALFORMED, facet);
continue;
}
}
@@ -920,8 +809,7 @@ public class StscSimpleTypeResolver
case SchemaType.FACET_WHITE_SPACE:
wsr = translateWhitespaceCode(facet.getValue());
- if (baseImpl.getWhiteSpaceRule() > wsr)
- {
+ if (baseImpl.getWhiteSpaceRule() > wsr) {
wsr = SchemaType.WS_UNSPECIFIED;
state.error(XmlErrorCodes.DATATYPE_WHITESPACE_RESTRICTION, null, facet);
continue;
@@ -930,39 +818,39 @@ public class StscSimpleTypeResolver
break;
case SchemaType.FACET_ENUMERATION:
- XmlObject enumval;
- try
- {
+ XmlAnySimpleType enumval;
+ try {
enumval = baseImpl.newValue(facet.getValue(), true);
// enumval.set(facet.getValue());
// ((XmlObjectBase)enumval).setImmutable();
- }
- catch (XmlValueOutOfRangeException e)
- {
- state.error(XmlErrorCodes.DATATYPE_ENUM_RESTRICTION, new Object[] { facet.getValue().getStringValue(), e.getMessage() }, facet);
+ } catch (XmlValueOutOfRangeException e) {
+ state.error(XmlErrorCodes.DATATYPE_ENUM_RESTRICTION, new Object[]{facet.getValue().getStringValue(), e.getMessage()}, facet);
continue;
}
- if (enumeratedValues == null)
- enumeratedValues = new ArrayList();
+ if (enumeratedValues == null) {
+ enumeratedValues = new ArrayList<>();
+ }
enumeratedValues.add(enumval);
break;
case SchemaType.FACET_PATTERN:
RegularExpression p;
- try { p = new RegularExpression(facet.getValue().getStringValue(), "X"); }
- catch (ParseException e)
- {
- state.error(XmlErrorCodes.PATTERN_REGEX, new Object[] { facet.getValue().getStringValue(), e.getMessage() }, facet);
+ try {
+ p = new RegularExpression(facet.getValue().getStringValue(), "X");
+ } catch (ParseException e) {
+ state.error(XmlErrorCodes.PATTERN_REGEX, new Object[]{facet.getValue().getStringValue(), e.getMessage()}, facet);
continue;
}
- if (patterns == null)
- patterns = new ArrayList();
+ if (patterns == null) {
+ patterns = new ArrayList<>();
+ }
patterns.add(p);
break;
}
- if (facet.getFixed())
+ if (facet.getFixed()) {
fixedFacets[code] = true;
+ }
}
}
@@ -971,65 +859,59 @@ public class StscSimpleTypeResolver
sImpl.setBasicFacets(makeValueRefArray(myFacets), fixedFacets);
// Update the numeric whitespace rule
- if (wsr == SchemaType.WS_UNSPECIFIED)
+ if (wsr == SchemaType.WS_UNSPECIFIED) {
wsr = baseImpl.getWhiteSpaceRule();
+ }
sImpl.setWhiteSpaceRule(wsr);
// store away the enumerated values
- if (enumeratedValues != null)
- {
- sImpl.setEnumerationValues(makeValueRefArray((XmlAnySimpleType[])
- enumeratedValues.toArray(new XmlAnySimpleType[enumeratedValues.size()])));
+ if (enumeratedValues != null) {
+ sImpl.setEnumerationValues(makeValueRefArray(enumeratedValues.toArray(new XmlAnySimpleType[0])));
SchemaType beType = sImpl;
- if ( ((SchemaTypeImpl)sImpl).isRedefinition() ){
+ if (sImpl.isRedefinition()) {
beType = sImpl.getBaseType().getBaseEnumType();
- if( beType == null || sImpl.getBaseType() == beType ){
+ if (beType == null || sImpl.getBaseType() == beType) {
beType = sImpl;
}
- }
- else if (sImpl.getBaseType().getBaseEnumType() != null)
+ } else if (sImpl.getBaseType().getBaseEnumType() != null) {
beType = sImpl.getBaseType().getBaseEnumType();
+ }
sImpl.setBaseEnumTypeRef(beType.getRef());
- }
- else
- {
+ } else {
sImpl.copyEnumerationValues(baseImpl);
}
// store the pattern list
- org.apache.xmlbeans.impl.regex.RegularExpression[] patternArray;
- if (patterns != null)
- patternArray = (org.apache.xmlbeans.impl.regex.RegularExpression[])patterns.toArray(EMPTY_REGEX_ARRAY);
- else
- patternArray = EMPTY_REGEX_ARRAY;
+ RegularExpression[] patternArray = patterns != null ? patterns.toArray(EMPTY_REGEX_ARRAY) : EMPTY_REGEX_ARRAY;
sImpl.setPatternFacet((patternArray.length > 0 || baseImpl.hasPatternFacet()));
sImpl.setPatterns(patternArray);
// Check that, if the base type is NOTATION, there is an enumeration facet
// http://www.w3.org/TR/xmlschema-2/#NOTATION
- if (baseImpl.getBuiltinTypeCode() == SchemaType.BTC_NOTATION)
- if (sImpl.getEnumerationValues() == null)
+ if (baseImpl.getBuiltinTypeCode() == SchemaType.BTC_NOTATION) {
+ if (sImpl.getEnumerationValues() == null) {
state.recover(XmlErrorCodes.DATATYPE_ENUM_NOTATION, null, restriction);
+ }
+ }
}
- private static XmlValueRef[] makeValueRefArray(XmlAnySimpleType[] source)
- {
+ private static XmlValueRef[] makeValueRefArray(XmlAnySimpleType[] source) {
XmlValueRef[] result = new XmlValueRef[source.length];
- for (int i = 0; i < result.length; i++)
+ for (int i = 0; i < result.length; i++) {
result[i] = (source[i] == null ? null : new XmlValueRef(source[i]));
+ }
return result;
}
- private static final org.apache.xmlbeans.impl.regex.RegularExpression[] EMPTY_REGEX_ARRAY = new org.apache.xmlbeans.impl.regex.RegularExpression[0];
+ private static final RegularExpression[] EMPTY_REGEX_ARRAY = new RegularExpression[0];
- private static boolean isDiscreteType(SchemaTypeImpl sImpl)
- {
- if (sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS) != null)
+ private static boolean isDiscreteType(SchemaTypeImpl sImpl) {
+ if (sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS) != null) {
return true;
+ }
// BUGBUG: spec is silent on enumerations; they're finite too.
- switch (sImpl.getPrimitiveType().getBuiltinTypeCode())
- {
+ switch (sImpl.getPrimitiveType().getBuiltinTypeCode()) {
case SchemaType.BTC_DATE:
case SchemaType.BTC_G_YEAR_MONTH:
case SchemaType.BTC_G_YEAR:
@@ -1042,10 +924,8 @@ public class StscSimpleTypeResolver
return false;
}
- private static boolean isNumericPrimitive(SchemaType sImpl)
- {
- switch (sImpl.getBuiltinTypeCode())
- {
+ private static boolean isNumericPrimitive(SchemaType sImpl) {
+ switch (sImpl.getBuiltinTypeCode()) {
case SchemaType.BTC_DECIMAL:
case SchemaType.BTC_FLOAT:
case SchemaType.BTC_DOUBLE:
@@ -1054,106 +934,125 @@ public class StscSimpleTypeResolver
return false;
}
- private static int decimalSizeOfType(SchemaTypeImpl sImpl)
- {
+ private static int decimalSizeOfType(SchemaTypeImpl sImpl) {
int size = mathematicalSizeOfType(sImpl);
-
+
// byte and short are inconvenient, because setByte((byte)4) requires a cast.
// So use "int" unless you're really a xs:byte, xs:short, or an xs:unsignedByte
// (the last case is included for alignment with JAXB)
-
- if (size == SchemaType.SIZE_BYTE && !XmlByte.type.isAssignableFrom(sImpl))
+
+ if (size == SchemaType.SIZE_BYTE && !XmlByte.type.isAssignableFrom(sImpl)) {
size = SchemaType.SIZE_SHORT;
- if (size == SchemaType.SIZE_SHORT && !XmlShort.type.isAssignableFrom(sImpl) && !XmlUnsignedByte.type.isAssignableFrom(sImpl))
+ }
+ if (size == SchemaType.SIZE_SHORT && !XmlShort.type.isAssignableFrom(sImpl) && !XmlUnsignedByte.type.isAssignableFrom(sImpl)) {
size = SchemaType.SIZE_INT;
-
+ }
+
return size;
}
-
- private static int mathematicalSizeOfType(SchemaTypeImpl sImpl)
- {
- if (sImpl.getPrimitiveType().getBuiltinTypeCode() != SchemaType.BTC_DECIMAL)
+
+ private static int mathematicalSizeOfType(SchemaTypeImpl sImpl) {
+ if (sImpl.getPrimitiveType().getBuiltinTypeCode() != SchemaType.BTC_DECIMAL) {
return SchemaType.NOT_DECIMAL;
+ }
if (sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS) == null ||
- ((SimpleValue)sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS)).getBigIntegerValue().signum() != 0)
+ ((SimpleValue) sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS)).getBigIntegerValue().signum() != 0) {
return SchemaType.SIZE_BIG_DECIMAL;
+ }
BigInteger min = null;
BigInteger max = null;
- if (sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE) != null)
- min = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)).getBigIntegerValue(); // .add(BigInteger.ONE);
- if (sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE) != null)
- min = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE)).getBigIntegerValue();
- if (sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE) != null)
- max = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE)).getBigIntegerValue();
- if (sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE) != null)
- max = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)).getBigIntegerValue(); // .subtract(BigInteger.ONE);
+ if (sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE) != null) {
+ min = ((SimpleValue) sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)).getBigIntegerValue(); // .add(BigInteger.ONE);
+ }
+ if (sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE) != null) {
+ min = ((SimpleValue) sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE)).getBigIntegerValue();
+ }
+ if (sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE) != null) {
+ max = ((SimpleValue) sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE)).getBigIntegerValue();
+ }
+ if (sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE) != null) {
+ max = ((SimpleValue) sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)).getBigIntegerValue(); // .subtract(BigInteger.ONE);
+ }
- if (sImpl.getFacet(SchemaType.FACET_TOTAL_DIGITS) != null)
- {
+ if (sImpl.getFacet(SchemaType.FACET_TOTAL_DIGITS) != null) {
BigInteger peg = null;
- try
- {
- BigInteger totalDigits = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_TOTAL_DIGITS)).getBigIntegerValue();
+ try {
+ BigInteger totalDigits = ((SimpleValue) sImpl.getFacet(SchemaType.FACET_TOTAL_DIGITS)).getBigIntegerValue();
- switch (totalDigits.intValue())
- {
- case 0: case 1: case 2:
- peg = BigInteger.valueOf(99L); // BYTE size
- break;
- case 3: case 4:
- peg = BigInteger.valueOf(9999L); // SHORT size
- break;
- case 5: case 6: case 7: case 8: case 9:
- peg = BigInteger.valueOf(999999999L); // INT size
- break;
- case 10: case 11: case 12: case 13: case 14:
- case 15: case 16: case 17: case 18:
- peg = BigInteger.valueOf(999999999999999999L); // LONG size
- break;
- }
- }
- catch (XmlValueOutOfRangeException e) {}
- if (peg != null)
- {
+ switch (totalDigits.intValue()) {
+ case 0:
+ case 1:
+ case 2:
+ peg = BigInteger.valueOf(99L); // BYTE size
+ break;
+ case 3:
+ case 4:
+ peg = BigInteger.valueOf(9999L); // SHORT size
+ break;
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ peg = BigInteger.valueOf(999999999L); // INT size
+ break;
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ peg = BigInteger.valueOf(999999999999999999L); // LONG size
+ break;
+ }
+ } catch (XmlValueOutOfRangeException ignored) {
+ }
+ if (peg != null) {
min = (min == null ? peg.negate() : min.max(peg.negate()));
max = (max == null ? peg : max.min(peg));
}
}
- if (min != null && max != null)
- {
+ if (min != null && max != null) {
// find the largest "absolute value" number that must be dealt with
- if (min.signum() < 0)
+ if (min.signum() < 0) {
min = min.negate().subtract(BigInteger.ONE);
- if (max.signum() < 0)
+ }
+ if (max.signum() < 0) {
max = max.negate().subtract(BigInteger.ONE);
+ }
max = max.max(min);
- if (max.compareTo(BigInteger.valueOf(Byte.MAX_VALUE)) <= 0)
+ if (max.compareTo(BigInteger.valueOf(Byte.MAX_VALUE)) <= 0) {
return SchemaType.SIZE_BYTE;
- if (max.compareTo(BigInteger.valueOf(Short.MAX_VALUE)) <= 0)
+ }
+ if (max.compareTo(BigInteger.valueOf(Short.MAX_VALUE)) <= 0) {
return SchemaType.SIZE_SHORT;
- if (max.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) <= 0)
+ }
+ if (max.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) <= 0) {
return SchemaType.SIZE_INT;
- if (max.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) <= 0)
+ }
+ if (max.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) <= 0) {
return SchemaType.SIZE_LONG;
+ }
}
return SchemaType.SIZE_BIG_INTEGER;
}
- static void resolveFundamentalFacets(SchemaTypeImpl sImpl)
- {
+ static void resolveFundamentalFacets(SchemaTypeImpl sImpl) {
// deal with, isOrdered, isBounded, isFinite, isNumeric
// also deal with
- switch (sImpl.getSimpleVariety())
- {
+ switch (sImpl.getSimpleVariety()) {
case SchemaType.ATOMIC:
- SchemaTypeImpl baseImpl = (SchemaTypeImpl)sImpl.getBaseType();
+ SchemaTypeImpl baseImpl = (SchemaTypeImpl) sImpl.getBaseType();
sImpl.setOrdered(baseImpl.ordered());
sImpl.setBounded(
(sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE) != null ||
@@ -1163,7 +1062,7 @@ public class StscSimpleTypeResolver
sImpl.setFinite(baseImpl.isFinite() ||
sImpl.isBounded() && isDiscreteType(sImpl));
sImpl.setNumeric(baseImpl.isNumeric() ||
- isNumericPrimitive(sImpl.getPrimitiveType()));
+ isNumericPrimitive(sImpl.getPrimitiveType()));
sImpl.setDecimalSize(decimalSizeOfType(sImpl));
break;
case SchemaType.UNION:
@@ -1173,16 +1072,19 @@ public class StscSimpleTypeResolver
boolean isFinite = true;
boolean isNumeric = true;
// ordered if any is ordered, bounded if all are bounded.
- for (int i = 0; i < mTypes.length; i++)
- {
- if (mTypes[i].ordered() != SchemaType.UNORDERED)
+ for (SchemaType mType : mTypes) {
+ if (mType.ordered() != SchemaType.UNORDERED) {
ordered = SchemaType.PARTIAL_ORDER;
- if (!mTypes[i].isBounded())
+ }
+ if (!mType.isBounded()) {
isBounded = false;
- if (!mTypes[i].isFinite())
+ }
+ if (!mType.isFinite()) {
isFinite = false;
- if (!mTypes[i].isNumeric())
+ }
+ if (!mType.isNumeric()) {
isNumeric = false;
+ }
}
sImpl.setOrdered(ordered);
sImpl.setBounded(isBounded);
@@ -1194,7 +1096,7 @@ public class StscSimpleTypeResolver
sImpl.setOrdered(SchemaType.UNORDERED);
// BUGBUG: the schema spec is wrong here: MIN_LENGTH is not needed, beause len >=0
sImpl.setBounded(sImpl.getFacet(SchemaType.FACET_LENGTH) != null ||
- sImpl.getFacet(SchemaType.FACET_MAX_LENGTH) != null);
+ sImpl.getFacet(SchemaType.FACET_MAX_LENGTH) != null);
// BUGBUG: the schema spec is wrong here: finite cardinality requires item type is finite
sImpl.setFinite(sImpl.getListItemType().isFinite() && sImpl.isBounded());
sImpl.setNumeric(false);
@@ -1203,16 +1105,17 @@ public class StscSimpleTypeResolver
}
}
- private static class CodeForNameEntry
- {
- CodeForNameEntry(QName name, int code)
- { this.name = name; this.code = code; }
+ private static class CodeForNameEntry {
+ CodeForNameEntry(QName name, int code) {
+ this.name = name;
+ this.code = code;
+ }
+
public QName name;
public int code;
}
- private static CodeForNameEntry[] facetCodes = new CodeForNameEntry[]
- {
+ private static final CodeForNameEntry[] facetCodes = {
new CodeForNameEntry(QNameHelper.forLNS("length", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_LENGTH),
new CodeForNameEntry(QNameHelper.forLNS("minLength", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MIN_LENGTH),
new CodeForNameEntry(QNameHelper.forLNS("maxLength", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MAX_LENGTH),
@@ -1227,21 +1130,17 @@ public class StscSimpleTypeResolver
new CodeForNameEntry(QNameHelper.forLNS("fractionDigits", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_FRACTION_DIGITS),
};
- private static final Map facetCodeMap = buildFacetCodeMap();
+ private static final Map<QName, Integer> facetCodeMap = buildFacetCodeMap();
- private static Map buildFacetCodeMap()
- {
- Map result = new HashMap();
- for (int i = 0; i < facetCodes.length; i++)
- result.put(facetCodes[i].name, new Integer(facetCodes[i].code));
+ private static Map<QName, Integer> buildFacetCodeMap() {
+ Map<QName, Integer> result = new HashMap<>();
+ for (CodeForNameEntry facetCode : facetCodes) {
+ result.put(facetCode.name, facetCode.code);
+ }
return result;
}
- private static int translateFacetCode(QName name)
- {
- Integer result = ((Integer)facetCodeMap.get(name));
- if (result == null)
- return -1;
- return result.intValue();
+ private static int translateFacetCode(QName name) {
+ return facetCodeMap.getOrDefault(name, -1);
}
}
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java Wed Oct 7 23:35:25 2020
@@ -611,7 +611,7 @@ public class StscState {
private static String crunchName(QName name) {
// lowercase, and drop namespace.
- return name.getLocalPart().toLowerCase();
+ return name.getLocalPart().toLowerCase(Locale.ROOT);
}
void addSpelling(QName name, SchemaComponent comp) {
@@ -1269,9 +1269,9 @@ public class StscState {
expected,
expectedName,
found,
- (foundName == null ? new Integer(0) : new Integer(1)),
+ (foundName == null ? 0 : 1),
foundName,
- (sourceName == null ? new Integer(0) : new Integer(1)),
+ (sourceName == null ? 0 : 1),
sourceName
},
loc);
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/soap/FactoryFinder.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/soap/FactoryFinder.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/soap/FactoryFinder.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/soap/FactoryFinder.java Wed Oct 7 23:35:25 2020
@@ -15,14 +15,11 @@
package org.apache.xmlbeans.impl.soap;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+import org.apache.xmlbeans.SystemProperties;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
import java.util.Properties;
-import org.apache.xmlbeans.SystemProperties;
/**
* This class is used to locate factory classes for javax.xml.soap.
@@ -38,7 +35,7 @@ class FactoryFinder {
* @throws SOAPException
*/
private static Object newInstance(String factoryClassName) throws SOAPException {
- ClassLoader classloader = null;
+ ClassLoader classloader;
try {
classloader = Thread.currentThread().getContextClassLoader();
} catch (Exception exception) {
@@ -52,13 +49,14 @@ class FactoryFinder {
} else {
try {
factory = classloader.loadClass(factoryClassName);
- } catch (ClassNotFoundException cnfe) {}
+ } catch (ClassNotFoundException ignored) {
+ }
}
if (factory == null) {
classloader = FactoryFinder.class.getClassLoader();
factory = classloader.loadClass(factoryClassName);
}
- return factory.newInstance();
+ return factory.getDeclaredConstructor().newInstance();
} catch (ClassNotFoundException classnotfoundexception) {
throw new SOAPException("Provider " + factoryClassName + " not found", classnotfoundexception);
} catch (Exception exception) {
@@ -81,7 +79,8 @@ class FactoryFinder {
if (factoryClassName != null) {
return newInstance(factoryClassName);
}
- } catch (SecurityException securityexception) {}
+ } catch (SecurityException ignored) {
+ }
try {
String propertiesFileName = SystemProperties.getProperty("java.home")
@@ -96,21 +95,23 @@ class FactoryFinder {
String factoryClassName = properties.getProperty(factoryPropertyName);
return newInstance(factoryClassName);
}
- } catch (Exception exception1) {}
+ } catch (Exception ignored) {
+ }
String factoryResource = "META-INF/services/" + factoryPropertyName;
try {
InputStream inputstream = getResource(factoryResource);
if (inputstream != null) {
- BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(inputstream, "UTF-8"));
+ BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(inputstream, StandardCharsets.UTF_8));
String factoryClassName = bufferedreader.readLine();
bufferedreader.close();
if ((factoryClassName != null) && !"".equals(factoryClassName)) {
return newInstance(factoryClassName);
}
}
- } catch (Exception exception2) {}
+ } catch (Exception ignored) {
+ }
if (defaultFactoryClassName == null) {
throw new SOAPException("Provider for " + factoryPropertyName + " cannot be found", null);
@@ -129,15 +130,16 @@ class FactoryFinder {
* <code>getResourceAsStream()</code> on
* <code>FactoryFinder.class.getClassLoader()</code>.
*
- * @param factoryResource the resource name
- * @return an InputStream that can be used to read that resource, or
- * <code>null</code> if the resource could not be resolved
+ * @param factoryResource the resource name
+ * @return an InputStream that can be used to read that resource, or
+ * <code>null</code> if the resource could not be resolved
*/
private static InputStream getResource(String factoryResource) {
ClassLoader classloader = null;
try {
classloader = Thread.currentThread().getContextClassLoader();
- } catch (SecurityException securityexception) {}
+ } catch (SecurityException ignored) {
+ }
InputStream inputstream;
if (classloader == null) {
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java Wed Oct 7 23:35:25 2020
@@ -958,7 +958,7 @@ public final class Locale
String attrName = a.getNodeName();
String attrValue = a.getNodeValue();
- if (attrName.toLowerCase().startsWith("xmlns")) {
+ if (attrName.toLowerCase(java.util.Locale.ROOT).startsWith("xmlns")) {
if (attrName.length() == 5) {
context.xmlns(null, attrValue);
} else {
@@ -1728,7 +1728,7 @@ public final class Locale
for (String prefix : namespaces.keySet()) {
// Usually, this is the predefined xml namespace
- if (!prefix.toLowerCase().startsWith("xml")) {
+ if (!prefix.toLowerCase(java.util.Locale.ROOT).startsWith("xml")) {
if (c.namespaceForPrefix(prefix, false) == null) {
c.push();
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Xobj.java Wed Oct 7 23:35:25 2020
@@ -1494,7 +1494,7 @@ abstract class Xobj implements TypeStore
// Sanitize the suggestion.
if (suggestion != null &&
- (suggestion.length() == 0 || suggestion.toLowerCase().startsWith("xml") ||
+ (suggestion.length() == 0 || suggestion.toLowerCase(java.util.Locale.ROOT).startsWith("xml") ||
base.findXmlnsForPrefix(suggestion) != null)) {
suggestion = null;
}
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java Wed Oct 7 23:35:25 2020
@@ -30,6 +30,7 @@ import org.xml.sax.EntityResolver;
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
import java.net.URI;
import java.net.URL;
import java.util.*;
@@ -159,7 +160,7 @@ public class SchemaCompiler {
if (codePrinterClass != null) {
try {
codePrinter = (SchemaCodePrinter)
- Class.forName(codePrinterClass).newInstance();
+ Class.forName(codePrinterClass).getDeclaredConstructor().newInstance();
} catch (Exception e) {
System.err.println
("Failed to load SchemaCodePrinter class " +
@@ -1050,12 +1051,12 @@ public class SchemaCompiler {
while (i.hasNext()) {
Extension extension = i.next();
try {
- sce = (SchemaCompilerExtension) extension.getClassName().newInstance();
- } catch (InstantiationException e) {
+ sce = (SchemaCompilerExtension) extension.getClassName().getDeclaredConstructor().newInstance();
+ } catch (NoSuchMethodException | InstantiationException e) {
System.out.println("UNABLE to instantiate schema compiler extension:" + extension.getClassName().getName());
System.out.println("EXTENSION Class was not run");
break;
- } catch (IllegalAccessException e) {
+ } catch (InvocationTargetException | IllegalAccessException e) {
System.out.println("ILLEGAL ACCESS Exception when attempting to instantiate schema compiler extension: " + extension.getClassName().getName());
System.out.println("EXTENSION Class was not run");
break;
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java Wed Oct 7 23:35:25 2020
@@ -309,7 +309,7 @@ public class XMLBean extends MatchingTas
for (String s : paths) {
int dot = s.lastIndexOf('.');
if (dot > -1) {
- String possExt = s.substring(dot).toLowerCase();
+ String possExt = s.substring(dot).toLowerCase(Locale.ROOT);
Set<File> set = _extRouter.get(possExt);
if (set != null) {
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XsbDumper.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XsbDumper.java?rev=1882308&r1=1882307&r2=1882308&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XsbDumper.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XsbDumper.java Wed Oct 7 23:35:25 2020
@@ -45,22 +45,20 @@ public class XsbDumper {
return;
}
- for (int i = 0; i < args.length; i++) {
- dump(new File(args[i]), true);
+ for (String arg : args) {
+ dump(new File(arg), true);
}
}
private static void dump(File file, boolean force) {
if (file.isDirectory()) {
File[] files = file.listFiles(
- new FileFilter() {
- public boolean accept(File file) {
- return file.isDirectory() || file.isFile() && file.getName().endsWith(".xsb");
- }
- }
+ file1 -> file1.isDirectory() || file1.isFile() && file1.getName().endsWith(".xsb")
);
- for (int i = 0; i < files.length; i++) {
- dump(files[i], false);
+ if (files != null) {
+ for (File value : files) {
+ dump(value, false);
+ }
}
} else if (file.getName().endsWith(".jar") || file.getName().endsWith(".zip")) {
dumpZip(file);
@@ -78,9 +76,9 @@ public class XsbDumper {
public static void dumpZip(File file) {
try {
ZipFile zipFile = new ZipFile(file);
- Enumeration e = zipFile.entries();
+ Enumeration<? extends ZipEntry> e = zipFile.entries();
while (e.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) e.nextElement();
+ ZipEntry entry = e.nextElement();
if (entry.getName().endsWith(".xsb")) {
System.out.println(entry.getName());
dump(zipFile.getInputStream(entry), " ");
@@ -120,28 +118,20 @@ public class XsbDumper {
flush();
}
- void emit() {
- _out.println();
- flush();
- }
-
void error(Exception e) {
_out.println(e.toString());
flush();
- IllegalStateException e2 = new IllegalStateException(e.getMessage());
- e2.initCause(e);
- throw e2;
+ throw new IllegalStateException(e.getMessage(), e);
}
void error(String str) {
_out.println(str);
flush();
- IllegalStateException e2 = new IllegalStateException(str);
- throw e2;
+ throw new IllegalStateException(str);
}
private String _indent;
- private PrintStream _out;
+ private final PrintStream _out;
void indent() {
_indent += " ";
@@ -485,8 +475,8 @@ public class XsbDumper {
class StringPool {
- private List intsToStrings = new ArrayList();
- private Map stringsToInts = new HashMap();
+ private final List<String> intsToStrings = new ArrayList<>();
+ private final Map<String, Integer> stringsToInts = new HashMap<>();
StringPool() {
intsToStrings.add(null);
@@ -496,20 +486,20 @@ public class XsbDumper {
if (code == 0) {
return null;
}
- return (String) intsToStrings.get(code);
+ return intsToStrings.get(code);
}
int codeForString(String str) {
if (str == null) {
return 0;
}
- Integer result = (Integer) stringsToInts.get(str);
+ Integer result = stringsToInts.get(str);
if (result == null) {
- result = new Integer(intsToStrings.size());
+ result = intsToStrings.size();
intsToStrings.add(str);
stringsToInts.put(str, result);
}
- return result.intValue();
+ return result;
}
void readFrom(DataInputStream input) {
@@ -1313,19 +1303,19 @@ public class XsbDumper {
QNameSet readQNameSet() {
int flag = readShort();
- Set uriSet = new HashSet();
+ Set<String> uriSet = new HashSet<>();
int uriCount = readShort();
for (int i = 0; i < uriCount; i++) {
uriSet.add(readString());
}
- Set qnameSet1 = new HashSet();
+ Set<QName> qnameSet1 = new HashSet<>();
int qncount1 = readShort();
for (int i = 0; i < qncount1; i++) {
qnameSet1.add(readQName());
}
- Set qnameSet2 = new HashSet();
+ Set<QName> qnameSet2 = new HashSet<>();
int qncount2 = readShort();
for (int i = 0; i < qncount2; i++) {
qnameSet2.add(readQName());
@@ -1364,8 +1354,6 @@ public class XsbDumper {
return new BigInteger(result);
}
- static final byte[] SINGLE_ZERO_BYTE = new byte[]{(byte) 0};
-
private int _majorver;
private int _minorver;
private int _releaseno;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org