You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/04/27 17:36:07 UTC
svn commit: r907055 [6/9] - in
/websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST:
./ apidocs/ apidocs/org/apache/maven/plugins/annotations/
apidocs/org/apache/maven/tools/plugin/annotations/
apidocs/org/apache/maven/tools/plu...
Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/apidocs/src-html/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/apidocs/src-html/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/apidocs/src-html/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html Sun Apr 27 15:36:06 2014
@@ -548,207 +548,210 @@
<span class="sourceLineNo">540</span> else<a name="line.540"></a>
<span class="sourceLineNo">541</span> {<a name="line.541"></a>
<span class="sourceLineNo">542</span> // not a component but a Maven object to be transformed into an expression/property<a name="line.542"></a>
-<span class="sourceLineNo">543</span> pd.setDefaultValue( expression );<a name="line.543"></a>
-<span class="sourceLineNo">544</span> pd.setType( role );<a name="line.544"></a>
-<span class="sourceLineNo">545</span> pd.setRequired( true );<a name="line.545"></a>
-<span class="sourceLineNo">546</span> }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span> pd.setEditable( false );<a name="line.548"></a>
-<span class="sourceLineNo">549</span> /* TODO: or better like this? Need @component fields be editable for the user?<a name="line.549"></a>
-<span class="sourceLineNo">550</span> pd.setEditable( field.getTagByName( READONLY ) == null );<a name="line.550"></a>
-<span class="sourceLineNo">551</span> */<a name="line.551"></a>
-<span class="sourceLineNo">552</span> }<a name="line.552"></a>
-<span class="sourceLineNo">553</span> else<a name="line.553"></a>
-<span class="sourceLineNo">554</span> {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> // Parameter tag<a name="line.555"></a>
-<span class="sourceLineNo">556</span> DocletTag parameter = field.getTagByName( JavaMojoAnnotation.PARAMETER );<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span> pd.setRequired( field.getTagByName( JavaMojoAnnotation.REQUIRED ) != null );<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span> pd.setEditable( field.getTagByName( JavaMojoAnnotation.READONLY ) == null );<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span> String alias = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_ALIAS );<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span> if ( !StringUtils.isEmpty( alias ) )<a name="line.564"></a>
-<span class="sourceLineNo">565</span> {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> pd.setAlias( alias );<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span> String expression = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_EXPRESSION );<a name="line.569"></a>
-<span class="sourceLineNo">570</span> String property = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_PROPERTY );<a name="line.570"></a>
+<span class="sourceLineNo">543</span> getLogger().warn( "Deprecated @Component for " + pd.getName() + " field in "<a name="line.543"></a>
+<span class="sourceLineNo">544</span> + javaClass.getFullyQualifiedName() + ": replace with @Parameter( name = \""<a name="line.544"></a>
+<span class="sourceLineNo">545</span> + expression + "\", readonly = true )" );<a name="line.545"></a>
+<span class="sourceLineNo">546</span> pd.setDefaultValue( expression );<a name="line.546"></a>
+<span class="sourceLineNo">547</span> pd.setType( role );<a name="line.547"></a>
+<span class="sourceLineNo">548</span> pd.setRequired( true );<a name="line.548"></a>
+<span class="sourceLineNo">549</span> }<a name="line.549"></a>
+<span class="sourceLineNo">550</span><a name="line.550"></a>
+<span class="sourceLineNo">551</span> pd.setEditable( false );<a name="line.551"></a>
+<span class="sourceLineNo">552</span> /* TODO: or better like this? Need @component fields be editable for the user?<a name="line.552"></a>
+<span class="sourceLineNo">553</span> pd.setEditable( field.getTagByName( READONLY ) == null );<a name="line.553"></a>
+<span class="sourceLineNo">554</span> */<a name="line.554"></a>
+<span class="sourceLineNo">555</span> }<a name="line.555"></a>
+<span class="sourceLineNo">556</span> else<a name="line.556"></a>
+<span class="sourceLineNo">557</span> {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> // Parameter tag<a name="line.558"></a>
+<span class="sourceLineNo">559</span> DocletTag parameter = field.getTagByName( JavaMojoAnnotation.PARAMETER );<a name="line.559"></a>
+<span class="sourceLineNo">560</span><a name="line.560"></a>
+<span class="sourceLineNo">561</span> pd.setRequired( field.getTagByName( JavaMojoAnnotation.REQUIRED ) != null );<a name="line.561"></a>
+<span class="sourceLineNo">562</span><a name="line.562"></a>
+<span class="sourceLineNo">563</span> pd.setEditable( field.getTagByName( JavaMojoAnnotation.READONLY ) == null );<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span> String alias = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_ALIAS );<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span> if ( !StringUtils.isEmpty( alias ) )<a name="line.567"></a>
+<span class="sourceLineNo">568</span> {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> pd.setAlias( alias );<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span> if ( StringUtils.isNotEmpty( expression ) && StringUtils.isNotEmpty( property ) )<a name="line.572"></a>
-<span class="sourceLineNo">573</span> {<a name="line.573"></a>
-<span class="sourceLineNo">574</span> getLogger().error( javaClass.getFullyQualifiedName() + "#" + field.getName() + ":" );<a name="line.574"></a>
-<span class="sourceLineNo">575</span> getLogger().error( " Cannot use both:" );<a name="line.575"></a>
-<span class="sourceLineNo">576</span> getLogger().error( " @parameter expression=\"${property}\"" );<a name="line.576"></a>
-<span class="sourceLineNo">577</span> getLogger().error( " and" );<a name="line.577"></a>
-<span class="sourceLineNo">578</span> getLogger().error( " @parameter property=\"property\"" );<a name="line.578"></a>
-<span class="sourceLineNo">579</span> getLogger().error( " Second syntax is preferred." );<a name="line.579"></a>
-<span class="sourceLineNo">580</span> throw new InvalidParameterException( javaClass.getFullyQualifiedName() + "#" + field.getName()<a name="line.580"></a>
-<span class="sourceLineNo">581</span> + ": cannot" + " use both @parameter expression and property", null );<a name="line.581"></a>
-<span class="sourceLineNo">582</span> }<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span> if ( StringUtils.isNotEmpty( expression ) )<a name="line.584"></a>
-<span class="sourceLineNo">585</span> {<a name="line.585"></a>
-<span class="sourceLineNo">586</span> getLogger().warn( javaClass.getFullyQualifiedName() + "#" + field.getName() + ":" );<a name="line.586"></a>
-<span class="sourceLineNo">587</span> getLogger().warn( " The syntax" );<a name="line.587"></a>
-<span class="sourceLineNo">588</span> getLogger().warn( " @parameter expression=\"${property}\"" );<a name="line.588"></a>
-<span class="sourceLineNo">589</span> getLogger().warn( " is deprecated, please use" );<a name="line.589"></a>
-<span class="sourceLineNo">590</span> getLogger().warn( " @parameter property=\"property\"" );<a name="line.590"></a>
-<span class="sourceLineNo">591</span> getLogger().warn( " instead." );<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span> }<a name="line.593"></a>
-<span class="sourceLineNo">594</span> else if ( StringUtils.isNotEmpty( property ) )<a name="line.594"></a>
-<span class="sourceLineNo">595</span> {<a name="line.595"></a>
-<span class="sourceLineNo">596</span> expression = "${" + property + "}";<a name="line.596"></a>
-<span class="sourceLineNo">597</span> }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span> pd.setExpression( expression );<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span> if ( StringUtils.isNotEmpty( expression ) && expression.startsWith( "${component." ) )<a name="line.601"></a>
-<span class="sourceLineNo">602</span> {<a name="line.602"></a>
-<span class="sourceLineNo">603</span> getLogger().warn( javaClass.getFullyQualifiedName() + "#" + field.getName() + ":" );<a name="line.603"></a>
-<span class="sourceLineNo">604</span> getLogger().warn( " The syntax" );<a name="line.604"></a>
-<span class="sourceLineNo">605</span> getLogger().warn( " @parameter expression=\"${component.<role>#<roleHint>}\"" );<a name="line.605"></a>
-<span class="sourceLineNo">606</span> getLogger().warn( " is deprecated, please use" );<a name="line.606"></a>
-<span class="sourceLineNo">607</span> getLogger().warn( " @component role=\"<role>\" roleHint=\"<roleHint>\"" );<a name="line.607"></a>
-<span class="sourceLineNo">608</span> getLogger().warn( " instead." );<a name="line.608"></a>
-<span class="sourceLineNo">609</span> }<a name="line.609"></a>
-<span class="sourceLineNo">610</span><a name="line.610"></a>
-<span class="sourceLineNo">611</span> if ( "${reports}".equals( pd.getExpression() ) )<a name="line.611"></a>
-<span class="sourceLineNo">612</span> {<a name="line.612"></a>
-<span class="sourceLineNo">613</span> mojoDescriptor.setRequiresReports( true );<a name="line.613"></a>
-<span class="sourceLineNo">614</span> }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span> pd.setDefaultValue( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_DEFAULT_VALUE ) );<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span> pd.setImplementation( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_IMPLEMENTATION ) );<a name="line.618"></a>
-<span class="sourceLineNo">619</span> }<a name="line.619"></a>
+<span class="sourceLineNo">572</span> String expression = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_EXPRESSION );<a name="line.572"></a>
+<span class="sourceLineNo">573</span> String property = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_PROPERTY );<a name="line.573"></a>
+<span class="sourceLineNo">574</span><a name="line.574"></a>
+<span class="sourceLineNo">575</span> if ( StringUtils.isNotEmpty( expression ) && StringUtils.isNotEmpty( property ) )<a name="line.575"></a>
+<span class="sourceLineNo">576</span> {<a name="line.576"></a>
+<span class="sourceLineNo">577</span> getLogger().error( javaClass.getFullyQualifiedName() + "#" + field.getName() + ":" );<a name="line.577"></a>
+<span class="sourceLineNo">578</span> getLogger().error( " Cannot use both:" );<a name="line.578"></a>
+<span class="sourceLineNo">579</span> getLogger().error( " @parameter expression=\"${property}\"" );<a name="line.579"></a>
+<span class="sourceLineNo">580</span> getLogger().error( " and" );<a name="line.580"></a>
+<span class="sourceLineNo">581</span> getLogger().error( " @parameter property=\"property\"" );<a name="line.581"></a>
+<span class="sourceLineNo">582</span> getLogger().error( " Second syntax is preferred." );<a name="line.582"></a>
+<span class="sourceLineNo">583</span> throw new InvalidParameterException( javaClass.getFullyQualifiedName() + "#" + field.getName()<a name="line.583"></a>
+<span class="sourceLineNo">584</span> + ": cannot" + " use both @parameter expression and property", null );<a name="line.584"></a>
+<span class="sourceLineNo">585</span> }<a name="line.585"></a>
+<span class="sourceLineNo">586</span><a name="line.586"></a>
+<span class="sourceLineNo">587</span> if ( StringUtils.isNotEmpty( expression ) )<a name="line.587"></a>
+<span class="sourceLineNo">588</span> {<a name="line.588"></a>
+<span class="sourceLineNo">589</span> getLogger().warn( javaClass.getFullyQualifiedName() + "#" + field.getName() + ":" );<a name="line.589"></a>
+<span class="sourceLineNo">590</span> getLogger().warn( " The syntax" );<a name="line.590"></a>
+<span class="sourceLineNo">591</span> getLogger().warn( " @parameter expression=\"${property}\"" );<a name="line.591"></a>
+<span class="sourceLineNo">592</span> getLogger().warn( " is deprecated, please use" );<a name="line.592"></a>
+<span class="sourceLineNo">593</span> getLogger().warn( " @parameter property=\"property\"" );<a name="line.593"></a>
+<span class="sourceLineNo">594</span> getLogger().warn( " instead." );<a name="line.594"></a>
+<span class="sourceLineNo">595</span><a name="line.595"></a>
+<span class="sourceLineNo">596</span> }<a name="line.596"></a>
+<span class="sourceLineNo">597</span> else if ( StringUtils.isNotEmpty( property ) )<a name="line.597"></a>
+<span class="sourceLineNo">598</span> {<a name="line.598"></a>
+<span class="sourceLineNo">599</span> expression = "${" + property + "}";<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> pd.setExpression( expression );<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span> if ( StringUtils.isNotEmpty( expression ) && expression.startsWith( "${component." ) )<a name="line.604"></a>
+<span class="sourceLineNo">605</span> {<a name="line.605"></a>
+<span class="sourceLineNo">606</span> getLogger().warn( javaClass.getFullyQualifiedName() + "#" + field.getName() + ":" );<a name="line.606"></a>
+<span class="sourceLineNo">607</span> getLogger().warn( " The syntax" );<a name="line.607"></a>
+<span class="sourceLineNo">608</span> getLogger().warn( " @parameter expression=\"${component.<role>#<roleHint>}\"" );<a name="line.608"></a>
+<span class="sourceLineNo">609</span> getLogger().warn( " is deprecated, please use" );<a name="line.609"></a>
+<span class="sourceLineNo">610</span> getLogger().warn( " @component role=\"<role>\" roleHint=\"<roleHint>\"" );<a name="line.610"></a>
+<span class="sourceLineNo">611</span> getLogger().warn( " instead." );<a name="line.611"></a>
+<span class="sourceLineNo">612</span> }<a name="line.612"></a>
+<span class="sourceLineNo">613</span><a name="line.613"></a>
+<span class="sourceLineNo">614</span> if ( "${reports}".equals( pd.getExpression() ) )<a name="line.614"></a>
+<span class="sourceLineNo">615</span> {<a name="line.615"></a>
+<span class="sourceLineNo">616</span> mojoDescriptor.setRequiresReports( true );<a name="line.616"></a>
+<span class="sourceLineNo">617</span> }<a name="line.617"></a>
+<span class="sourceLineNo">618</span><a name="line.618"></a>
+<span class="sourceLineNo">619</span> pd.setDefaultValue( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_DEFAULT_VALUE ) );<a name="line.619"></a>
<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span> mojoDescriptor.addParameter( pd );<a name="line.621"></a>
-<span class="sourceLineNo">622</span> }<a name="line.622"></a>
-<span class="sourceLineNo">623</span> }<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span> /**<a name="line.625"></a>
-<span class="sourceLineNo">626</span> * extract fields that are either parameters or components.<a name="line.626"></a>
-<span class="sourceLineNo">627</span> * <a name="line.627"></a>
-<span class="sourceLineNo">628</span> * @param javaClass not null<a name="line.628"></a>
-<span class="sourceLineNo">629</span> * @return map with Mojo parameters names as keys<a name="line.629"></a>
-<span class="sourceLineNo">630</span> */<a name="line.630"></a>
-<span class="sourceLineNo">631</span> private Map<String, JavaField> extractFieldParameterTags( JavaClass javaClass )<a name="line.631"></a>
-<span class="sourceLineNo">632</span> {<a name="line.632"></a>
-<span class="sourceLineNo">633</span> Map<String, JavaField> rawParams;<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span> // we have to add the parent fields first, so that they will be overwritten by the local fields if<a name="line.635"></a>
-<span class="sourceLineNo">636</span> // that actually happens...<a name="line.636"></a>
-<span class="sourceLineNo">637</span> JavaClass superClass = javaClass.getSuperJavaClass();<a name="line.637"></a>
-<span class="sourceLineNo">638</span><a name="line.638"></a>
-<span class="sourceLineNo">639</span> if ( superClass != null )<a name="line.639"></a>
-<span class="sourceLineNo">640</span> {<a name="line.640"></a>
-<span class="sourceLineNo">641</span> rawParams = extractFieldParameterTags( superClass );<a name="line.641"></a>
-<span class="sourceLineNo">642</span> }<a name="line.642"></a>
-<span class="sourceLineNo">643</span> else<a name="line.643"></a>
-<span class="sourceLineNo">644</span> {<a name="line.644"></a>
-<span class="sourceLineNo">645</span> rawParams = new TreeMap<String, JavaField>();<a name="line.645"></a>
-<span class="sourceLineNo">646</span> }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span> JavaField[] classFields = javaClass.getFields();<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> if ( classFields != null )<a name="line.650"></a>
-<span class="sourceLineNo">651</span> {<a name="line.651"></a>
-<span class="sourceLineNo">652</span> for ( JavaField field : classFields )<a name="line.652"></a>
-<span class="sourceLineNo">653</span> {<a name="line.653"></a>
-<span class="sourceLineNo">654</span> if ( field.getTagByName( JavaMojoAnnotation.PARAMETER ) != null<a name="line.654"></a>
-<span class="sourceLineNo">655</span> || field.getTagByName( JavaMojoAnnotation.COMPONENT ) != null )<a name="line.655"></a>
-<span class="sourceLineNo">656</span> {<a name="line.656"></a>
-<span class="sourceLineNo">657</span> rawParams.put( field.getName(), field );<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span> }<a name="line.659"></a>
-<span class="sourceLineNo">660</span> }<a name="line.660"></a>
-<span class="sourceLineNo">661</span> return rawParams;<a name="line.661"></a>
-<span class="sourceLineNo">662</span> }<a name="line.662"></a>
-<span class="sourceLineNo">663</span><a name="line.663"></a>
-<span class="sourceLineNo">664</span> /** {@inheritDoc} */<a name="line.664"></a>
-<span class="sourceLineNo">665</span> public List<MojoDescriptor> execute( MavenProject project, PluginDescriptor pluginDescriptor )<a name="line.665"></a>
-<span class="sourceLineNo">666</span> throws ExtractionException, InvalidPluginDescriptorException<a name="line.666"></a>
-<span class="sourceLineNo">667</span> {<a name="line.667"></a>
-<span class="sourceLineNo">668</span> return execute( new DefaultPluginToolsRequest( project, pluginDescriptor ) );<a name="line.668"></a>
-<span class="sourceLineNo">669</span> }<a name="line.669"></a>
-<span class="sourceLineNo">670</span> <a name="line.670"></a>
-<span class="sourceLineNo">671</span> /** {@inheritDoc} */<a name="line.671"></a>
-<span class="sourceLineNo">672</span> public List<MojoDescriptor> execute( PluginToolsRequest request )<a name="line.672"></a>
-<span class="sourceLineNo">673</span> throws ExtractionException, InvalidPluginDescriptorException<a name="line.673"></a>
-<span class="sourceLineNo">674</span> {<a name="line.674"></a>
-<span class="sourceLineNo">675</span> JavaClass[] javaClasses = discoverClasses( request );<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span> List<MojoDescriptor> descriptors = new ArrayList<MojoDescriptor>();<a name="line.677"></a>
-<span class="sourceLineNo">678</span><a name="line.678"></a>
-<span class="sourceLineNo">679</span> for ( JavaClass javaClass : javaClasses )<a name="line.679"></a>
-<span class="sourceLineNo">680</span> {<a name="line.680"></a>
-<span class="sourceLineNo">681</span> DocletTag tag = javaClass.getTagByName( GOAL );<a name="line.681"></a>
-<span class="sourceLineNo">682</span><a name="line.682"></a>
-<span class="sourceLineNo">683</span> if ( tag != null )<a name="line.683"></a>
-<span class="sourceLineNo">684</span> {<a name="line.684"></a>
-<span class="sourceLineNo">685</span> MojoDescriptor mojoDescriptor = createMojoDescriptor( javaClass );<a name="line.685"></a>
-<span class="sourceLineNo">686</span> mojoDescriptor.setPluginDescriptor( request.getPluginDescriptor() );<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span> // Validate the descriptor as best we can before allowing it to be processed.<a name="line.688"></a>
-<span class="sourceLineNo">689</span> validate( mojoDescriptor );<a name="line.689"></a>
+<span class="sourceLineNo">621</span> pd.setImplementation( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_IMPLEMENTATION ) );<a name="line.621"></a>
+<span class="sourceLineNo">622</span> }<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span> mojoDescriptor.addParameter( pd );<a name="line.624"></a>
+<span class="sourceLineNo">625</span> }<a name="line.625"></a>
+<span class="sourceLineNo">626</span> }<a name="line.626"></a>
+<span class="sourceLineNo">627</span><a name="line.627"></a>
+<span class="sourceLineNo">628</span> /**<a name="line.628"></a>
+<span class="sourceLineNo">629</span> * extract fields that are either parameters or components.<a name="line.629"></a>
+<span class="sourceLineNo">630</span> * <a name="line.630"></a>
+<span class="sourceLineNo">631</span> * @param javaClass not null<a name="line.631"></a>
+<span class="sourceLineNo">632</span> * @return map with Mojo parameters names as keys<a name="line.632"></a>
+<span class="sourceLineNo">633</span> */<a name="line.633"></a>
+<span class="sourceLineNo">634</span> private Map<String, JavaField> extractFieldParameterTags( JavaClass javaClass )<a name="line.634"></a>
+<span class="sourceLineNo">635</span> {<a name="line.635"></a>
+<span class="sourceLineNo">636</span> Map<String, JavaField> rawParams;<a name="line.636"></a>
+<span class="sourceLineNo">637</span><a name="line.637"></a>
+<span class="sourceLineNo">638</span> // we have to add the parent fields first, so that they will be overwritten by the local fields if<a name="line.638"></a>
+<span class="sourceLineNo">639</span> // that actually happens...<a name="line.639"></a>
+<span class="sourceLineNo">640</span> JavaClass superClass = javaClass.getSuperJavaClass();<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span> if ( superClass != null )<a name="line.642"></a>
+<span class="sourceLineNo">643</span> {<a name="line.643"></a>
+<span class="sourceLineNo">644</span> rawParams = extractFieldParameterTags( superClass );<a name="line.644"></a>
+<span class="sourceLineNo">645</span> }<a name="line.645"></a>
+<span class="sourceLineNo">646</span> else<a name="line.646"></a>
+<span class="sourceLineNo">647</span> {<a name="line.647"></a>
+<span class="sourceLineNo">648</span> rawParams = new TreeMap<String, JavaField>();<a name="line.648"></a>
+<span class="sourceLineNo">649</span> }<a name="line.649"></a>
+<span class="sourceLineNo">650</span><a name="line.650"></a>
+<span class="sourceLineNo">651</span> JavaField[] classFields = javaClass.getFields();<a name="line.651"></a>
+<span class="sourceLineNo">652</span><a name="line.652"></a>
+<span class="sourceLineNo">653</span> if ( classFields != null )<a name="line.653"></a>
+<span class="sourceLineNo">654</span> {<a name="line.654"></a>
+<span class="sourceLineNo">655</span> for ( JavaField field : classFields )<a name="line.655"></a>
+<span class="sourceLineNo">656</span> {<a name="line.656"></a>
+<span class="sourceLineNo">657</span> if ( field.getTagByName( JavaMojoAnnotation.PARAMETER ) != null<a name="line.657"></a>
+<span class="sourceLineNo">658</span> || field.getTagByName( JavaMojoAnnotation.COMPONENT ) != null )<a name="line.658"></a>
+<span class="sourceLineNo">659</span> {<a name="line.659"></a>
+<span class="sourceLineNo">660</span> rawParams.put( field.getName(), field );<a name="line.660"></a>
+<span class="sourceLineNo">661</span> }<a name="line.661"></a>
+<span class="sourceLineNo">662</span> }<a name="line.662"></a>
+<span class="sourceLineNo">663</span> }<a name="line.663"></a>
+<span class="sourceLineNo">664</span> return rawParams;<a name="line.664"></a>
+<span class="sourceLineNo">665</span> }<a name="line.665"></a>
+<span class="sourceLineNo">666</span><a name="line.666"></a>
+<span class="sourceLineNo">667</span> /** {@inheritDoc} */<a name="line.667"></a>
+<span class="sourceLineNo">668</span> public List<MojoDescriptor> execute( MavenProject project, PluginDescriptor pluginDescriptor )<a name="line.668"></a>
+<span class="sourceLineNo">669</span> throws ExtractionException, InvalidPluginDescriptorException<a name="line.669"></a>
+<span class="sourceLineNo">670</span> {<a name="line.670"></a>
+<span class="sourceLineNo">671</span> return execute( new DefaultPluginToolsRequest( project, pluginDescriptor ) );<a name="line.671"></a>
+<span class="sourceLineNo">672</span> }<a name="line.672"></a>
+<span class="sourceLineNo">673</span> <a name="line.673"></a>
+<span class="sourceLineNo">674</span> /** {@inheritDoc} */<a name="line.674"></a>
+<span class="sourceLineNo">675</span> public List<MojoDescriptor> execute( PluginToolsRequest request )<a name="line.675"></a>
+<span class="sourceLineNo">676</span> throws ExtractionException, InvalidPluginDescriptorException<a name="line.676"></a>
+<span class="sourceLineNo">677</span> {<a name="line.677"></a>
+<span class="sourceLineNo">678</span> JavaClass[] javaClasses = discoverClasses( request );<a name="line.678"></a>
+<span class="sourceLineNo">679</span><a name="line.679"></a>
+<span class="sourceLineNo">680</span> List<MojoDescriptor> descriptors = new ArrayList<MojoDescriptor>();<a name="line.680"></a>
+<span class="sourceLineNo">681</span><a name="line.681"></a>
+<span class="sourceLineNo">682</span> for ( JavaClass javaClass : javaClasses )<a name="line.682"></a>
+<span class="sourceLineNo">683</span> {<a name="line.683"></a>
+<span class="sourceLineNo">684</span> DocletTag tag = javaClass.getTagByName( GOAL );<a name="line.684"></a>
+<span class="sourceLineNo">685</span><a name="line.685"></a>
+<span class="sourceLineNo">686</span> if ( tag != null )<a name="line.686"></a>
+<span class="sourceLineNo">687</span> {<a name="line.687"></a>
+<span class="sourceLineNo">688</span> MojoDescriptor mojoDescriptor = createMojoDescriptor( javaClass );<a name="line.688"></a>
+<span class="sourceLineNo">689</span> mojoDescriptor.setPluginDescriptor( request.getPluginDescriptor() );<a name="line.689"></a>
<span class="sourceLineNo">690</span><a name="line.690"></a>
-<span class="sourceLineNo">691</span> descriptors.add( mojoDescriptor );<a name="line.691"></a>
-<span class="sourceLineNo">692</span> }<a name="line.692"></a>
-<span class="sourceLineNo">693</span> }<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span> return descriptors;<a name="line.695"></a>
-<span class="sourceLineNo">696</span> }<a name="line.696"></a>
+<span class="sourceLineNo">691</span> // Validate the descriptor as best we can before allowing it to be processed.<a name="line.691"></a>
+<span class="sourceLineNo">692</span> validate( mojoDescriptor );<a name="line.692"></a>
+<span class="sourceLineNo">693</span><a name="line.693"></a>
+<span class="sourceLineNo">694</span> descriptors.add( mojoDescriptor );<a name="line.694"></a>
+<span class="sourceLineNo">695</span> }<a name="line.695"></a>
+<span class="sourceLineNo">696</span> }<a name="line.696"></a>
<span class="sourceLineNo">697</span><a name="line.697"></a>
-<span class="sourceLineNo">698</span> /**<a name="line.698"></a>
-<span class="sourceLineNo">699</span> * @param request The plugin request.<a name="line.699"></a>
-<span class="sourceLineNo">700</span> * @return an array of java class<a name="line.700"></a>
-<span class="sourceLineNo">701</span> */<a name="line.701"></a>
-<span class="sourceLineNo">702</span> @SuppressWarnings( "unchecked" )<a name="line.702"></a>
-<span class="sourceLineNo">703</span> protected JavaClass[] discoverClasses( final PluginToolsRequest request )<a name="line.703"></a>
-<span class="sourceLineNo">704</span> {<a name="line.704"></a>
-<span class="sourceLineNo">705</span> JavaDocBuilder builder = new JavaDocBuilder();<a name="line.705"></a>
-<span class="sourceLineNo">706</span> builder.setEncoding( request.getEncoding() );<a name="line.706"></a>
-<span class="sourceLineNo">707</span> <a name="line.707"></a>
-<span class="sourceLineNo">708</span> MavenProject project = request.getProject();<a name="line.708"></a>
-<span class="sourceLineNo">709</span><a name="line.709"></a>
-<span class="sourceLineNo">710</span> for ( String source : (List<String>) project.getCompileSourceRoots() )<a name="line.710"></a>
-<span class="sourceLineNo">711</span> {<a name="line.711"></a>
-<span class="sourceLineNo">712</span> builder.addSourceTree( new File( source ) );<a name="line.712"></a>
-<span class="sourceLineNo">713</span> }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span> // TODO be more dynamic<a name="line.715"></a>
-<span class="sourceLineNo">716</span> File generatedPlugin = new File( project.getBasedir(), "target/generated-sources/plugin" );<a name="line.716"></a>
-<span class="sourceLineNo">717</span> if ( !project.getCompileSourceRoots().contains( generatedPlugin.getAbsolutePath() ) )<a name="line.717"></a>
-<span class="sourceLineNo">718</span> {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> builder.addSourceTree( generatedPlugin );<a name="line.719"></a>
-<span class="sourceLineNo">720</span> }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span> return builder.getClasses();<a name="line.722"></a>
-<span class="sourceLineNo">723</span> }<a name="line.723"></a>
+<span class="sourceLineNo">698</span> return descriptors;<a name="line.698"></a>
+<span class="sourceLineNo">699</span> }<a name="line.699"></a>
+<span class="sourceLineNo">700</span><a name="line.700"></a>
+<span class="sourceLineNo">701</span> /**<a name="line.701"></a>
+<span class="sourceLineNo">702</span> * @param request The plugin request.<a name="line.702"></a>
+<span class="sourceLineNo">703</span> * @return an array of java class<a name="line.703"></a>
+<span class="sourceLineNo">704</span> */<a name="line.704"></a>
+<span class="sourceLineNo">705</span> @SuppressWarnings( "unchecked" )<a name="line.705"></a>
+<span class="sourceLineNo">706</span> protected JavaClass[] discoverClasses( final PluginToolsRequest request )<a name="line.706"></a>
+<span class="sourceLineNo">707</span> {<a name="line.707"></a>
+<span class="sourceLineNo">708</span> JavaDocBuilder builder = new JavaDocBuilder();<a name="line.708"></a>
+<span class="sourceLineNo">709</span> builder.setEncoding( request.getEncoding() );<a name="line.709"></a>
+<span class="sourceLineNo">710</span> <a name="line.710"></a>
+<span class="sourceLineNo">711</span> MavenProject project = request.getProject();<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
+<span class="sourceLineNo">713</span> for ( String source : (List<String>) project.getCompileSourceRoots() )<a name="line.713"></a>
+<span class="sourceLineNo">714</span> {<a name="line.714"></a>
+<span class="sourceLineNo">715</span> builder.addSourceTree( new File( source ) );<a name="line.715"></a>
+<span class="sourceLineNo">716</span> }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span> // TODO be more dynamic<a name="line.718"></a>
+<span class="sourceLineNo">719</span> File generatedPlugin = new File( project.getBasedir(), "target/generated-sources/plugin" );<a name="line.719"></a>
+<span class="sourceLineNo">720</span> if ( !project.getCompileSourceRoots().contains( generatedPlugin.getAbsolutePath() ) )<a name="line.720"></a>
+<span class="sourceLineNo">721</span> {<a name="line.721"></a>
+<span class="sourceLineNo">722</span> builder.addSourceTree( generatedPlugin );<a name="line.722"></a>
+<span class="sourceLineNo">723</span> }<a name="line.723"></a>
<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span> /**<a name="line.725"></a>
-<span class="sourceLineNo">726</span> * @param mojoDescriptor not null<a name="line.726"></a>
-<span class="sourceLineNo">727</span> * @throws InvalidParameterException if any<a name="line.727"></a>
-<span class="sourceLineNo">728</span> */<a name="line.728"></a>
-<span class="sourceLineNo">729</span> protected void validate( MojoDescriptor mojoDescriptor )<a name="line.729"></a>
-<span class="sourceLineNo">730</span> throws InvalidParameterException<a name="line.730"></a>
-<span class="sourceLineNo">731</span> {<a name="line.731"></a>
-<span class="sourceLineNo">732</span> @SuppressWarnings( "unchecked" )<a name="line.732"></a>
-<span class="sourceLineNo">733</span> List<Parameter> parameters = mojoDescriptor.getParameters();<a name="line.733"></a>
-<span class="sourceLineNo">734</span><a name="line.734"></a>
-<span class="sourceLineNo">735</span> if ( parameters != null )<a name="line.735"></a>
-<span class="sourceLineNo">736</span> {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> for ( int j = 0; j < parameters.size(); j++ )<a name="line.737"></a>
-<span class="sourceLineNo">738</span> {<a name="line.738"></a>
-<span class="sourceLineNo">739</span> validateParameter( parameters.get( j ), j );<a name="line.739"></a>
-<span class="sourceLineNo">740</span> }<a name="line.740"></a>
-<span class="sourceLineNo">741</span> }<a name="line.741"></a>
-<span class="sourceLineNo">742</span> }<a name="line.742"></a>
-<span class="sourceLineNo">743</span>}<a name="line.743"></a>
+<span class="sourceLineNo">725</span> return builder.getClasses();<a name="line.725"></a>
+<span class="sourceLineNo">726</span> }<a name="line.726"></a>
+<span class="sourceLineNo">727</span><a name="line.727"></a>
+<span class="sourceLineNo">728</span> /**<a name="line.728"></a>
+<span class="sourceLineNo">729</span> * @param mojoDescriptor not null<a name="line.729"></a>
+<span class="sourceLineNo">730</span> * @throws InvalidParameterException if any<a name="line.730"></a>
+<span class="sourceLineNo">731</span> */<a name="line.731"></a>
+<span class="sourceLineNo">732</span> protected void validate( MojoDescriptor mojoDescriptor )<a name="line.732"></a>
+<span class="sourceLineNo">733</span> throws InvalidParameterException<a name="line.733"></a>
+<span class="sourceLineNo">734</span> {<a name="line.734"></a>
+<span class="sourceLineNo">735</span> @SuppressWarnings( "unchecked" )<a name="line.735"></a>
+<span class="sourceLineNo">736</span> List<Parameter> parameters = mojoDescriptor.getParameters();<a name="line.736"></a>
+<span class="sourceLineNo">737</span><a name="line.737"></a>
+<span class="sourceLineNo">738</span> if ( parameters != null )<a name="line.738"></a>
+<span class="sourceLineNo">739</span> {<a name="line.739"></a>
+<span class="sourceLineNo">740</span> for ( int j = 0; j < parameters.size(); j++ )<a name="line.740"></a>
+<span class="sourceLineNo">741</span> {<a name="line.741"></a>
+<span class="sourceLineNo">742</span> validateParameter( parameters.get( j ), j );<a name="line.742"></a>
+<span class="sourceLineNo">743</span> }<a name="line.743"></a>
+<span class="sourceLineNo">744</span> }<a name="line.744"></a>
+<span class="sourceLineNo">745</span> }<a name="line.745"></a>
+<span class="sourceLineNo">746</span>}<a name="line.746"></a>
Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/checkstyle.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/checkstyle.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/checkstyle.html Sun Apr 27 15:36:06 2014
@@ -503,7 +503,7 @@
<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#L198">198</a></td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
-<td>Method length is 162 lines (max allowed is 150).</td>
+<td>Method length is 165 lines (max allowed is 150).</td>
<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#L460">460</a></td></tr></table></div></div>
</div>
</div>
Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/index.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/index.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/index.html Sun Apr 27 15:36:06 2014
@@ -283,34 +283,40 @@ public class MyMojo
*/
private Component component;
+ // sample objects taken from Maven API through PluginParameterExpressionEvaluator
+
/**
- * @component
+ * @parameter default-value="${session}"
+ * @readonly
*/
private MavenSession session;
/**
- * @component
+ * @parameter default-value="${project}"
+ * @readonly
*/
private MavenProject project;
/**
- * @component
+ * @parameter default-value="${mojoExecution}"
+ * @readonly
*/
private MojoExecution mojo;
/**
- * @component
+ * @parameter default-value="${plugin}" // Maven 3 only
+ * @readonly
*/
private PluginDescriptor plugin;
/**
- * @component
+ * @parameter default-value="${settings}"
+ * @readonly
*/
private Settings settings;
- // sample objects taken from Maven API through PluginParameterExpressionEvaluator
/**
- * @parameter default-value="${basedir}"
+ * @parameter default-value="${project.basedir}"
* @readonly
*/
private File basedir;
@@ -326,7 +332,7 @@ public class MyMojo
...
}
}</pre></div>
-<p><b>Notice</b>: before 3.0, <tt>property</tt> was replaced by <tt>expression</tt>, with <tt>$<a name="a"> </a></tt> required (<tt>expression="$<a name="aProperty">aProperty</a>"</tt>), but starting with 3.0, you can omit it (<tt>expression="aProperty"</tt>), or preferably use <tt>property="aProperty"</tt>.</p></div>
+<p><b>Notice</b>: before 3.0, <tt>property</tt> was replaced by <tt>expression</tt>, with <tt>${ }</tt> required (<tt>expression="${aProperty}"</tt>), but starting with 3.0, you can omit it (<tt>expression="aProperty"</tt>), or preferably use <tt>property="aProperty"</tt>.</p></div>
<div class="section">
<h3>See also<a name="See_also"></a></h3>
<ul>
Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/surefire-report.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/surefire-report.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/surefire-report.html Sun Apr 27 15:36:06 2014
@@ -247,7 +247,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
-<td>0.662</td></tr></table><br />
+<td>0.724</td></tr></table><br />
<p>Note: failures are anticipated and checked for with assertions while errors are unanticipated.</p><br /></div>
<div class="section">
<h2>Package List<a name="Package_List"></a></h2><a name="Package_List"></a>
@@ -268,7 +268,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
-<td>0.662</td></tr></table><br />
+<td>0.724</td></tr></table><br />
<p>Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.</p>
<div class="section">
<h3>org.apache.maven.tools.plugin.extractor.java<a name="org.apache.maven.tools.plugin.extractor.java"></a></h3><a name="org.apache.maven.tools.plugin.extractor.java"></a>
@@ -290,7 +290,7 @@ function toggleDisplay(elementId) {
<td>0</td>
<td>0</td>
<td>100%</td>
-<td>0.662</td></tr></table></div><br /></div>
+<td>0.724</td></tr></table></div><br /></div>
<div class="section">
<h2>Test Cases<a name="Test_Cases"></a></h2><a name="Test_Cases"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p>
@@ -300,23 +300,23 @@ function toggleDisplay(elementId) {
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>testShouldFindTwoMojoDescriptorsInTestSourceDirectory</td>
-<td>0.494</td></tr>
+<td>0.534</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>testShouldPropagateImplementationParameter</td>
-<td>0.049</td></tr>
+<td>0.056</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>testMaven30Parameters</td>
-<td>0.052</td></tr>
+<td>0.061</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>testAnnotationInPlugin</td>
-<td>0.027</td></tr>
+<td>0.032</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td>testJava15SyntaxParsing</td>
-<td>0.04</td></tr></table></div><br /></div>
+<td>0.041</td></tr></table></div><br /></div>
</div>
</div>
Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/taglist.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/taglist.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/taglist.html Sun Apr 27 15:36:06 2014
@@ -256,10 +256,10 @@
<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#180">180</a></td></tr>
<tr class="b">
<td>or better like this? Need @component fields be editable for the user?</td>
-<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#549">549</a></td></tr>
+<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#552">552</a></td></tr>
<tr class="a">
<td>be more dynamic</td>
-<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#715">715</a></td></tr></table></div></div>
+<td><a href="./xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html#718">718</a></td></tr></table></div></div>
</div>
</div>
Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/team-list.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/team-list.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-tools-java/team-list.html Sun Apr 27 15:36:06 2014
@@ -905,7 +905,9 @@
<tr class="a">
<td>Tinguaro Barreno</td></tr>
<tr class="b">
-<td>James Phillpotts</td></tr></table><script type="text/javascript">
+<td>James Phillpotts</td></tr>
+<tr class="a">
+<td>Slawomir Jaranowski</td></tr></table><script type="text/javascript">
function offsetDate(id, offset) {
var now = new Date();
var nowTime = now.getTime();