svn commit: r1508323 - in /commons/sandbox/monitoring/trunk/reporting/src/main: java/org/apache/commons/monitoring/reporting/web/ java/org/apache/commons/monitoring/reporting/web/handler/ java/org/apa
Author: rmannibucau Date: Tue Jul 30 06:58:19 2013 New Revision: 1508323 URL: http://svn.apache.org/r1508323 Log: moving clear/reset button on report page + adding links to convert in ms/ns/s + mapping report.csv, report.xml, report.json Added: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java - copied, changed from r1508066, commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java Removed: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/util/ Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report.vm commons/sandbox/monitoring/trunk/reporting/src/main/webapp/resources/css/monitoring.css Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java?rev=1508323r1=1508322r2=1508323view=diff == --- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java (original) +++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java Tue Jul 30 06:58:19 2013 @@ -16,6 +16,7 @@ */ package org.apache.commons.monitoring.reporting.web; +import org.apache.commons.monitoring.reporting.format.Format; import org.apache.commons.monitoring.reporting.template.Templates; import org.apache.commons.monitoring.reporting.web.handler.ClearHandler; import org.apache.commons.monitoring.reporting.web.handler.FilteringHandler; @@ -56,7 +57,10 @@ public class MonitoringController implem defaultHandler = new HtmlHandler(home.vm); handlers.put(/, defaultHandler); handlers.put(/home, defaultHandler); -handlers.put(/report, new ReportHandler()); +handlers.put(/report, new ReportHandler(Format.Defaults.HTML)); +handlers.put(/report.csv, new ReportHandler(Format.Defaults.CSV)); +handlers.put(/report.json, new ReportHandler(Format.Defaults.JSON)); +handlers.put(/report.xml, new ReportHandler(Format.Defaults.XML)); handlers.put(/clear, new ClearHandler()); handlers.put(/reset, new ResetHandler()); handlers.put(/resources/css/monitoring.css, FilteringHandler.INSTANCE); // filtered to get the right base for pictures Copied: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java (from r1508066, commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java) URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java?p2=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.javap1=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.javar1=1508066r2=1508323rev=1508323view=diff == --- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java (original) +++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java Tue Jul 30 06:58:19 2013 @@ -17,54 +17,19 @@ package org.apache.commons.monitoring.reporting.web.handler; import org.apache.commons.monitoring.reporting.format.Format; -import org.apache.commons.monitoring.reporting.web.util.HttpUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; public class ReportHandler implements Handler { -private static MapString, Format extensions = new HashMapString, Format(); -private static MapString, Format formats = new HashMapString, Format(); +private final Format format; -static { -formats.put(application/json, Format.Defaults.JSON); -formats.put(text/javascript, Format.Defaults.JSON); -formats.put(application/xml, Format.Defaults.XML); -formats.put(text/xml, Format.Defaults.XML); -formats.put(text/plain,
svn commit: r1508324 - in /commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format: MapFormat.java RenderingContext.java RoleFilter.java
Author: rmannibucau Date: Tue Jul 30 06:59:49 2013 New Revision: 1508324 URL: http://svn.apache.org/r1508324 Log: removing unused classes Removed: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/RenderingContext.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/RoleFilter.java Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/MapFormat.java Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/MapFormat.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/MapFormat.java?rev=1508324r1=1508323r2=1508324view=diff == --- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/MapFormat.java (original) +++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/format/MapFormat.java Tue Jul 30 06:59:49 2013 @@ -26,7 +26,7 @@ import java.util.Collection; import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; -public class MapFormat { +public abstract class MapFormat { protected static final CollectionString ATTRIBUTES_ORDERED_LIST = buildMetricDataHeader(); protected static CollectionString buildMetricDataHeader() {
svn commit: r1508328 - in /commons/sandbox/monitoring/trunk: ./ core/src/main/java/org/apache/commons/monitoring/configuration/ reporting/src/main/java/org/apache/commons/monitoring/reporting/template
Author: rmannibucau Date: Tue Jul 30 07:29:00 2013 New Revision: 1508328 URL: http://svn.apache.org/r1508328 Log: adding basic plugin API Added: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HomeHandler.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/Plugin.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginDecoratorHandler.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXHandler.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXPlugin.java commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/ commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java commons/sandbox/monitoring/trunk/pom.xml commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/template/Templates.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HtmlHandler.java commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/page.vm Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java?rev=1508328r1=1508327r2=1508328view=diff == --- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java (original) +++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java Tue Jul 30 07:29:00 2013 @@ -97,6 +97,10 @@ public final class Configuration { return Boolean.parseBoolean(getProperty(key.key, false)); } +public static boolean is(final String key, final boolean defaultValue) { +return Boolean.parseBoolean(getProperty(key, Boolean.toString(defaultValue))); +} + public static String getProperty(final String key, final String defaultValue) { return PROPERTIES.getProperty(key, defaultValue); } Modified: commons/sandbox/monitoring/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/pom.xml?rev=1508328r1=1508327r2=1508328view=diff == --- commons/sandbox/monitoring/trunk/pom.xml (original) +++ commons/sandbox/monitoring/trunk/pom.xml Tue Jul 30 07:29:00 2013 @@ -81,6 +81,7 @@ exclude.gitignore/exclude exclude**/webapp/resources/js/*.js/exclude exclude**/webapp/resources/css/*.css/exclude +exclude**/META-INF/services/*/exclude /excludes /configuration executions Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/template/Templates.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/template/Templates.java?rev=1508328r1=1508327r2=1508328view=diff == --- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/template/Templates.java (original) +++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/template/Templates.java Tue Jul 30 07:29:00 2013 @@ -16,6 +16,7 @@ */ package org.apache.commons.monitoring.reporting.template; +import org.apache.commons.monitoring.reporting.web.plugin.PluginRepository; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; @@ -63,6 +64,10 @@ public final class Templates { context.put(base,
svn commit: r1508406 - /commons/sandbox/monitoring/trunk/
Author: olamy Date: Tue Jul 30 12:24:16 2013 New Revision: 1508406 URL: http://svn.apache.org/r1508406 Log: ignore out directory Modified: commons/sandbox/monitoring/trunk/ (props changed) Propchange: commons/sandbox/monitoring/trunk/ -- --- svn:ignore (original) +++ svn:ignore Tue Jul 30 12:24:16 2013 @@ -11,3 +11,4 @@ work *.iml .idea +out
svn commit: r1508407 - in /commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver: Finder.java Inflater.java model/Weavable.java
Author: mbenson Date: Tue Jul 30 12:24:40 2013 New Revision: 1508407 URL: http://svn.apache.org/r1508407 Log: include all known annotations relevant to some ScanResult Added: commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Inflater.java (with props) Modified: commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Finder.java commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/model/Weavable.java Modified: commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Finder.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Finder.java?rev=1508407r1=1508406r2=1508407view=diff == --- commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Finder.java (original) +++ commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Finder.java Tue Jul 30 12:24:40 2013 @@ -336,8 +336,7 @@ class Finder extends AnnotationFinder im final ClassInfo classInfo = classInfos.get(((Class?) object).getName()); final IncludesClassfileClass? annotated; try { -annotated = -new IncludesClassfileClass?(classInfo.get(), classfileAnnotationsFor(classInfo)); +annotated = new IncludesClassfileClass?(classInfo.get(), classfileAnnotationsFor(classInfo)); } catch (ClassNotFoundException e) { continue; } @@ -501,8 +500,9 @@ class Finder extends AnnotationFinder im } }; -private final MapInfo, ListAnnotation classfileAnnotations; private final WithAnnotations withAnnotations = new WithAnnotations(); +private final MapInfo, ListAnnotation classfileAnnotations; +private final Inflater inflater; /** * Create a new {@link Finder} instance. @@ -513,6 +513,7 @@ class Finder extends AnnotationFinder im super(archive, false); classfileAnnotations = CLASSFILE_ANNOTATIONS.get(); CLASSFILE_ANNOTATIONS.remove(); +inflater = new Inflater(classfileAnnotations); enableFindImplementations(); enableFindSubclasses(); } @@ -602,7 +603,7 @@ class Finder extends AnnotationFinder im } } } -return result; +return inflater.inflate(result); } private Class? toClass(Type type) { Added: commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Inflater.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Inflater.java?rev=1508407view=auto == --- commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Inflater.java (added) +++ commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Inflater.java Tue Jul 30 12:24:40 2013 @@ -0,0 +1,197 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.commons.weaver; + +import java.lang.annotation.Annotation; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.weaver.model.ScanResult; +import org.apache.commons.weaver.model.WeavableClass; +import org.apache.commons.weaver.model.WeavableConstructor; +import org.apache.commons.weaver.model.WeavableConstructorParameter; +import org.apache.commons.weaver.model.WeavableField; +import org.apache.commons.weaver.model.WeavableMethod; +import org.apache.commons.weaver.model.WeavableMethodParameter; +import org.apache.commons.weaver.model.WeavablePackage; +import org.apache.xbean.finder.AnnotationFinder.ClassInfo; +import org.apache.xbean.finder.AnnotationFinder.FieldInfo; +import org.apache.xbean.finder.AnnotationFinder.Info; +import
svn commit: r1508411 - /commons/sandbox/weaver/branches/priv-asm/pom.xml
Author: mbenson Date: Tue Jul 30 12:26:09 2013 New Revision: 1508411 URL: http://svn.apache.org/r1508411 Log: asm dependency management Modified: commons/sandbox/weaver/branches/priv-asm/pom.xml Modified: commons/sandbox/weaver/branches/priv-asm/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/pom.xml?rev=1508411r1=1508410r2=1508411view=diff == --- commons/sandbox/weaver/branches/priv-asm/pom.xml (original) +++ commons/sandbox/weaver/branches/priv-asm/pom.xml Tue Jul 30 12:26:09 2013 @@ -45,6 +45,7 @@ commons.rc.versionRC1/commons.rc.version !--commons.jira.idWEAVER/commons.jira.id commons.jira.pid666/commons.jira.pid-- +asm.version4.1/asm.version /properties developers @@ -106,7 +107,27 @@ dependency groupIdorg.ow2.asm/groupId artifactIdasm/artifactId -version4.1/version +version${asm.version}/version + /dependency + dependency +groupIdorg.ow2.asm/groupId +artifactIdasm-commons/artifactId +version${asm.version}/version + /dependency + dependency +groupIdorg.ow2.asm/groupId +artifactIdasm-tree/artifactId +version${asm.version}/version + /dependency + dependency +groupIdorg.ow2.asm/groupId +artifactIdasm-util/artifactId +version${asm.version}/version + /dependency + dependency +groupIdorg.ow2.asm/groupId +artifactIdasm-debug-all/artifactId +version${asm.version}/version /dependency dependency groupIdjunit/groupId
svn commit: r1508412 - in /commons/sandbox/monitoring/trunk: aop/pom.xml aspectj/pom.xml cdi/pom.xml cxf/pom.xml jdbc/pom.xml pom.xml reporting/pom.xml web/pom.xml
Author: olamy Date: Tue Jul 30 12:29:30 2013 New Revision: 1508412 URL: http://svn.apache.org/r1508412 Log: move dependency to dptMngt in parent pom Modified: commons/sandbox/monitoring/trunk/aop/pom.xml commons/sandbox/monitoring/trunk/aspectj/pom.xml commons/sandbox/monitoring/trunk/cdi/pom.xml commons/sandbox/monitoring/trunk/cxf/pom.xml commons/sandbox/monitoring/trunk/jdbc/pom.xml commons/sandbox/monitoring/trunk/pom.xml commons/sandbox/monitoring/trunk/reporting/pom.xml commons/sandbox/monitoring/trunk/web/pom.xml Modified: commons/sandbox/monitoring/trunk/aop/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/aop/pom.xml?rev=1508412r1=1508411r2=1508412view=diff == --- commons/sandbox/monitoring/trunk/aop/pom.xml (original) +++ commons/sandbox/monitoring/trunk/aop/pom.xml Tue Jul 30 12:29:30 2013 @@ -33,7 +33,6 @@ dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-core/artifactId - version${project.version}/version /dependency dependency groupIdorg.apache.commons/groupId Modified: commons/sandbox/monitoring/trunk/aspectj/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/aspectj/pom.xml?rev=1508412r1=1508411r2=1508412view=diff == --- commons/sandbox/monitoring/trunk/aspectj/pom.xml (original) +++ commons/sandbox/monitoring/trunk/aspectj/pom.xml Tue Jul 30 12:29:30 2013 @@ -29,6 +29,10 @@ artifactIdcommons-monitoring-aspectj/artifactId nameCommons Monitoring (Sandbox) :: AspectJ Integration/name + properties +aspectj.version1.7.3/aspectj.version + /properties + dependencies dependency groupIdorg.aspectj/groupId @@ -38,7 +42,6 @@ dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-aop/artifactId - version${project.version}/version /dependency dependency @@ -65,7 +68,4 @@ /plugins /build - properties -aspectj.version1.7.3/aspectj.version - /properties /project Modified: commons/sandbox/monitoring/trunk/cdi/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/cdi/pom.xml?rev=1508412r1=1508411r2=1508412view=diff == --- commons/sandbox/monitoring/trunk/cdi/pom.xml (original) +++ commons/sandbox/monitoring/trunk/cdi/pom.xml Tue Jul 30 12:29:30 2013 @@ -46,7 +46,6 @@ dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-aop/artifactId - version${project.version}/version /dependency dependency Modified: commons/sandbox/monitoring/trunk/cxf/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/cxf/pom.xml?rev=1508412r1=1508411r2=1508412view=diff == --- commons/sandbox/monitoring/trunk/cxf/pom.xml (original) +++ commons/sandbox/monitoring/trunk/cxf/pom.xml Tue Jul 30 12:29:30 2013 @@ -29,11 +29,14 @@ artifactIdcommons-monitoring-cxf/artifactId nameCommons Monitoring (Sandbox) :: CXF Integration/name + properties +cxf.version2.6.9/cxf.version + /properties + dependencies dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-core/artifactId - version${project.version}/version /dependency dependency groupIdorg.apache.cxf/groupId @@ -53,7 +56,4 @@ /dependency /dependencies - properties -cxf.version2.6.9/cxf.version - /properties /project Modified: commons/sandbox/monitoring/trunk/jdbc/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/pom.xml?rev=1508412r1=1508411r2=1508412view=diff == --- commons/sandbox/monitoring/trunk/jdbc/pom.xml (original) +++ commons/sandbox/monitoring/trunk/jdbc/pom.xml Tue Jul 30 12:29:30 2013 @@ -37,7 +37,6 @@ dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-core/artifactId - version${project.version}/version /dependency dependency Modified: commons/sandbox/monitoring/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/pom.xml?rev=1508412r1=1508411r2=1508412view=diff == --- commons/sandbox/monitoring/trunk/pom.xml (original) +++ commons/sandbox/monitoring/trunk/pom.xml Tue Jul 30 12:29:30 2013 @@ -94,13 +94,6 @@ /executions /plugin /plugins -extensions - extension -groupIdorg.apache.maven.wagon/groupId -artifactIdwagon-webdav/artifactId -version1.0-beta-2/version -
svn commit: r1508414 - in /commons/sandbox/monitoring/trunk: pom.xml spring/pom.xml
Author: olamy Date: Tue Jul 30 12:31:56 2013 New Revision: 1508414 URL: http://svn.apache.org/r1508414 Log: move dependency to dptMngt in parent pom Modified: commons/sandbox/monitoring/trunk/pom.xml commons/sandbox/monitoring/trunk/spring/pom.xml Modified: commons/sandbox/monitoring/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/pom.xml?rev=1508414r1=1508413r2=1508414view=diff == --- commons/sandbox/monitoring/trunk/pom.xml (original) +++ commons/sandbox/monitoring/trunk/pom.xml Tue Jul 30 12:31:56 2013 @@ -136,6 +136,11 @@ artifactIdcommons-monitoring-aop/artifactId version${project.version}/version /dependency + dependency +groupIdorg.apache.commons.monitoring/groupId +artifactIdcommons-monitoring-instrumentation/artifactId +version${project.version}/version + /dependency /dependencies /dependencyManagement Modified: commons/sandbox/monitoring/trunk/spring/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/spring/pom.xml?rev=1508414r1=1508413r2=1508414view=diff == --- commons/sandbox/monitoring/trunk/spring/pom.xml (original) +++ commons/sandbox/monitoring/trunk/spring/pom.xml Tue Jul 30 12:31:56 2013 @@ -27,36 +27,38 @@ artifactIdcommons-monitoring-spring/artifactId nameCommons Monitoring (Sandbox) :: Spring Integration/name + properties +spring.version2.5.6/spring.version + /properties + dependencies dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId - version2.5.6/version + version${spring.version}/version /dependency dependency groupIdorg.springframework/groupId artifactIdspring-beans/artifactId - version2.5.6/version + version${spring.version}/version /dependency dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-core/artifactId - version${project.version}/version /dependency dependency groupIdorg.apache.commons.monitoring/groupId artifactIdcommons-monitoring-instrumentation/artifactId - version${project.version}/version /dependency dependency groupIdorg.springframework/groupId artifactIdspring-aop/artifactId - version2.5.6/version + version${spring.version}/version /dependency dependency groupIdorg.springframework/groupId artifactIdspring-web/artifactId - version2.5.6/version + version${spring.version}/version optionaltrue/optional /dependency dependency
svn commit: r1508417 - /commons/sandbox/monitoring/trunk/spring/pom.xml
Author: olamy Date: Tue Jul 30 12:33:13 2013 New Revision: 1508417 URL: http://svn.apache.org/r1508417 Log: use last spring version Modified: commons/sandbox/monitoring/trunk/spring/pom.xml Modified: commons/sandbox/monitoring/trunk/spring/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/spring/pom.xml?rev=1508417r1=1508416r2=1508417view=diff == --- commons/sandbox/monitoring/trunk/spring/pom.xml (original) +++ commons/sandbox/monitoring/trunk/spring/pom.xml Tue Jul 30 12:33:13 2013 @@ -28,7 +28,7 @@ nameCommons Monitoring (Sandbox) :: Spring Integration/name properties -spring.version2.5.6/spring.version +spring.version3.2.3.RELEASE/spring.version /properties dependencies
svn commit: r1508419 - /commons/sandbox/monitoring/trunk/reporting/pom.xml
Author: olamy Date: Tue Jul 30 12:36:34 2013 New Revision: 1508419 URL: http://svn.apache.org/r1508419 Log: remove non needed repository Modified: commons/sandbox/monitoring/trunk/reporting/pom.xml Modified: commons/sandbox/monitoring/trunk/reporting/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/pom.xml?rev=1508419r1=1508418r2=1508419view=diff == --- commons/sandbox/monitoring/trunk/reporting/pom.xml (original) +++ commons/sandbox/monitoring/trunk/reporting/pom.xml Tue Jul 30 12:36:34 2013 @@ -57,13 +57,6 @@ /dependency /dependencies - repositories -repository - idjava.net/id - urlhttp://download.java.net/maven/2/url -/repository - /repositories - build plugins plugin
svn commit: r1508420 - /commons/sandbox/monitoring/trunk/pom.xml
Author: olamy Date: Tue Jul 30 12:38:10 2013 New Revision: 1508420 URL: http://svn.apache.org/r1508420 Log: surefire 2.15 Modified: commons/sandbox/monitoring/trunk/pom.xml Modified: commons/sandbox/monitoring/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/pom.xml?rev=1508420r1=1508419r2=1508420view=diff == --- commons/sandbox/monitoring/trunk/pom.xml (original) +++ commons/sandbox/monitoring/trunk/pom.xml Tue Jul 30 12:38:10 2013 @@ -65,6 +65,15 @@ /scm build +pluginManagement + plugins +plugin + groupIdorg.apache.maven.plugins/groupId + artifactIdmaven-surefire-plugin/artifactId + version2.15/version +/plugin + /plugins +/pluginManagement plugins plugin groupIdorg.apache.rat/groupId
svn commit: r1508472 - /commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java
Author: ggregory Date: Tue Jul 30 14:44:48 2013 New Revision: 1508472 URL: http://svn.apache.org/r1508472 Log: [CSV-99] Revert Builder implementation in CSVFormat. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1508472r1=1508471r2=1508472view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Tue Jul 30 14:44:48 2013 @@ -38,7 +38,7 @@ import java.util.Arrays; * /p * You can extend a format through a builder. For example, to extend the Excel format with columns header, you write: * /p - * preCSVFormat.EXCEL.toBuilder().withHeader(quot;Col1quot;, quot;Col2quot;, quot;Col3quot;).build();/pre + * preCSVFormat.EXCEL.toBuilder().withHeader(quot;Col1quot;, quot;Col2quot;, quot;Col3quot;);/pre * p * You can parse through a format. For example, to parse an Excel file with columns header, you write: * /p @@ -108,7 +108,7 @@ public class CSVFormat implements Serial * For example for parsing or generating a CSV file on a French system the following format will be used: * * pre - * CSVFormat fmt = CSVFormat.newBuilder(EXCEL).withDelimiter(';').build(); + * CSVFormat fmt = CSVFormat.newBuilder(EXCEL).withDelimiter(';'); * /pre * Settings are: * ul
svn commit: r1508475 - in /commons/proper/csv/trunk/src/main/java/org/apache/commons/csv: CSVParser.java Lexer.java
Author: ggregory Date: Tue Jul 30 14:50:42 2013 New Revision: 1508475 URL: http://svn.apache.org/r1508475 Log: Allow a caller to close the parser before reading all records and free resources. The parser and lexer now implement java.io.Closeable. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508475r1=1508474r2=1508475view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 14:50:42 2013 @@ -19,6 +19,7 @@ package org.apache.commons.csv; import static org.apache.commons.csv.Token.Type.TOKEN; +import java.io.Closeable; import java.io.IOException; import java.io.Reader; import java.io.StringReader; @@ -80,7 +81,7 @@ import java.util.NoSuchElementException; * * @version $Id$ */ -public class CSVParser implements IterableCSVRecord { +public class CSVParser implements IterableCSVRecord, Closeable { private final Lexer lexer; private final MapString, Integer headerMap; @@ -234,6 +235,15 @@ public class CSVParser implements Iterab }} /** + * Closes resources. + */ + public void close() throws IOException { + if (lexer != null) { + lexer.close(); + } + } + +/** * Parses the CSV input according to the given format and returns the content as an array of {@link CSVRecord} * entries. * p/ @@ -326,4 +336,5 @@ public class CSVParser implements Iterab } }; } + } Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java?rev=1508475r1=1508474r2=1508475view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java Tue Jul 30 14:50:42 2013 @@ -25,6 +25,7 @@ import static org.apache.commons.csv.Con import static org.apache.commons.csv.Constants.TAB; import static org.apache.commons.csv.Constants.UNDEFINED; +import java.io.Closeable; import java.io.IOException; /** @@ -32,7 +33,7 @@ import java.io.IOException; * * @version $Id$ */ -abstract class Lexer { +abstract class Lexer implements Closeable { /** * Constant char to use for disabling comments, escapes and encapsulation. The value -2 is used because it @@ -191,7 +192,15 @@ abstract class Lexer { return c == delimiter || c == escape || c == quoteChar || - c == commmentStart - ; + c == commmentStart; } + +/** + * Closes resources. + */ + public void close() throws IOException { + if (in != null) { + in.close(); + } + } }
svn commit: r1508481 [5/5] - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math3/fitting/leastsquares/ main/java/org/apache/commons/math3/optim/ test/java/org/apache/commons/math3/fi
Added: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/StatisticalReferenceDataset.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/StatisticalReferenceDataset.java?rev=1508481view=auto == --- commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/StatisticalReferenceDataset.java (added) +++ commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/StatisticalReferenceDataset.java Tue Jul 30 15:04:22 2013 @@ -0,0 +1,370 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math3.fitting.leastsquares; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.ArrayList; +import org.apache.commons.math3.analysis.MultivariateVectorFunction; +import org.apache.commons.math3.analysis.MultivariateMatrixFunction; +import org.apache.commons.math3.util.MathArrays; + +/** + * This class gives access to the statistical reference datasets provided by the + * NIST (available + * a href=http://www.itl.nist.gov/div898/strd/general/dataarchive.html;here/a). + * Instances of this class can be created by invocation of the + * {@link StatisticalReferenceDatasetFactory}. + */ +public abstract class StatisticalReferenceDataset { +/** The name of this dataset. */ +private final String name; +/** The total number of observations (data points). */ +private final int numObservations; +/** The total number of parameters. */ +private final int numParameters; +/** The total number of starting points for the optimizations. */ +private final int numStartingPoints; +/** The values of the predictor. */ +private final double[] x; +/** The values of the response. */ +private final double[] y; +/** + * The starting values. {@code startingValues[j][i]} is the value of the + * {@code i}-th parameter in the {@code j}-th set of starting values. + */ +private final double[][] startingValues; +/** The certified values of the parameters. */ +private final double[] a; +/** The certified values of the standard deviation of the parameters. */ +private final double[] sigA; +/** The certified value of the residual sum of squares. */ +private double residualSumOfSquares; +/** The least-squares problem. */ +private final LeastSquaresProblem problem; + +/** + * Creates a new instance of this class from the specified data file. The + * file must follow the StRD format. + * + * @param in the data file + * @throws IOException if an I/O error occurs + */ +public StatisticalReferenceDataset(final BufferedReader in) +throws IOException { + +final ArrayListString lines = new ArrayListString(); +for (String line = in.readLine(); line != null; line = in.readLine()) { +lines.add(line); +} +int[] index = findLineNumbers(Data, lines); +if (index == null) { +throw new AssertionError(could not find line indices for data); +} +this.numObservations = index[1] - index[0] + 1; +this.x = new double[this.numObservations]; +this.y = new double[this.numObservations]; +for (int i = 0; i this.numObservations; i++) { +final String line = lines.get(index[0] + i - 1); +final String[] tokens = line.trim().split( ++); +// Data columns are in reverse order!!! +this.y[i] = Double.parseDouble(tokens[0]); +this.x[i] = Double.parseDouble(tokens[1]); +} + +index = findLineNumbers(Starting Values, lines); +if (index == null) { +throw new AssertionError( + could not find line indices for starting values); +} +this.numParameters = index[1] - index[0] + 1; + +double[][] start = null; +this.a = new double[numParameters]; +this.sigA = new double[numParameters]; +for (int i = 0; i numParameters; i++) { +final
svn commit: r1508481 [3/5] - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math3/fitting/leastsquares/ main/java/org/apache/commons/math3/optim/ test/java/org/apache/commons/math3/fi
Added: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/GaussNewtonOptimizerTest.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/GaussNewtonOptimizerTest.java?rev=1508481view=auto == --- commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/GaussNewtonOptimizerTest.java (added) +++ commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/GaussNewtonOptimizerTest.java Tue Jul 30 15:04:22 2013 @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.math3.fitting.leastsquares; + +import java.io.IOException; +import org.apache.commons.math3.exception.ConvergenceException; +import org.apache.commons.math3.exception.TooManyEvaluationsException; +import org.apache.commons.math3.exception.MathUnsupportedOperationException; +import org.apache.commons.math3.optim.SimpleVectorValueChecker; +import org.apache.commons.math3.linear.DiagonalMatrix; +import org.junit.Test; + +/** + * pSome of the unit tests are re-implementations of the MINPACK a + * href=http://www.netlib.org/minpack/ex/file17;file17/a and a + * href=http://www.netlib.org/minpack/ex/file22;file22/a test files. + * The redistribution policy for MINPACK is available a + * href=http://www.netlib.org/minpack/disclaimer;here/a/ + * + * @version $Id$ + */ +public class GaussNewtonOptimizerTest +extends AbstractLeastSquaresOptimizerAbstractTestGaussNewtonOptimizer { +@Override +public GaussNewtonOptimizer createOptimizer() { +return GaussNewtonOptimizer.create() +.withConvergenceChecker(new SimpleVectorValueChecker(1e-6, 1e-6)); +} + +@Override +public int getMaxIterations() { +return 1000; +} + +@Override +@Test(expected=ConvergenceException.class) +public void testMoreEstimatedParametersSimple() { +/* + * Exception is expected with this optimizer + */ +super.testMoreEstimatedParametersSimple(); +} + +@Override +@Test(expected=ConvergenceException.class) +public void testMoreEstimatedParametersUnsorted() { +/* + * Exception is expected with this optimizer + */ +super.testMoreEstimatedParametersUnsorted(); +} + +@Test(expected=TooManyEvaluationsException.class) +public void testMaxEvaluations() throws Exception { +CircleVectorial circle = new CircleVectorial(); +circle.addPoint( 30.0, 68.0); +circle.addPoint( 50.0, -6.0); +circle.addPoint(110.0, -20.0); +circle.addPoint( 35.0, 15.0); +circle.addPoint( 45.0, 97.0); + +GaussNewtonOptimizer optimizer = createOptimizer() +.withConvergenceChecker(new SimpleVectorValueChecker(1e-30, 1e-30)) +.withMaxIterations(Integer.MAX_VALUE) +.withMaxEvaluations(100) +.withModelAndJacobian(circle.getModelFunction(), + circle.getModelFunctionJacobian()) +.withTarget(new double[] { 0, 0, 0, 0, 0 }) +.withWeight(new DiagonalMatrix(new double[] { 1, 1, 1, 1, 1 })) +.withStartPoint(new double[] { 98.680, 47.345 }); + +optimizer.optimize(); +} + +@Override +@Test(expected=ConvergenceException.class) +public void testCircleFittingBadInit() { +/* + * This test does not converge with this optimizer. + */ +super.testCircleFittingBadInit(); +} + +@Override +@Test(expected=ConvergenceException.class) +public void testHahn1() +throws IOException { +/* + * TODO This test leads to a singular problem with the Gauss-Newton + * optimizer. This should be inquired. + */ +super.testHahn1(); +} +} Propchange: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/fitting/leastsquares/GaussNewtonOptimizerTest.java -- svn:eol-style = native Propchange:
svn commit: r1508493 - in /commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main: java/org/apache/commons/weaver/privilizer/ java/org/apache/commons/weaver/privilizer/asm/ resour
Author: mbenson Date: Tue Jul 30 15:37:01 2013 New Revision: 1508493 URL: http://svn.apache.org/r1508493 Log: move new asm stuff to basic privilizer package Added: commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/ActionGenerator.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/BlueprintingVisitor.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/Field.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/FieldAccess.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/InlineNestedPrivilegedCalls.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/Privilizer.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/PrivilizerWeaver.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java - copied, changed from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/PrivilizingVisitor.java Removed: commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/ActionGenerator.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/BlueprintingVisitor.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/Field.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/FieldAccess.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/InlineNestedPrivilegedCalls.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/Privilizer.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/PrivilizerWeaver.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/PrivilizingVisitor.java Modified: commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/resources/META-INF/services/org.apache.commons.weaver.spi.Weaver Copied: commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java (from r1508483, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/ActionGenerator.java) URL:
svn commit: r1508498 - in /commons/sandbox/weaver/branches/priv-asm/example: ./ src/main/java/org/apache/commons/weaver/privilizer/example/ src/test/java/org/apache/commons/weaver/privilizer/example/
Author: mbenson Date: Tue Jul 30 15:45:27 2013 New Revision: 1508498 URL: http://svn.apache.org/r1508498 Log: reenable tests (not sure how they got disabled); add first test for field access in blueprint method Modified: commons/sandbox/weaver/branches/priv-asm/example/pom.xml commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/UsingBlueprints.java commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/NoArgsTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/OverloadingTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/PrivateMethodsTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticNoArgsTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticOverloadingTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticPrivateMethodsTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticUsingArgsTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/UsingArgsTest.java commons/sandbox/weaver/branches/priv-asm/example/src/test/java/org/apache/commons/weaver/privilizer/example/UsingBlueprintsTest.java Modified: commons/sandbox/weaver/branches/priv-asm/example/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/example/pom.xml?rev=1508498r1=1508497r2=1508498view=diff == --- commons/sandbox/weaver/branches/priv-asm/example/pom.xml (original) +++ commons/sandbox/weaver/branches/priv-asm/example/pom.xml Tue Jul 30 15:45:27 2013 @@ -28,6 +28,7 @@ properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding privilizer.policyON_INIT/privilizer.policy +privilizer.verifytrue/privilizer.verify /properties dependencies dependency @@ -56,6 +57,7 @@ weaverConfig privilizer.accessLevelPACKAGE/privilizer.accessLevel privilizer.policy${privilizer.policy}/privilizer.policy +privilizer.verify${privilizer.verify}/privilizer.verify /weaverConfig /configuration executions @@ -76,6 +78,25 @@ groupIdorg.apache.commons/groupId artifactIdcommons-weaver-privilizer/artifactId version${project.version}/version +exclusions + exclusion +groupIdorg.ow2.asm/groupId +artifactIdasm/artifactId + /exclusion + exclusion +groupIdorg.ow2.asm/groupId +artifactIdasm-commons/artifactId + /exclusion + exclusion +groupIdorg.ow2.asm/groupId +artifactIdasm-tree/artifactId + /exclusion +/exclusions + /dependency + dependency +groupIdorg.ow2.asm/groupId +artifactIdasm-debug-all/artifactId +version${asm.version}/version /dependency /dependencies /plugin Modified: commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/UsingBlueprints.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/UsingBlueprints.java?rev=1508498r1=1508497r2=1508498view=diff == --- commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/UsingBlueprints.java (original) +++ commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/UsingBlueprints.java Tue Jul 30 15:45:27 2013 @@ -25,6 +25,10 @@ public class UsingBlueprints { return Utils.readPublicConstant(); } +public int utilsReadPrivateField() { +return Utils.readPrivateField(); +} + public String utilsGetProperty() { return Utils.getProperty(); } Modified: commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java?rev=1508498r1=1508497r2=1508498view=diff
svn commit: r1508502 - /commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java
Author: mbenson Date: Tue Jul 30 15:50:42 2013 New Revision: 1508502 URL: http://svn.apache.org/r1508502 Log: unused imports Modified: commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java Modified: commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java?rev=1508502r1=1508501r2=1508502view=diff == --- commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java (original) +++ commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java Tue Jul 30 15:50:42 2013 @@ -34,11 +34,8 @@ import org.apache.commons.lang3.ArrayUti import org.apache.commons.lang3.Validate; import org.apache.commons.lang3.mutable.MutableObject; import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.weaver.privilizer.Privileged; -import org.apache.commons.weaver.privilizer.Privilizing; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; import org.objectweb.asm.FieldVisitor; import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor;
svn commit: r1508503 - in /commons/sandbox/weaver/trunk: ./ example/ example/src/main/java/org/apache/commons/weaver/privilizer/example/ example/src/test/java/org/apache/commons/weaver/privilizer/exam
Author: mbenson Date: Tue Jul 30 15:57:10 2013 New Revision: 1508503 URL: http://svn.apache.org/r1508503 Log: reintegrate privilizer asm branch Added: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Policy.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Policy.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/ - copied from r1508502, commons/sandbox/weaver/branches/priv-asm/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/asm/ commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Inflater.java - copied unchanged from r1508502, commons/sandbox/weaver/branches/priv-asm/processor/src/main/java/org/apache/commons/weaver/Inflater.java Modified: commons/sandbox/weaver/trunk/ (props changed) commons/sandbox/weaver/trunk/example/pom.xml commons/sandbox/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/UsingBlueprints.java commons/sandbox/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/NoArgsTest.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/OverloadingTest.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/PrivateMethodsTest.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticNoArgsTest.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticOverloadingTest.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticPrivateMethodsTest.java commons/sandbox/weaver/trunk/example/src/test/java/org/apache/commons/weaver/privilizer/example/StaticUsingArgsTest.java
svn commit: r1508509 - in /commons/proper/csv/trunk/src: main/java/org/apache/commons/csv/ test/java/org/apache/commons/csv/
Author: ggregory Date: Tue Jul 30 16:22:07 2013 New Revision: 1508509 URL: http://svn.apache.org/r1508509 Log: Change CSVFormat#IterableCSVRecord parse(final Reader in) to return a CSVParser, which is compatible since CSVParser implements IterableCSVRecord. This allows a caller to end the parsing by calling CSVParser#close() or to use CSVParser in a Java 7 try-with-resources, without tracking a reader or input stream. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1508509r1=1508508r2=1508509view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Tue Jul 30 16:22:07 2013 @@ -449,16 +449,16 @@ public class CSVFormat implements Serial return quoteChar != null; } -/** - * Parses the specified content. - * - * @param in - *the input stream - * @return a stream of CSVRecord - * @throws IOException - * If an I/O error occurs - */ -public IterableCSVRecord parse(final Reader in) throws IOException { + /** +* Parses the specified content. +* +* @param in +*the input stream +* @return a parser over a stream of {@link #CSVRecord}s. +* @throws IOException +* If an I/O error occurs +*/ +public CSVParser parse(final Reader in) throws IOException { return new CSVParser(in, this); } Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508509r1=1508508r2=1508509view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 16:22:07 2013 @@ -236,6 +236,9 @@ public class CSVParser implements Iterab /** * Closes resources. + * +* @throws IOException +* If an I/O error occurs */ public void close() throws IOException { if (lexer != null) { @@ -309,6 +312,9 @@ public class CSVParser implements Iterab } public boolean hasNext() { + if (isClosed()) { + return false; + } if (current == null) { current = getNextRecord(); } @@ -317,6 +323,9 @@ public class CSVParser implements Iterab } public CSVRecord next() { + if (isClosed()) { + return null; + } CSVRecord next = current; current = null; @@ -337,4 +346,8 @@ public class CSVParser implements Iterab }; } + public boolean isClosed() { + return lexer.isClosed(); + } + } Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java?rev=1508509r1=1508508r2=1508509view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java Tue Jul 30 16:22:07 2013 @@ -41,6 +41,8 @@ final class ExtendedBufferedReader exten /** The count of EOLs (CR/LF/CRLF) seen so far */ private long eolCounter = 0; + +private boolean closed; /** * Created extended buffered reader using default buffer-size @@ -154,4 +156,23 @@ final class ExtendedBufferedReader exten } return eolCounter + 1; // Allow for counter being incremented only at EOL } + + public boolean isClosed() { + return closed; + } + + /** +* Closes the stream. +* +* @throws IOException +* If an I/O error occurs +*/ +
svn commit: r1508510 - /commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java
Author: ggregory Date: Tue Jul 30 16:25:30 2013 New Revision: 1508510 URL: http://svn.apache.org/r1508510 Log: Better lvar name. Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java?rev=1508510r1=1508509r2=1508510view=diff == --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java Tue Jul 30 16:25:30 2013 @@ -88,7 +88,7 @@ public class CSVFileParserTest { final String[] split = line.split( ); assertTrue(testName+ require 1 param, split.length = 1); // first line starts with csv data file name -final BufferedReader csvFile = new BufferedReader(new FileReader(new File(BASE, split[0]))); +final BufferedReader csvFileReader = new BufferedReader(new FileReader(new File(BASE, split[0]))); CSVFormat format = CSVFormat.newFormat(',').withQuoteChar(''); boolean checkComments = false; for(int i=1; i split.length; i++) { @@ -110,7 +110,7 @@ public class CSVFileParserTest { assertEquals(testName+ Expected format , line, format.toString()); // Now parse the file and compare against the expected results -for(final CSVRecord record : format.parse(csvFile)) { +for(final CSVRecord record : format.parse(csvFileReader)) { String parsed = record.toString(); if (checkComments) { final String comment = record.getComment().replace(\n, \\n);
svn commit: r1508511 - /commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
Author: ggregory Date: Tue Jul 30 16:26:43 2013 New Revision: 1508511 URL: http://svn.apache.org/r1508511 Log: Sort members. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508511r1=1508510r2=1508511view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 16:26:43 2013 @@ -83,15 +83,15 @@ import java.util.NoSuchElementException; */ public class CSVParser implements IterableCSVRecord, Closeable { -private final Lexer lexer; -private final MapString, Integer headerMap; -private long recordNumber; private final CSVFormat format; +private final MapString, Integer headerMap; +private final Lexer lexer; +/** A record buffer for getRecord(). Grows as necessary and is reused. */ +private final ListString record = new ArrayListString(); // the following objects are shared to reduce garbage -/** A record buffer for getRecord(). Grows as necessary and is reused. */ -private final ListString record = new ArrayListString(); +private long recordNumber; private final Token reusableToken = new Token(); /** @@ -143,17 +143,26 @@ public class CSVParser implements Iterab this(new StringReader(input), format); } +private void addRecordValue() { +final String input = reusableToken.content.toString(); +final String nullString = this.format.getNullString(); +if (nullString == null) { +record.add(input); +} else { +record.add(input.equalsIgnoreCase(nullString) ? null : input); +}} + /** - * Returns a copy of the header map that iterates in column order. - * p - * The map keys are column names. - * The map values are 0-based indices. - * - * @return a copy of the header map that iterates in column order. + * Closes resources. + * +* @throws IOException +* If an I/O error occurs */ -public MapString, Integer getHeaderMap() { -return new LinkedHashMapString, Integer(headerMap); -} + public void close() throws IOException { + if (lexer != null) { + lexer.close(); + } + } /** * Returns the current line number in the input stream. @@ -167,6 +176,18 @@ public class CSVParser implements Iterab } /** + * Returns a copy of the header map that iterates in column order. + * p + * The map keys are column names. + * The map values are 0-based indices. + * + * @return a copy of the header map that iterates in column order. + */ +public MapString, Integer getHeaderMap() { +return new LinkedHashMapString, Integer(headerMap); +} + +/** * Returns the current record number in the input stream. * p/ * ATTENTION: If your CSV input has multi-line values, the returned number does not correspond to the line number. @@ -178,75 +199,6 @@ public class CSVParser implements Iterab } /** - * Parses the next record from the current point in the stream. - * - * @return the record as an array of values, or ttnull/tt if the end of the stream has been reached - * @throws IOException - * on parse error or input read-failure - */ -CSVRecord nextRecord() throws IOException { -CSVRecord result = null; -record.clear(); -StringBuilder sb = null; -do { -reusableToken.reset(); -lexer.nextToken(reusableToken); -switch (reusableToken.type) { -case TOKEN: -this.addRecordValue(); -break; -case EORECORD: -this.addRecordValue(); -break; -case EOF: -if (reusableToken.isReady) { -this.addRecordValue(); -} -break; -case INVALID: -throw new IOException((line + getCurrentLineNumber() + ) invalid parse sequence); -case COMMENT: // Ignored currently -if (sb == null) { // first comment for this record -sb = new StringBuilder(); -} else { -sb.append(Constants.LF); -} -sb.append(reusableToken.content); -reusableToken.type = TOKEN; // Read another token -break; -} -} while (reusableToken.type == TOKEN); - -if (!record.isEmpty()) { -
svn commit: r1508520 - in /commons/sandbox/weaver/trunk: pom.xml processor/src/main/java/org/apache/commons/weaver/Finder.java
Author: mbenson Date: Tue Jul 30 16:55:59 2013 New Revision: 1508520 URL: http://svn.apache.org/r1508520 Log: upgrade to xbean-finder 3.14 and asm4 Modified: commons/sandbox/weaver/trunk/pom.xml commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Finder.java Modified: commons/sandbox/weaver/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/pom.xml?rev=1508520r1=1508519r2=1508520view=diff == --- commons/sandbox/weaver/trunk/pom.xml (original) +++ commons/sandbox/weaver/trunk/pom.xml Tue Jul 30 16:55:59 2013 @@ -87,7 +87,7 @@ dependency groupIdorg.apache.xbean/groupId artifactIdxbean-finder-shaded/artifactId -version3.13/version +version3.14/version /dependency dependency groupIdorg.apache.commons/groupId Modified: commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Finder.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Finder.java?rev=1508520r1=1508519r2=1508520view=diff == --- commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Finder.java (original) +++ commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Finder.java Tue Jul 30 16:55:59 2013 @@ -7,6 +7,7 @@ import java.lang.reflect.AnnotatedElemen import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.Field; +import java.lang.reflect.Member; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; @@ -21,13 +22,13 @@ import org.apache.commons.weaver.model.S import org.apache.commons.weaver.model.Scanner; import org.apache.commons.weaver.model.WeaveInterest; import org.apache.commons.weaver.utils.Annotations; -import org.apache.xbean.asm.AnnotationVisitor; -import org.apache.xbean.asm.Attribute; -import org.apache.xbean.asm.ClassReader; -import org.apache.xbean.asm.FieldVisitor; -import org.apache.xbean.asm.MethodVisitor; -import org.apache.xbean.asm.Type; -import org.apache.xbean.asm.commons.EmptyVisitor; +import org.apache.xbean.asm4.AnnotationVisitor; +import org.apache.xbean.asm4.ClassReader; +import org.apache.xbean.asm4.ClassVisitor; +import org.apache.xbean.asm4.FieldVisitor; +import org.apache.xbean.asm4.MethodVisitor; +import org.apache.xbean.asm4.Opcodes; +import org.apache.xbean.asm4.Type; import org.apache.xbean.finder.Annotated; import org.apache.xbean.finder.AnnotationFinder; import org.apache.xbean.finder.Parameter; @@ -42,8 +43,8 @@ class Finder extends AnnotationFinder im final Class? extends Annotation annotationType; final MapString, Object elements = new LinkedHashMapString, Object(); -AnnotationInflater(String desc) { -super(); +AnnotationInflater(String desc, AnnotationVisitor wrapped) { +super(wrapped); this.annotationType = toClass(Type.getType(desc)).asSubclass(Annotation.class); } @@ -80,7 +81,10 @@ class Finder extends AnnotationFinder im } } -private abstract class AnnotationCapturer implements AnnotationVisitor { +private abstract class AnnotationCapturer extends AnnotationVisitor { +public AnnotationCapturer(AnnotationVisitor wrapped) { +super(Opcodes.ASM4, wrapped); +} protected abstract void storeValue(String name, Object value); @@ -92,7 +96,7 @@ class Finder extends AnnotationFinder im @Override public AnnotationVisitor visitAnnotation(final String name, final String desc) { final AnnotationCapturer owner = this; -return new AnnotationInflater(desc) { +return new AnnotationInflater(desc, super.visitAnnotation(name, desc)) { @Override public void visitEnd() { @@ -105,11 +109,12 @@ class Finder extends AnnotationFinder im public AnnotationVisitor visitArray(final String name) { final AnnotationCapturer owner = this; final ListObject values = new ArrayListObject(); -return new AnnotationCapturer() { +return new AnnotationCapturer(super.visitArray(name)) { @Override public void visitEnd() { owner.storeValue(name, values.toArray()); +super.visitEnd(); } @Override @@ -121,6 +126,7 @@ class Finder extends AnnotationFinder im @Override public void visitEnum(String name, String desc, String value) { +super.visitEnum(name, desc, value); @SuppressWarnings(rawtypes) final Class? extends Enum enumType; try { @@ -135,84 +141,144 @@ class Finder
svn commit: r1508544 - in /commons/proper/csv/trunk/src: main/java/org/apache/commons/csv/ test/java/org/apache/commons/csv/
Author: ggregory Date: Tue Jul 30 17:36:34 2013 New Revision: 1508544 URL: http://svn.apache.org/r1508544 Log: Refactor to only have minimal CSVParser constructors in favor of CSVParser factory methods for String, resource path, URL, and File. Update some tests to use the APIs. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFileParserTest.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVPrinterTest.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1508544r1=1508543r2=1508544view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Tue Jul 30 17:36:34 2013 @@ -452,6 +452,10 @@ public class CSVFormat implements Serial /** * Parses the specified content. * +* p +* See also the various static parse methods on {@link CSVParser}. +* /p +* * @param in *the input stream * @return a parser over a stream of {@link #CSVRecord}s. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508544r1=1508543r2=1508544view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 17:36:34 2013 @@ -20,9 +20,14 @@ package org.apache.commons.csv; import static org.apache.commons.csv.Token.Type.TOKEN; import java.io.Closeable; +import java.io.File; +import java.io.FileReader; import java.io.IOException; +import java.io.InputStreamReader; import java.io.Reader; import java.io.StringReader; +import java.net.URL; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; @@ -32,15 +37,15 @@ import java.util.NoSuchElementException; /** * Parses CSV files according to the specified configuration. - * + * * Because CSV appears in many different dialects, the parser supports many configuration settings by allowing the * specification of a {@link CSVFormat}. - * + * * p - * To parse a CSV input with tabs as separators, '' (double-quote) as an optional value encapsulator, - * and comments starting with '#', you write: + * To parse a CSV input with tabs as separators, '' (double-quote) as an optional value encapsulator, and comments + * starting with '#', you write: * /p - * + * * pre * Reader in = new StringReader(quot;a\tb\nc\tdquot;); * Iterablelt;CSVRecordgt; parser = CSVFormat.DEFAULT @@ -51,11 +56,11 @@ import java.util.NoSuchElementException; * ... * } * /pre - * + * * p * To parse CSV input in a given format like Excel, you write: * /p - * + * * pre * Reader in = new StringReader(a;b\nc;d); * Iterablelt;CSVRecordgt; parser = CSVFormat.EXCEL.parse(in); @@ -66,37 +71,142 @@ import java.util.NoSuchElementException; * p * You may also get a List of records: * /p + * * pre - * Reader in = new StringReader(a;b\nc;d); + * Reader in = new StringReader(quot;a;b\nc;dquot;); * CSVParser parser = new CSVParser(in, CSVFormat.EXCEL); * Listlt;CSVRecordgt; list = parser.getRecords(); * /pre * p + * See also the various static parse methods on this class. + * /p + * p * Internal parser state is completely covered by the format and the reader-state. * /p - * + * * p * see a href=package-summary.htmlpackage documentation/a for more details * /p - * + * * @version $Id$ */ public class CSVParser implements IterableCSVRecord, Closeable { +/** + * Creates a parser for the given resource. + * + * p + * If you do not read all records from the given source, you should call {@link #close()} on the parser. + * /p + * + * @param resource + *a resource path + * @param charset + *the charset for the resource + * @param classLoader + *the class loader to load the resource. + * @param format + *the CSVFormat used for CSV parsing + * @return a new parser + * @throws IOException + * If an I/O error occurs + */ +public static CSVParser
svn commit: r1508553 - in /commons/sandbox/weaver/trunk: modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ processor/src/main/java/org/apache/commons/weaver/ processor/src/
Author: mbenson Date: Tue Jul 30 17:54:58 2013 New Revision: 1508553 URL: http://svn.apache.org/r1508553 Log: promote logging to the WeaveEnvironment; create a new one for every Weaver/Cleaner invoked, with its very own logger Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java commons/sandbox/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java?rev=1508553r1=1508552r2=1508553view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java Tue Jul 30 17:54:58 2013 @@ -114,7 +114,7 @@ class ActionGenerator extends Privilizer init(); impl(); visitEnd(); -owner.privilizer().debug(Generated %s implementation %s to call %s#%s, actionInterface.getClassName(), +owner.privilizer().env.debug(Generated %s implementation %s to call %s#%s, actionInterface.getClassName(), action.getClassName(), owner.target.getClassName(), helper); return action; } @@ -125,7 +125,7 @@ class ActionGenerator extends Privilizer * (__privileged_): */ private void generateHelper() { -owner.privilizer().debug(Generating static helper method %s.%s to call %s, owner.target.getClassName(), +owner.privilizer().env.debug(Generating static helper method %s.%s to call %s, owner.target.getClassName(), helper, impl); final GeneratorAdapter mg = new GeneratorAdapter(Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC, helper, null, exceptions, owner); Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java?rev=1508553r1=1508552r2=1508553view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java Tue Jul 30 17:54:58 2013 @@ -142,8 +142,7 @@ class BlueprintingVisitor extends Privil new StringBuilder(key.getLeft().getInternalName().replace('/', '_')).append($$) .append(key.getRight().getName()).toString(); importedMethods.put(key, result); - -privilizer().debug(importing %s#%s as %s, key.getLeft().getClassName(), key.getRight(), result); +privilizer().env.debug(importing %s#%s as %s, key.getLeft().getClassName(), key.getRight(), result); final int access = Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_SYNTHETIC; final MethodNode source = getMethods(key.getLeft()).get(key.getRight()); @@ -154,7 +153,17 @@ class BlueprintingVisitor extends Privil // non-public fields accessed final SetFieldAccess fieldAccesses = new LinkedHashSetFieldAccess(); -source.accept(new FieldAccessAccumulator(fieldAccesses)); +source.accept(new MethodVisitor(Opcodes.ASM4) { +@Override +public void visitFieldInsn(int opcode, String owner, String name, String desc) { +final FieldAccess fieldAccess = fieldAccess(Type.getObjectType(owner), name, Type.getType(desc)); + +super.visitFieldInsn(opcode, owner, name, desc); +if
svn commit: r1508559 - /commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java
Author: mbenson Date: Tue Jul 30 18:01:04 2013 New Revision: 1508559 URL: http://svn.apache.org/r1508559 Log: missed a varargs refactoring Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java?rev=1508559r1=1508558r2=1508559view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java Tue Jul 30 18:01:04 2013 @@ -99,8 +99,8 @@ class PrivilizingVisitor extends Privili + localAccessLevel + '))); } if (AccessLevel.PACKAGE.compareTo(accessLevel) 0) { -Object[] args = { localAccessLevel, className, m }; -privilizer().env.warn(Possible security leak: granting privileges to %s method %s.%s, args); +privilizer().env.warn(Possible security leak: granting privileges to %s method %s.%s, +localAccessLevel, className, m); } privilegedMethods.put(m, privilizer().generateName(name)); }
svn commit: r1508585 - in /commons/proper/csv/trunk/src: main/java/org/apache/commons/csv/CSVFormat.java main/java/org/apache/commons/csv/CSVParser.java test/java/org/apache/commons/csv/CSVFormatTest.
Author: ggregory Date: Tue Jul 30 19:32:40 2013 New Revision: 1508585 URL: http://svn.apache.org/r1508585 Log: Make org.apache.commons.csv.CSVFormat.getHeader() public and make it return a clone. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1508585r1=1508584r2=1508585view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Tue Jul 30 19:32:40 2013 @@ -334,8 +334,13 @@ public class CSVFormat implements Serial return escape; } -String[] getHeader() { -return header; +/** + * Returns a copy of the header array. + * + * @return a copy of the header array + */ +public String[] getHeader() { +return header != null ? header.clone() : null; } /** Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508585r1=1508584r2=1508585view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 19:32:40 2013 @@ -321,18 +321,19 @@ public class CSVParser implements Iterab */ private MapString, Integer initializeHeader() throws IOException { MapString, Integer hdrMap = null; -if (this.format.getHeader() != null) { +String[] formatHeader = this.format.getHeader(); +if (formatHeader != null) { hdrMap = new LinkedHashMapString, Integer(); String[] header = null; -if (this.format.getHeader().length == 0) { +if (formatHeader.length == 0) { // read the header from the first line of the file final CSVRecord record = this.nextRecord(); if (record != null) { header = record.values(); } } else { -header = this.format.getHeader(); +header = formatHeader; } // build the name to index mappings Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java?rev=1508585r1=1508584r2=1508585view=diff == --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java Tue Jul 30 19:32:40 2013 @@ -31,6 +31,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.util.Arrays; import org.junit.Test; @@ -224,9 +225,27 @@ public class CSVFormatTest { @Test public void testWithHeader() throws Exception { String[] header = new String[]{one, two, three}; +// withHeader() makes a copy of the header array. CSVFormat formatWithHeader = CSVFormat.DEFAULT.withHeader(header); assertArrayEquals(header, formatWithHeader.getHeader()); assertNotSame(header, formatWithHeader.getHeader()); +header[0] = A; +header[1] = B; +header[2] = C; +assertFalse(Arrays.equals(formatWithHeader.getHeader(), header)); +} + +@Test +public void testGetHeader() throws Exception { +String[] header = new String[]{one, two, three}; +CSVFormat formatWithHeader = CSVFormat.DEFAULT.withHeader(header); +// getHeader() makes a copy of the header array. +String[] headerCopy = formatWithHeader.getHeader(); +headerCopy[0] = A; +headerCopy[1] = B; +headerCopy[2] = C; +assertFalse(Arrays.equals(formatWithHeader.getHeader(), headerCopy)); +assertNotSame(formatWithHeader.getHeader(), headerCopy); } @Test
svn commit: r1508612 - in /commons/proper/csv/trunk/src: main/java/org/apache/commons/csv/CSVFormat.java main/java/org/apache/commons/csv/CSVParser.java test/java/org/apache/commons/csv/CSVParserTest.
Author: ggregory Date: Tue Jul 30 20:36:12 2013 New Revision: 1508612 URL: http://svn.apache.org/r1508612 Log: When withHeader is set to any non-null value, the first record is the first emdata/em record, not the header record. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1508612r1=1508611r2=1508612view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Tue Jul 30 20:36:12 2013 @@ -614,22 +614,24 @@ public class CSVFormat implements Serial } /** - * Sets the header of the format. The header can either be parsed automatically from the - * input file with: - * + * Sets the header of the format. The header can either be parsed automatically from the input file with: + * * pre * CSVFormat format = aformat.withHeader(); * /pre - * + * * or specified manually with: - * + * * pre * CSVFormat format = aformat.withHeader(quot;namequot;, quot;emailquot;, quot;phonequot;); * /pre - * + * + * When this option is is set to any non-null value, the first record is the first emdata/em record, not the + * header record. + * * @param header *the header, ttnull/tt if disabled, empty if parsed automatically, user specified otherwise. - * + * * @return A new CSVFormat that is equal to this but with the specified header */ public CSVFormat withHeader(final String... header) { Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508612r1=1508611r2=1508612view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 20:36:12 2013 @@ -323,12 +323,12 @@ public class CSVParser implements Iterab MapString, Integer hdrMap = null; String[] formatHeader = this.format.getHeader(); if (formatHeader != null) { +final CSVRecord record = this.nextRecord(); hdrMap = new LinkedHashMapString, Integer(); String[] header = null; if (formatHeader.length == 0) { // read the header from the first line of the file -final CSVRecord record = this.nextRecord(); if (record != null) { header = record.values(); } Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java?rev=1508612r1=1508611r2=1508612view=diff == --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java Tue Jul 30 20:36:12 2013 @@ -507,6 +507,26 @@ public class CSVParserTest { } @Test +public void testSkipSetHeader() throws Exception { +final Reader in = new StringReader(a,b,c\n1,2,3\nx,y,z); +final IteratorCSVRecord records = CSVFormat.DEFAULT.withHeader(a, b, c).parse(in).iterator(); +final CSVRecord record = records.next(); +assertEquals(1, record.get(a)); +assertEquals(2, record.get(b)); +assertEquals(3, record.get(c)); +} + +@Test +public void testSkipAutoHeader() throws Exception { +final Reader in = new StringReader(a,b,c\n1,2,3\nx,y,z); +final IteratorCSVRecord records = CSVFormat.DEFAULT.withHeader().parse(in).iterator(); +final CSVRecord record = records.next(); +assertEquals(1, record.get(a)); +assertEquals(2, record.get(b)); +assertEquals(3, record.get(c)); +} + +@Test public void testHeaderComment() throws Exception { final Reader in = new StringReader(# comment\na,b,c\n1,2,3\nx,y,z); @@ -529,7 +549,7 @@ public class CSVParserTest { final IteratorCSVRecord records = CSVFormat.DEFAULT.withHeader(A, B, C).parse(in).iterator(); -for (int i = 0; i 3;
svn commit: r1508613 - /commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java
Author: ggregory Date: Tue Jul 30 20:37:17 2013 New Revision: 1508613 URL: http://svn.apache.org/r1508613 Log: Sort members. Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java?rev=1508613r1=1508612r2=1508613view=diff == --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java Tue Jul 30 20:37:17 2013 @@ -42,36 +42,19 @@ import org.junit.Test; */ public class CSVFormatTest { -@Test -public void testFormat() { -final CSVFormat format = CSVFormat.DEFAULT; - -assertEquals(, format.format()); -assertEquals(a,b,c, format.format(a, b, c)); -assertEquals(\x,y\,z, format.format(x,y, z)); +private static void assertNotEquals(final Object right, final Object left) { +assertFalse(right.equals(left)); +assertFalse(left.equals(right)); } -@SuppressWarnings(boxing) // no need to worry about boxing here -@Test -public void testSerialization() throws Exception { -final ByteArrayOutputStream out = new ByteArrayOutputStream(); - -final ObjectOutputStream oos = new ObjectOutputStream(out); -oos.writeObject(CSVFormat.DEFAULT); -oos.flush(); -oos.close(); - -final ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(out.toByteArray())); -final CSVFormat format = (CSVFormat) in.readObject(); +@Test(expected = IllegalStateException.class) +public void testDelimiterSameAsCommentStartThrowsException() { +CSVFormat.DEFAULT.withDelimiter('!').withCommentStart('!').validate(); +} -assertNotNull(format); -assertEquals(delimiter, CSVFormat.DEFAULT.getDelimiter(), format.getDelimiter()); -assertEquals(encapsulator, CSVFormat.DEFAULT.getQuoteChar(), format.getQuoteChar()); -assertEquals(comment start, CSVFormat.DEFAULT.getCommentStart(), format.getCommentStart()); -assertEquals(line separator, CSVFormat.DEFAULT.getRecordSeparator(), format.getRecordSeparator()); -assertEquals(escape, CSVFormat.DEFAULT.getEscape(), format.getEscape()); -assertEquals(trim, CSVFormat.DEFAULT.getIgnoreSurroundingSpaces(), format.getIgnoreSurroundingSpaces()); -assertEquals(empty lines, CSVFormat.DEFAULT.getIgnoreEmptyLines(), format.getIgnoreEmptyLines()); +@Test(expected = IllegalStateException.class) +public void testDelimiterSameAsEscapeThrowsException() { +CSVFormat.DEFAULT.withDelimiter('!').withEscape('!').validate(); } @Test @@ -91,40 +74,21 @@ public class CSVFormatTest { } @Test -public void testEqualsDelimiter() { -final CSVFormat right = CSVFormat.newFormat('!'); -final CSVFormat left = CSVFormat.newFormat('?'); - -assertNotEquals(right, left); -} - -@Test -public void testEqualsQuoteChar() { -final CSVFormat right = CSVFormat.newFormat('\'').withQuoteChar(''); -final CSVFormat left = CSVFormat.copy(right).withQuoteChar('!'); - -assertNotEquals(right, left); -} - -@Test -public void testEqualsQuotePolicy() { +public void testEqualsCommentStart() { final CSVFormat right = CSVFormat.newFormat('\'') .withQuoteChar('') +.withCommentStart('#') .withQuotePolicy(Quote.ALL); final CSVFormat left = CSVFormat.copy(right) -.withQuotePolicy(Quote.MINIMAL); +.withCommentStart('!'); assertNotEquals(right, left); } @Test -public void testEqualsCommentStart() { -final CSVFormat right = CSVFormat.newFormat('\'') -.withQuoteChar('') -.withCommentStart('#') -.withQuotePolicy(Quote.ALL); -final CSVFormat left = CSVFormat.copy(right) -.withCommentStart('!'); +public void testEqualsDelimiter() { +final CSVFormat right = CSVFormat.newFormat('!'); +final CSVFormat left = CSVFormat.newFormat('?'); assertNotEquals(right, left); } @@ -143,15 +107,18 @@ public class CSVFormatTest { } @Test -public void testEqualsIgnoreSurroundingSpaces() { +public void testEqualsHeader() { final CSVFormat right = CSVFormat.newFormat('\'') +.withRecordSeparator('*') .withCommentStart('#') .withEscape('+') +.withHeader(One, Two, Three) +.withIgnoreEmptyLines(true) .withIgnoreSurroundingSpaces(true)
svn commit: r1508618 - in /commons/proper/csv/trunk/src: main/java/org/apache/commons/csv/CSVFormat.java test/java/org/apache/commons/csv/CSVFormatTest.java
Author: ggregory Date: Tue Jul 30 20:44:15 2013 New Revision: 1508618 URL: http://svn.apache.org/r1508618 Log: Validate that headers do not contain duplicates. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1508618r1=1508617r2=1508618view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Tue Jul 30 20:44:15 2013 @@ -17,11 +17,11 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.BACKSLASH; import static org.apache.commons.csv.Constants.COMMA; import static org.apache.commons.csv.Constants.CR; import static org.apache.commons.csv.Constants.CRLF; import static org.apache.commons.csv.Constants.DOUBLE_QUOTE_CHAR; -import static org.apache.commons.csv.Constants.BACKSLASH; import static org.apache.commons.csv.Constants.LF; import static org.apache.commons.csv.Constants.TAB; @@ -30,6 +30,8 @@ import java.io.Reader; import java.io.Serializable; import java.io.StringWriter; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; /** * Specifies the format of a CSV file and parses input. @@ -530,6 +532,14 @@ public class CSVFormat implements Serial if (escape == null quotePolicy == Quote.NONE) { throw new IllegalStateException(No quotes mode set but no escape character is set); } + +if (header != null) { +SetString set = new HashSetString(header.length); +set.addAll(Arrays.asList(header)); +if (set.size() != header.length) { +throw new IllegalStateException(The header contains duplicate names: + Arrays.toString(header)); +} +} } /** Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java?rev=1508618r1=1508617r2=1508618view=diff == --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVFormatTest.java Tue Jul 30 20:44:15 2013 @@ -57,6 +57,11 @@ public class CSVFormatTest { CSVFormat.DEFAULT.withDelimiter('!').withEscape('!').validate(); } +@Test(expected = IllegalStateException.class) +public void testDuplicateHeaderElements() { +CSVFormat.DEFAULT.withHeader(A, A).validate(); +} + @Test public void testEquals() { final CSVFormat right = CSVFormat.DEFAULT;
svn commit: r1508635 - /commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
Author: ggregory Date: Tue Jul 30 21:24:52 2013 New Revision: 1508635 URL: http://svn.apache.org/r1508635 Log: Sort members. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1508635r1=1508634r2=1508635view=diff == --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Tue Jul 30 21:24:52 2013 @@ -93,6 +93,21 @@ import java.util.NoSuchElementException; public class CSVParser implements IterableCSVRecord, Closeable { /** + * Creates a parser for the given {@link File}. + * + * @param file + *a CSV file + * @param format + *the CSVFormat used for CSV parsing + * @return a new parser + * @throws IOException + * If an I/O error occurs + */ +public static CSVParser parseFile(File file, final CSVFormat format) throws IOException { +return new CSVParser(new FileReader(file), format); +} + +/** * Creates a parser for the given resource. * * p @@ -128,7 +143,7 @@ public class CSVParser implements Iterab public static CSVParser parseString(String string) throws IOException { return parseString(string, CSVFormat.DEFAULT); } - + /** * Creates a parser for the given {@link String}. * @@ -145,21 +160,6 @@ public class CSVParser implements Iterab } /** - * Creates a parser for the given {@link File}. - * - * @param file - *a CSV file - * @param format - *the CSVFormat used for CSV parsing - * @return a new parser - * @throws IOException - * If an I/O error occurs - */ -public static CSVParser parseFile(File file, final CSVFormat format) throws IOException { -return new CSVParser(new FileReader(file), format); -} - -/** * Creates a parser for the given URL. * * p
svn commit: r1508686 - /commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java
Author: sebb Date: Tue Jul 30 23:50:29 2013 New Revision: 1508686 URL: http://svn.apache.org/r1508686 Log: Javadoc Modified: commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java Modified: commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java?rev=1508686r1=1508685r2=1508686view=diff == --- commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java (original) +++ commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java Tue Jul 30 23:50:29 2013 @@ -341,9 +341,9 @@ public class IMAPClient extends IMAP /** * Send a STORE command to the server. - * @param sequenceSet The sequence set to store. - * @param itemNames The item names for the STORE command. - * @param itemValues The item values for the STORE command. + * @param sequenceSet The sequence set to update (e.g. 2:5) + * @param itemNames The item name for the STORE command (i.e. [+|-]FLAGS[.SILENT]) + * @param itemValues The item values for the STORE command. (e.g. (\Deleted) ) * @return {@code true} if the command was successful,{@code false} if not. * @exception IOException If a network I/O error occurs. */
svn commit: r1508693 - in /commons/proper/net/trunk/src: changes/changes.xml main/java/examples/mail/IMAPImportMbox.java main/java/org/apache/commons/net/imap/IMAPClient.java
Author: sebb Date: Wed Jul 31 00:42:18 2013 New Revision: 1508693 URL: http://svn.apache.org/r1508693 Log: NET-514 IMAP APPEND multiple issues in IMapClient. Deprecated unusable append methods. Added new append method, as well as example IMapImportMbox class to make use of it. Added: commons/proper/net/trunk/src/main/java/examples/mail/IMAPImportMbox.java (with props) Modified: commons/proper/net/trunk/src/changes/changes.xml commons/proper/net/trunk/src/main/java/org/apache/commons/net/imap/IMAPClient.java Modified: commons/proper/net/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/changes/changes.xml?rev=1508693r1=1508692r2=1508693view=diff == --- commons/proper/net/trunk/src/changes/changes.xml [utf-8] (original) +++ commons/proper/net/trunk/src/changes/changes.xml [utf-8] Wed Jul 31 00:42:18 2013 @@ -62,6 +62,14 @@ The action type attribute can be add,u -- body +release version=3.4 date=2013-??-?? description= + +action issue=NET-514 dev=sebb type=fix +IMAP APPEND multiple issues in IMapClient. +Deprecated unusable append methods. +Added new append method, as well as example IMapImportMbox class to make use of it. +/action +/release release version=3.3 date=2013-06-?? description= This is mainly a bug-fix release. See further details below. Added: commons/proper/net/trunk/src/main/java/examples/mail/IMAPImportMbox.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/examples/mail/IMAPImportMbox.java?rev=1508693view=auto == --- commons/proper/net/trunk/src/main/java/examples/mail/IMAPImportMbox.java (added) +++ commons/proper/net/trunk/src/main/java/examples/mail/IMAPImportMbox.java Wed Jul 31 00:42:18 2013 @@ -0,0 +1,128 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.mail; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +import org.apache.commons.net.imap.IMAPClient; +import org.apache.commons.net.imap.IMAPSClient; + +/** + * This is an example program demonstrating how to use the IMAP[S]Client class. + * This program connects to a IMAP[S] server and imports messages into the folder from an mbox file. + * p + * Usage: IMAPMail imap[s] server hostname folder username password mboxfile [secure protocol, e.g. TLS] + * p + */ +public final class IMAPImportMbox +{ + +private static final String CRLF = \r\n; + +public static void main(String[] args) throws IOException +{ +if (args.length 5) +{ +System.err.println( +Usage: IMAPImportMbox imap server hostname folder username password mboxfile [TLS]); +System.exit(1); +} + +final String server = args[0]; +final String folder = args[1]; +final String username = args[2]; +final String password = args[3]; +final String file = args[4]; +final String proto = (args.length 5) ? args[5] : null; + +final File mbox = new File(file); +if (!mbox.isFile() || !mbox.canRead()) { +throw new IOException(Cannot read mailbox file: + mbox); +} + +IMAPClient imap; + +if (proto != null) { +System.out.println(Using secure protocol: + proto); +imap = new IMAPSClient(proto, true); // implicit +} else { +imap = new IMAPClient(); +} +System.out.println(Connecting to server + server + on + imap.getDefaultPort()); + +// We want to timeout if a response takes longer than 60 seconds +imap.setDefaultTimeout(6); + +try { +imap.connect(server); +} catch (IOException e) { +throw new RuntimeException(Could not connect to server., e); +} + +try { +if (!imap.login(username, password)) { +System.err.println(Could not login to server. Check
svn commit: r1508698 - in /commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer: Privilized.java PrivilizerCleaner.java PrivilizerWeaver.java Privi
Author: mbenson Date: Wed Jul 31 01:10:55 2013 New Revision: 1508698 URL: http://svn.apache.org/r1508698 Log: compiler bug in java 6, use String value for invisible annotation Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java?rev=1508698r1=1508697r2=1508698view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java Wed Jul 31 01:10:55 2013 @@ -26,5 +26,5 @@ import java.lang.annotation.Target; */ @Target(ElementType.TYPE) public @interface Privilized { -Policy value(); +String value(); } \ No newline at end of file Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java?rev=1508698r1=1508697r2=1508698view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerCleaner.java Wed Jul 31 01:10:55 2013 @@ -50,7 +50,7 @@ public class PrivilizerCleaner implement LOG.log(Level.FINE, Cleaning classes privilized with policy other than {0}, privilizer.policy); for (WeavableClass? weavableClass : scanner.scan(scanRequest).getClasses().with(Privilized.class)) { -final Policy privilizedPolicy = weavableClass.getAnnotation(Privilized.class).value(); +final Policy privilizedPolicy = Policy.valueOf(weavableClass.getAnnotation(Privilized.class).value()); if (privilizedPolicy == privilizer.policy) { continue; } Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java?rev=1508698r1=1508697r2=1508698view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java Wed Jul 31 01:10:55 2013 @@ -77,8 +77,8 @@ public class PrivilizerWeaver implements if (marker == null) { return privilizer.policy != Policy.NEVER; } -Validate.validState(privilizer.policy == marker.value(), %s already privilized with policy %s, type -.getTarget().getName(), marker.value()); +Validate.validState(privilizer.policy.name().equals(marker.value()), %s already privilized with policy %s, +type.getTarget().getName(), marker.value()); return false; } } Modified: commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java URL: http://svn.apache.org/viewvc/commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java?rev=1508698r1=1508697r2=1508698view=diff == --- commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java (original) +++ commons/sandbox/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java Wed Jul 31 01:10:55 2013 @@ -63,7 +63,7 @@ class PrivilizingVisitor extends Privili
svn commit: r1508708 - in /commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator: Generator.java util/CollectionTransformer.java
Author: kinow Date: Wed Jul 31 01:52:11 2013 New Revision: 1508708 URL: http://svn.apache.org/r1508708 Log: [FUNCTOR-28] Fix checkstyle errors in the generator package Modified: commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/Generator.java commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/util/CollectionTransformer.java Modified: commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/Generator.java URL: http://svn.apache.org/viewvc/commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/Generator.java?rev=1508708r1=1508707r2=1508708view=diff == --- commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/Generator.java (original) +++ commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/Generator.java Wed Jul 31 01:52:11 2013 @@ -55,6 +55,7 @@ public interface GeneratorE { /** * Same as to(new CollectionTransformer(collection)). + * @param C the collection type * @param collection Collection to which my elements should be added * @return codecollection/code */ Modified: commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/util/CollectionTransformer.java URL: http://svn.apache.org/viewvc/commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/util/CollectionTransformer.java?rev=1508708r1=1508707r2=1508708view=diff == --- commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/util/CollectionTransformer.java (original) +++ commons/proper/functor/trunk/core/src/main/java/org/apache/commons/functor/generator/util/CollectionTransformer.java Wed Jul 31 01:52:11 2013 @@ -27,6 +27,7 @@ import org.apache.commons.lang3.Validate * the constructor an ArrayList will be returned from the transform method. * * @param E the type of elements held in the adapted collection. + * @param C the type of the adapted collection * @since 1.0 * @version $Revision$ $Date$ */ @@ -72,6 +73,7 @@ public class CollectionTransformerE, C /** * Get a {@link CollectionTransformer} instance that simply returns any {@link Collection}. + * @param E the collection type * @return {@link CollectionTransformer} */ public static E CollectionTransformerE, CollectionE toCollection() {