You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ck...@apache.org on 2010/04/25 21:49:48 UTC
svn commit: r937864 - in
/myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase:
pom.xml
src/main/java/org/apache/myfaces/trinidaddemo/support/util/SitemapGenerator.java
Author: ckormos
Date: Sun Apr 25 19:49:48 2010
New Revision: 937864
URL: http://svn.apache.org/viewvc?rev=937864&view=rev
Log:
added "generateSitemap" maven profile to components showcase demo app.
Modified:
myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/pom.xml
myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/src/main/java/org/apache/myfaces/trinidaddemo/support/util/SitemapGenerator.java
Modified: myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/pom.xml?rev=937864&r1=937863&r2=937864&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/pom.xml (original)
+++ myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/pom.xml Sun Apr 25 19:49:48 2010
@@ -105,7 +105,7 @@
</build>
</profile>
- <profile>
+ <profile>
<id>includeSources</id>
<activation>
<property>
@@ -130,7 +130,34 @@
</plugin>
</plugins>
</build>
- </profile>
+ </profile>
+
+ <profile>
+ <id>generateSitemap</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ <phase>compile</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>org.apache.myfaces.trinidaddemo.support.util.SitemapGenerator</mainClass>
+ <arguments>
+ <argument>${project.build.directory}/${project.build.finalName}</argument>
+ <argument>${sitemapUrlBasePath}</argument>
+ </arguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
Modified: myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/src/main/java/org/apache/myfaces/trinidaddemo/support/util/SitemapGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/src/main/java/org/apache/myfaces/trinidaddemo/support/util/SitemapGenerator.java?rev=937864&r1=937863&r2=937864&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/src/main/java/org/apache/myfaces/trinidaddemo/support/util/SitemapGenerator.java (original)
+++ myfaces/trinidad/branches/trinidad-1.2.x/trinidad-examples/trinidad-components-showcase/src/main/java/org/apache/myfaces/trinidaddemo/support/util/SitemapGenerator.java Sun Apr 25 19:49:48 2010
@@ -30,27 +30,33 @@ import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.BufferedWriter;
import java.io.File;
-import java.util.List;
-import java.util.Iterator;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Set;
-import java.util.Map;
+import java.util.Calendar;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* Utility class for generating the corresponding sitemap.xml for this demo app.
*
- * Example mvn command:
- * mvn exec:java
+ * Example mvn commands:
+ * -> mvn exec:java
* -Dexec.args="http://example.irian.at/trinidad-components-showcase"
* -Dexec.mainClass="org.apache.myfaces.trinidaddemo.support.util.SitemapGenerator"
+ *
+ * -> mvn clean package -P generateSitemap -DsitemapUrlBasePath=http://example.irian.at/trinidad-components-showcase
*/
public class SitemapGenerator {
private static final String DEFAULT_PAGE_PATH = "/faces/pages/demoStart.xhtml";
private static final String COMPONENT_DEMO_PAGE_PATH = "/component-demo";
+ private String targetDir;
private String loc;
private String priority;
private String changeFreq;
@@ -58,31 +64,36 @@ public class SitemapGenerator {
/**
* Constructor.
*
+ * @param targetDir
* @param loc
*/
- public SitemapGenerator(String loc) {
- this(loc, "0.5", "daily");
+ public SitemapGenerator(String targetDir, String loc) {
+ this(targetDir, loc, "0.5", "daily");
}
/**
* Constructor.
*
+ * @param targetDir
* @param loc
* @param priority
* @param changeFreq
*/
- public SitemapGenerator(String loc, String priority, String changeFreq) {
+ public SitemapGenerator(String targetDir, String loc, String priority, String changeFreq) {
+ this.targetDir = targetDir;
this.loc = loc;
this.priority = priority;
this.changeFreq = changeFreq;
}
+ /**
+ * Performs the generation of the sitemap.xml file.
+ */
public void generateSitemap() {
List<String> urls = getSitemapUrls();
try {
- String userDir = System.getProperty("user.dir");
- File outputDir = new File(userDir, "src/main/webapp");
+ File outputDir = new File(targetDir);
if (!outputDir.exists()) {
outputDir.mkdirs();
}
@@ -99,7 +110,7 @@ public class SitemapGenerator {
out.write(urlsIterator.next());
}
- out.write(getSitemapUrl(getLoc() + DEFAULT_PAGE_PATH));
+ out.write(getSitemapUrl(loc + DEFAULT_PAGE_PATH));
out.write("</urlset>");
out.flush();
@@ -113,7 +124,7 @@ public class SitemapGenerator {
/**
* @return
*/
- protected List<String> getSitemapUrls() {
+ private List<String> getSitemapUrls() {
List<String> list = new ArrayList<String>();
ComponentDemoInitializer initializer = ComponentDemoInitializer.getInstance();
@@ -160,9 +171,9 @@ public class SitemapGenerator {
* @param componentVariantDemo
* @return
*/
- protected String getUrl(IComponentVariantDemo componentVariantDemo) {
+ private String getUrl(IComponentVariantDemo componentVariantDemo) {
StringBuilder builder = new StringBuilder();
- builder.append(getLoc());
+ builder.append(loc);
builder.append(COMPONENT_DEMO_PAGE_PATH);
builder.append("/");
builder.append(componentVariantDemo.getId());
@@ -176,7 +187,7 @@ public class SitemapGenerator {
* @param url
* @return
*/
- protected String getSitemapUrl(String url) {
+ private String getSitemapUrl(String url) {
StringBuilder builder = new StringBuilder();
builder.append("<url>").append("\n");
@@ -185,50 +196,35 @@ public class SitemapGenerator {
builder.append("</loc>").append("\n");
builder.append("\t<priority>");
- builder.append(getPriority());
+ builder.append(priority);
builder.append("</priority>").append("\n");
builder.append("\t<changefreq>");
- builder.append(getChangeFreq());
+ builder.append(changeFreq);
builder.append("</changefreq>").append("\n");
builder.append("</url>").append("\n");
return builder.toString();
- }
-
- public String getLoc() {
- return loc;
- }
+ }
- public void setLoc(String loc) {
- this.loc = loc;
- }
-
- public String getPriority() {
- return priority;
- }
-
- public void setPriority(String priority) {
- this.priority = priority;
- }
+ public static void main(String[] args) {
+ DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+ String date = dateFormat.format(Calendar.getInstance().getTime());
- public String getChangeFreq() {
- return changeFreq;
- }
+ String targetDir = "/src/main/webapp"; //default value
+ String loc = "http://example.irian.at/trinidad-components-showcase-"+date; //default value
- public void setChangeFreq(String changeFreq) {
- this.changeFreq = changeFreq;
- }
+ if (args != null && args.length == 2) {
+ if (args[0] != null) {
+ targetDir = args[0];
+ }
- public static void main(String[] args) {
- //expected arg example : ""http://test.codebeat.ro/trinidad-components-demo"
- //to specify baseURL for the links in the generated sitemap
- String loc = "http://test.codebeat.ro/trinidad-components-demo"; //default value
- if (args != null && args.length > 0) {
- loc = args[0];
+ if (args[1] != null) {
+ loc = args[1];
+ }
}
- SitemapGenerator generator = new SitemapGenerator(loc);
+ SitemapGenerator generator = new SitemapGenerator(targetDir, loc);
generator.generateSitemap();
}
}