Skip to content

Commit 471bd03

Browse files
committed
Refactored classes a little bit (just moved them to another package).
This will break code, but fix is very easy. Also for RssGenerator added another constructor for usecase when base URL isn't website's root
1 parent 3abe3ff commit 471bd03

File tree

10 files changed

+62
-14
lines changed

10 files changed

+62
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<dependency>
1717
<groupId>cz.jiripinkas</groupId>
1818
<artifactId>jsitemapgenerator</artifactId>
19-
<version>2.0</version>
19+
<version>2.1</version>
2020
</dependency>
2121
</code>
2222
</pre>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>cz.jiripinkas</groupId>
55
<artifactId>jsitemapgenerator</artifactId>
6-
<version>2.0</version>
6+
<version>2.1</version>
77
<packaging>jar</packaging>
88
<name>Java sitemap generator</name>
99
<description>This library generates a web sitemap and can ping Google that it has changed. This project has been inspired by sitemapgen4j, but is much more focused on traditional web sitemap and ease of use.</description>

src/main/java/cz/jiripinkas/jsitemapgenerator/AbstractGenerator.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,36 @@ public abstract class AbstractGenerator {
2020
* @param baseUrl
2121
* All URLs must start with this baseUrl, for example
2222
* http://www.javavids.com
23+
* @param root
24+
* If Base URL is root (for example http://www.javavids.com or if
25+
* it's some path like http://www.javalibs.com/blog)
2326
*/
24-
public AbstractGenerator(String baseUrl) {
27+
public AbstractGenerator(String baseUrl, boolean root) {
2528
try {
2629
new URL(baseUrl);
2730
} catch (MalformedURLException e) {
2831
throw new InvalidUrlException(e);
2932
}
3033

31-
if (!baseUrl.endsWith("/")) {
32-
baseUrl += "/";
34+
if (root) {
35+
if (!baseUrl.endsWith("/")) {
36+
baseUrl += "/";
37+
}
3338
}
3439
this.baseUrl = baseUrl;
3540
}
3641

42+
/**
43+
* Construct web sitemap. Root = true.
44+
*
45+
* @param baseUrl
46+
* All URLs must start with this baseUrl, for example
47+
* http://www.javavids.com
48+
*/
49+
public AbstractGenerator(String baseUrl) {
50+
this(baseUrl, true);
51+
}
52+
3753
/**
3854
* Add single page to sitemap
3955
*
@@ -55,5 +71,5 @@ public void addPages(Collection<WebPage> webPages) {
5571
addPage(webPage);
5672
}
5773
}
58-
74+
5975
}

src/main/java/cz/jiripinkas/jsitemapgenerator/rss/RssGenerator.java renamed to src/main/java/cz/jiripinkas/jsitemapgenerator/generator/RssGenerator.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cz.jiripinkas.jsitemapgenerator.rss;
1+
package cz.jiripinkas.jsitemapgenerator.generator;
22

33
import java.text.SimpleDateFormat;
44
import java.util.ArrayList;
@@ -17,6 +17,35 @@ public class RssGenerator extends AbstractGenerator {
1717

1818
private String webDescription;
1919

20+
/**
21+
* Create RssGenerator
22+
*
23+
* @param baseUrl
24+
* Base URL
25+
* @param root
26+
* If Base URL is root (for example http://www.javavids.com or if
27+
* it's some path like http://www.javalibs.com/blog)
28+
* @param webTitle
29+
* Web title
30+
* @param webDescription
31+
* Web description
32+
*/
33+
public RssGenerator(String baseUrl, boolean root, String webTitle, String webDescription) {
34+
super(baseUrl, root);
35+
this.webTitle = webTitle;
36+
this.webDescription = webDescription;
37+
}
38+
39+
/**
40+
* Create RssGenerator. Root = true.
41+
*
42+
* @param baseUrl
43+
* Base URL
44+
* @param webTitle
45+
* Web title
46+
* @param webDescription
47+
* Web description
48+
*/
2049
public RssGenerator(String baseUrl, String webTitle, String webDescription) {
2150
super(baseUrl);
2251
this.webTitle = webTitle;
@@ -48,7 +77,7 @@ public int compare(WebPage o1, WebPage o2) {
4877
});
4978

5079
Date latestDate = new Date();
51-
if(webPages.size() > 0) {
80+
if (webPages.size() > 0) {
5281
latestDate = webPages.get(0).getLastMod();
5382
}
5483

src/main/java/cz/jiripinkas/jsitemapgenerator/sitemap/SitemapGenerator.java renamed to src/main/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cz.jiripinkas.jsitemapgenerator.sitemap;
1+
package cz.jiripinkas.jsitemapgenerator.generator;
22

33
import java.net.MalformedURLException;
44
import java.net.URL;

src/main/java/cz/jiripinkas/jsitemapgenerator/siteindex/SitemapIndexGenerator.java renamed to src/main/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapIndexGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cz.jiripinkas.jsitemapgenerator.siteindex;
1+
package cz.jiripinkas.jsitemapgenerator.generator;
22

33
import java.net.MalformedURLException;
44
import java.net.URL;

src/test/java/cz/jiripinkas/jsitemapgenerator/WebPageTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import cz.jiripinkas.jsitemapgenerator.exception.InvalidPriorityException;
66
import cz.jiripinkas.jsitemapgenerator.exception.InvalidUrlException;
7-
import cz.jiripinkas.jsitemapgenerator.sitemap.SitemapGenerator;
7+
import cz.jiripinkas.jsitemapgenerator.generator.SitemapGenerator;
88

99
public class WebPageTest {
1010

src/test/java/cz/jiripinkas/jsitemapgenerator/sitemap/SitemapGeneratorTest.java renamed to src/test/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapGeneratorTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cz.jiripinkas.jsitemapgenerator.sitemap;
1+
package cz.jiripinkas.jsitemapgenerator.generator;
22

33
import java.io.ByteArrayInputStream;
44
import java.io.File;
@@ -14,7 +14,8 @@
1414
import cz.jiripinkas.jsitemapgenerator.ImageBuilder;
1515
import cz.jiripinkas.jsitemapgenerator.WebPage;
1616
import cz.jiripinkas.jsitemapgenerator.WebPageBuilder;
17-
import cz.jiripinkas.jsitemapgenerator.sitemap.SitemapGenerator.AdditionalNamespace;
17+
import cz.jiripinkas.jsitemapgenerator.generator.SitemapGenerator;
18+
import cz.jiripinkas.jsitemapgenerator.generator.SitemapGenerator.AdditionalNamespace;
1819
import cz.jiripinkas.jsitemapgenerator.util.TestUtil;
1920

2021
public class SitemapGeneratorTest {

src/test/java/cz/jiripinkas/jsitemapgenerator/siteindex/SitemapIndexGeneratorTest.java renamed to src/test/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapIndexGeneratorTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cz.jiripinkas.jsitemapgenerator.siteindex;
1+
package cz.jiripinkas.jsitemapgenerator.generator;
22

33
import java.io.ByteArrayInputStream;
44
import java.io.File;
@@ -11,6 +11,7 @@
1111

1212
import cz.jiripinkas.jsitemapgenerator.WebPage;
1313
import cz.jiripinkas.jsitemapgenerator.WebPageBuilder;
14+
import cz.jiripinkas.jsitemapgenerator.generator.SitemapIndexGenerator;
1415
import cz.jiripinkas.jsitemapgenerator.util.TestUtil;
1516

1617
public class SitemapIndexGeneratorTest {

src/test/java/cz/jiripinkas/jsitemapgenerator/rss/RssGeneratorTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.xml.sax.SAXException;
1212

1313
import cz.jiripinkas.jsitemapgenerator.RssItemBuilder;
14+
import cz.jiripinkas.jsitemapgenerator.generator.RssGenerator;
1415
import cz.jiripinkas.jsitemapgenerator.util.TestUtil;
1516

1617
public class RssGeneratorTest {

0 commit comments

Comments
 (0)