From: Dean H. <dea...@us...> - 2005-03-16 03:32:22
|
Update of /cvsroot/ant-contrib/ant-contrib/src/net/sf/antcontrib/design In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17381/src/net/sf/antcontrib/design Modified Files: Design.java DesignFileHandler.java Package.java VerifyDesign.java VerifyDesignDelegate.java Log Message: add needDeclarations/DependsDefault attributes as well as adding ability to use needDepends attribute in design file. Index: Design.java =================================================================== RCS file: /cvsroot/ant-contrib/ant-contrib/src/net/sf/antcontrib/design/Design.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Design.java 13 Mar 2005 23:12:22 -0000 1.14 --- Design.java 16 Mar 2005 03:31:45 -0000 1.15 *************** *** 182,187 **** /** * @param className */ ! public void setCurrentClass(String className) { currentClass = className; String packageName = VerifyDesignDelegate.getPackageName(className); --- 182,189 ---- /** * @param className + * @return whether or not this class needs to be checked. (ie. if the + * attribute needdepends=false, we don't care about this package. */ ! public boolean needEvalCurrentClass(String className) { currentClass = className; String packageName = VerifyDesignDelegate.getPackageName(className); *************** *** 201,204 **** --- 203,210 ---- if(!className.startsWith(currentPackageName)) throw new RuntimeException("Internal Error"); + + if(!currentAliasPackage.getNeedDepends()) + return false; + return true; } Index: DesignFileHandler.java =================================================================== RCS file: /cvsroot/ant-contrib/ant-contrib/src/net/sf/antcontrib/design/DesignFileHandler.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DesignFileHandler.java 21 Jan 2005 09:03:49 -0000 1.7 --- DesignFileHandler.java 16 Mar 2005 03:31:45 -0000 1.8 *************** *** 41,45 **** private File file = null; private boolean isCircularDesign; ! private Design design = null; private Package currentPackage = null; --- 41,47 ---- private File file = null; private boolean isCircularDesign; ! private boolean needDeclarationsDefault = true; ! private boolean needDependsDefault = true; ! private Design design = null; private Package currentPackage = null; *************** *** 58,61 **** --- 60,77 ---- } + /** + * @param needDeclarationsDefault + */ + public void setNeedDeclarationsDefault(boolean b) { + needDeclarationsDefault = b; + } + + /** + * @param needDependsDefault + */ + public void setNeedDependsDefault(boolean b) { + needDependsDefault = b; + } + public Design getDesign() { return design; *************** *** 155,158 **** --- 171,175 ---- String subpackages = null; String needDeclarations = null; + String needDepends = null; for(int i = 0; i < len; i++) { String attrName = attrs.getLocalName(i); *************** *** 172,175 **** --- 189,194 ---- else if("needdeclarations".equals(attrName)) needDeclarations = value; + else if("needdepends".equals(attrName)) + needDepends = value; else throw new SAXParseException("Error in file="+file.getAbsolutePath() *************** *** 181,186 **** subpackages = "exclude"; if(needDeclarations == null) ! needDeclarations = "true"; ! //make sure every attribute had a valid value... if(name == null) --- 200,207 ---- subpackages = "exclude"; if(needDeclarations == null) ! needDeclarations = Boolean.toString(needDeclarationsDefault); ! if(needDepends == null) ! needDepends = Boolean.toString(needDependsDefault); ! //make sure every attribute had a valid value... if(name == null) *************** *** 198,201 **** --- 219,226 ---- +"\nThe needdeclarations attribute in the package element can only have a" +"\nvalue of \"true\" or \"false\". value='"+needDeclarations+"'", locator); + else if(!("true".equals(needDepends) || "false".equals(needDepends))) + throw new SAXParseException("Error in file="+file.getAbsolutePath() + +"\nThe needdepends attribute in the package element can only have a" + +"\nvalue of \"true\" or \"false\". value='"+needDepends+"'", locator); Package p = new Package(); *************** *** 210,214 **** else p.setNeedDeclarations(false); ! if(depends != null) --- 235,242 ---- else p.setNeedDeclarations(false); ! if("true".equals(needDepends)) ! p.setNeedDepends(true); ! else ! p.setNeedDepends(false); if(depends != null) *************** *** 293,296 **** public void processingInstruction(String target, String data) throws SAXException { } - } \ No newline at end of file --- 321,323 ---- Index: Package.java =================================================================== RCS file: /cvsroot/ant-contrib/ant-contrib/src/net/sf/antcontrib/design/Package.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Package.java 20 Jan 2005 04:13:28 -0000 1.4 --- Package.java 16 Mar 2005 03:31:45 -0000 1.5 *************** *** 42,45 **** --- 42,46 ---- private boolean isIncludeSubpackages; private boolean needDeclarations; + private boolean needDepends; public void setName(String name) { *************** *** 97,99 **** --- 98,110 ---- return needDeclarations; } + /** + * @param b + */ + public void setNeedDepends(boolean b) { + needDepends = b; + } + + public boolean getNeedDepends() { + return needDepends; + } } Index: VerifyDesign.java =================================================================== RCS file: /cvsroot/ant-contrib/ant-contrib/src/net/sf/antcontrib/design/VerifyDesign.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** VerifyDesign.java 7 Mar 2005 14:22:22 -0000 1.11 --- VerifyDesign.java 16 Mar 2005 03:31:46 -0000 1.12 *************** *** 16,25 **** package net.sf.antcontrib.design; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Path; - import java.io.File; - /** * @author dhiller --- 16,25 ---- package net.sf.antcontrib.design; + import java.io.File; + import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.apache.tools.ant.types.Path; /** * @author dhiller *************** *** 54,57 **** --- 54,65 ---- delegate.setFillInBuildException(b); } + + public void setNeedDeclarationsDefault(boolean b) { + delegate.setNeedDeclarationsDefault(b); + } + + public void setNeedDependsDefault(boolean b) { + delegate.setNeedDependsDefault(b); + } public void addConfiguredPath(Path path) { Index: VerifyDesignDelegate.java =================================================================== RCS file: /cvsroot/ant-contrib/ant-contrib/src/net/sf/antcontrib/design/VerifyDesignDelegate.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** VerifyDesignDelegate.java 13 Mar 2005 16:59:33 -0000 1.9 --- VerifyDesignDelegate.java 16 Mar 2005 03:31:46 -0000 1.10 *************** *** 65,68 **** --- 65,70 ---- private boolean deleteFiles = false; private boolean fillInBuildException = false; + private boolean needDeclarationsDefault = true; + private boolean needDependsDefault = true; private Task task; *************** *** 113,116 **** --- 115,126 ---- fillInBuildException = b; } + + public void setNeedDeclarationsDefault(boolean b) { + needDeclarationsDefault = b; + } + + public void setNeedDependsDefault(boolean b) { + needDependsDefault = b; + } public void execute() { *************** *** 123,126 **** --- 133,138 ---- XMLReader reader = JAXPUtils.getXMLReader(); DesignFileHandler ch = new DesignFileHandler(this, designFile, isCircularDesign, task.getLocation()); + ch.setNeedDeclarationsDefault(needDeclarationsDefault); + ch.setNeedDependsDefault(needDependsDefault); reader.setContentHandler(ch); //reader.setEntityResolver(ch); *************** *** 142,145 **** --- 154,158 ---- if (! designErrors.isEmpty()) { + log(designErrors.size()+"Errors.", Project.MSG_WARN); if(!fillInBuildException) throw new BuildException("Design check failed due to previous errors"); *************** *** 335,339 **** className = javaClass.getClassName(); ! d.setCurrentClass(className); ConstantPool pool = javaClass.getConstantPool(); --- 348,353 ---- className = javaClass.getClassName(); ! if(!d.needEvalCurrentClass(className)) ! return; ConstantPool pool = javaClass.getConstantPool(); |