--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java Fri Feb 01 19:30:02 2013 -0800
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java Fri Feb 01 22:12:52 2013 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -180,6 +180,15 @@
}
unknownAttrCommand = uaMode.intern();
}
+ final String classFormatCommand;
+ {
+ String fmtMode = props.getProperty(Utils.CLASS_FORMAT_ERROR, Pack200.Packer.PASS);
+ if (!(Pack200.Packer.PASS.equals(fmtMode) ||
+ Pack200.Packer.ERROR.equals(fmtMode))) {
+ throw new RuntimeException("Bad option: " + Utils.CLASS_FORMAT_ERROR + " = " + fmtMode);
+ }
+ classFormatCommand = fmtMode.intern();
+ }
final Map<Attribute.Layout, Attribute> attrDefs;
final Map<Attribute.Layout, String> attrCommands;
@@ -505,8 +514,7 @@
}
} else if (ioe instanceof ClassReader.ClassFormatException) {
ClassReader.ClassFormatException ce = (ClassReader.ClassFormatException) ioe;
- // %% TODO: Do we invent a new property for this or reuse %%
- if (unknownAttrCommand.equals(Pack200.Packer.PASS)) {
+ if (classFormatCommand.equals(Pack200.Packer.PASS)) {
Utils.log.info(ce.toString());
Utils.log.warning(message + " unknown class format: " +
fname);