Unfortunately, not all the time.. The generation and update of the feeds are triggered after a repository scan, which can be scheduled or explicitly executed. I could get the servlet context when the scan is explicitly executed, but I don't think i can get it when it's executed by the task executor.
-Deng On Tue, Apr 8, 2008 at 8:06 PM, Brett Porter <[EMAIL PROTECTED]> wrote: > Hi Deng, > > Is there any access to the servlet context to obtain this instead? > > - Brett > > > On 08/04/2008, at 8:37 PM, [EMAIL PROTECTED] wrote: > > Author: oching > > Date: Tue Apr 8 03:36:50 2008 > > New Revision: 645833 > > > > URL: http://svn.apache.org/viewvc?rev=645833&view=rev > > Log: > > [MRM-123] > > -configure host and port of the links in the rss feeds > > > > Modified: > > archiva/trunk/archiva-jetty/src/main/conf/jetty.xml > > > > archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java > > > > Modified: archiva/trunk/archiva-jetty/src/main/conf/jetty.xml > > URL: > > http://svn.apache.org/viewvc/archiva/trunk/archiva-jetty/src/main/conf/jetty.xml?rev=645833&r1=645832&r2=645833&view=diff > > > > ============================================================================== > > --- archiva/trunk/archiva-jetty/src/main/conf/jetty.xml (original) > > +++ archiva/trunk/archiva-jetty/src/main/conf/jetty.xml Tue Apr 8 > > 03:36:50 2008 > > @@ -51,6 +51,15 @@ > > </Set> > > > > > > + <Call class="java.lang.System" name="setProperty"> > > + <Arg>jetty.port</Arg> > > + <Arg>8080</Arg> > > + </Call> > > + > > + <Call class="java.lang.System" name="setProperty"> > > + <Arg>jetty.host</Arg> > > + <Arg>localhost</Arg> > > + </Call> > > > > <!-- =========================================================== --> > > <!-- Set connectors --> > > @@ -64,7 +73,7 @@ > > <Call name="addConnector"> > > <Arg> > > <New class="org.mortbay.jetty.nio.SelectChannelConnector"> > > - <Set name="host"><SystemProperty name="jetty.host" /></Set> > > + <Set name="host"><SystemProperty name="jetty.host"/></Set> > > <Set name="port"><SystemProperty name="jetty.port" > > default="8080"/></Set> > > <Set name="maxIdleTime">30000</Set> > > <Set name="Acceptors">2</Set> > > @@ -268,8 +277,7 @@ > > <Arg type="boolean">True</Arg> > > <Arg type="boolean">False</Arg> > > </Call> > > - > > - > > + > > <!-- ARCHIVA CONFIG --> > > > > <New id="validation_mail" > > class="org.mortbay.jetty.plus.naming.Resource"> > > > > Modified: > > archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java > > URL: > > http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java?rev=645833&r1=645832&r2=645833&view=diff > > > > ============================================================================== > > --- > > archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java > > (original) > > +++ > > archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/processor/NewArtifactsRssFeedProcessor.java > > Tue Apr 8 03:36:50 2008 > > @@ -22,9 +22,11 @@ > > import java.util.ArrayList; > > import java.util.Calendar; > > import java.util.Collections; > > +import java.util.Enumeration; > > import java.util.HashMap; > > import java.util.List; > > import java.util.Map; > > +import java.util.Properties; > > > > import org.apache.archiva.rss.RssFeedEntry; > > import org.apache.archiva.rss.RssFeedGenerator; > > @@ -53,7 +55,17 @@ > > private RssFeedGenerator generator; > > > > private Logger log = LoggerFactory.getLogger( > > NewArtifactsRssFeedProcessor.class ); > > - > > + > > + /** > > + * The hostname that will be used in the urls for the feed links. > > + */ > > + private String host = "localhost"; > > + > > + /** > > + * The port that will be used in the urls for the feed links. > > + */ > > + private String port = "8080"; > > + > > /** > > * Process the newly discovered artifacts in the repository. Generate > > feeds for new artifacts in the repository and > > * new versions of artifact. > > @@ -62,6 +74,16 @@ > > { > > log.debug( "Process new artifacts into rss feeds." ); > > > > + if ( System.getProperty( "jetty.host" ) != null ) > > + { > > + host = System.getProperty( "jetty.host" ); > > + } > > + > > + if ( System.getProperty( "jetty.port" ) != null ) > > + { > > + port = System.getProperty( "jetty.port" ); > > + } > > + > > processNewArtifactsInRepo( data ); > > processNewVersionsOfArtifact( data ); > > } > > @@ -73,7 +95,7 @@ > > > > RssFeedEntry entry = > > new RssFeedEntry( NEW_ARTIFACTS_IN_REPO + "\'" + repoId + > > "\'" + " as of " + > > - Calendar.getInstance().getTime(), " > > http://localhost:8080/archiva/rss/new_artifacts_" + repoId + ".xml" ); > > + Calendar.getInstance().getTime(), getBaseUrl() + > > "/archiva/rss/new_artifacts_" + repoId + ".xml" ); > > String description = "These are the new artifacts found in > > repository " + "\'" + repoId + "\'" + ": \n"; > > > > for ( ArchivaArtifact artifact : data ) > > @@ -84,7 +106,7 @@ > > entries.add( entry ); > > > > generateFeed( "new_artifacts_" + repoId + ".xml", > > NEW_ARTIFACTS_IN_REPO + "\'" + repoId + "\'", > > - " > > http://localhost:8080/archiva/repository/rss/new_artifacts_" + repoId + > > ".xml", > > + getBaseUrl() + > > "/archiva/repository/rss/new_artifacts_" + repoId + ".xml", > > "New artifacts found in repository " + "\'" + > > repoId + "\'" + " during repository scan.", entries ); > > } > > > > @@ -108,7 +130,7 @@ > > List<RssFeedEntry> entries = new ArrayList<RssFeedEntry>(); > > RssFeedEntry entry = > > new RssFeedEntry( NEW_VERSIONS_OF_ARTIFACT + "\'" + key + > > "\'" + " as of " + > > - Calendar.getInstance().getTime(), " > > http://localhost:8080/archiva/rss/new_versions_" + key + ".xml" ); > > + Calendar.getInstance().getTime(), getBaseUrl() + > > "/archiva/rss/new_versions_" + key + ".xml" ); > > > > String description = > > "These are the new versions of artifact " + "\'" + key + > > "\'" + " in the repository: \n" + > > @@ -116,9 +138,9 @@ > > > > entry.setDescription( description ); > > entries.add( entry ); > > - > > + > > generateFeed( "new_versions_" + key + ".xml", > > NEW_VERSIONS_OF_ARTIFACT + "\'" + key + "\'", > > - " > > http://localhost:8080/archiva/rss/new_versions_" + key + ".xml", > > + getBaseUrl() + "/archiva/rss/new_versions_" + > > key + ".xml", > > "New versions of artifact " + "\'" + key + "\' > > found in repository " + "\'" + repoId + "\'" + > > " during repository scan.", entries ); > > } > > @@ -173,5 +195,17 @@ > > { > > this.generator = generator; > > } > > - > > + > > + private String getBaseUrl() > > + { > > + String baseUrl = "http://" + host; > > + > > + if( port != null && !"".equals( port ) ) > > + { > > + baseUrl = baseUrl + ":" + port; > > + } > > + > > + return baseUrl; > > + } > > + > > } > > > > > > > -- > Brett Porter > [EMAIL PROTECTED] > http://blogs.exist.com/bporter/ > >
