Skip to content

Commit 93a68dc

Browse files
jirka.pinkas@gmail.comjirka.pinkas@gmail.com
authored andcommitted
version 3.2, deprecated *Generator constructors and instead created static of methods, which simplify creation of *Generator objects
1 parent accb57f commit 93a68dc

File tree

10 files changed

+74
-15
lines changed

10 files changed

+74
-15
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ If you want to use "ping google / bing" functionality, also add this library to
2626
### How to create a sitemap:
2727

2828
// create web sitemap for web http://www.javavids.com
29-
SitemapGenerator sg = new SitemapGenerator("http://www.javavids.com");
29+
SitemapGenerator sg = SitemapGenerator.of("http://www.javavids.com");
3030
// add some URLs
3131
sg.addPage(WebPage.builder().nameRoot().priorityMax().changeFreqNever().lastModNow().build())
3232
.addPage(WebPage.builder().name("latest.php").build())
@@ -42,14 +42,14 @@ If you want to use "ping google / bing" functionality, also add this library to
4242
File file = new File("/var/www/sitemap.xml");
4343
List<String> pages = Arrays.asList("firstPage", "secondPage", "otherPage");
4444
// create web sitemap for web http://www.javavids.com
45-
new SitemapGenerator("http://www.javavids.com")
45+
SitemapGenerator.of("http://www.javavids.com")
4646
.addPage(WebPage.builder().nameRoot().priorityMax().changeFreqNever().lastModNow().build())
4747
.addPages(urls, page -> WebPage.builder().name("dir/" + page).priorityMax().changeFreqNever().lastModNow().build())
4848
.constructAndSaveSitemap(file);
4949

5050
### How to create a sitemap index:
5151

52-
SitemapIndexGenerator sitemapIndexGenerator = new SitemapIndexGenerator("http://javalibs.com");
52+
SitemapIndexGenerator sitemapIndexGenerator = SitemapIndexGenerator.of("http://javalibs.com");
5353
sitemapIndexGenerator.addPage(WebPage.builder()
5454
.name("sitemap-plugins.xml")
5555
.build()
@@ -62,7 +62,7 @@ If you want to use "ping google / bing" functionality, also add this library to
6262

6363
### How to create RSS channel:
6464

65-
RssGenerator rssGenerator = new RssGenerator("http://www.topjavablogs", "Top Java Blogs", "Best Java Blogs");
65+
RssGenerator rssGenerator = RssGenerator.of("http://www.topjavablogs", "Top Java Blogs", "Best Java Blogs");
6666
rssGenerator.addPage(WebPage.rssBuilder()
6767
.pubDate(new Date())
6868
.title("News Title")

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>3.1</version>
6+
<version>3.2</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/generator/RssGenerator.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ public class RssGenerator extends AbstractGenerator {
1818
/**
1919
* Create RssGenerator
2020
*
21+
* @deprecated use {@link #of(String, boolean, String, String)}
2122
* @param baseUrl Base URL
2223
* @param root If Base URL is root (for example http://www.javavids.com or if
2324
* it's some path like http://www.javalibs.com/blog)
2425
* @param webTitle Web title
2526
* @param webDescription Web description
2627
*/
28+
@Deprecated
2729
public RssGenerator(String baseUrl, boolean root, String webTitle, String webDescription) {
2830
super(baseUrl, root);
2931
this.webTitle = webTitle;
@@ -33,16 +35,37 @@ public RssGenerator(String baseUrl, boolean root, String webTitle, String webDes
3335
/**
3436
* Create RssGenerator. Root = true.
3537
*
38+
* @deprecated use {@link #of(String, String, String)}
3639
* @param baseUrl Base URL
3740
* @param webTitle Web title
3841
* @param webDescription Web description
3942
*/
43+
@Deprecated
4044
public RssGenerator(String baseUrl, String webTitle, String webDescription) {
4145
super(baseUrl);
4246
this.webTitle = webTitle;
4347
this.webDescription = webDescription;
4448
}
4549

50+
/**
51+
* Helper method to create an instance of SitemapGenerator
52+
* @param baseUrl
53+
* @return
54+
*/
55+
public static RssGenerator of(String baseUrl, boolean root, String webTitle, String webDescription) {
56+
return new RssGenerator(baseUrl, root, webTitle, webDescription);
57+
}
58+
59+
/**
60+
* Helper method to create an instance of SitemapGenerator
61+
* @param baseUrl
62+
* @return
63+
*/
64+
public static RssGenerator of(String baseUrl, String webTitle, String webDescription) {
65+
return new RssGenerator(baseUrl, webTitle, webDescription);
66+
}
67+
68+
4669
/**
4770
* This will construct RSS from web pages. Web pages are sorted using
4871
* lastMod in descending order (latest is first)

src/main/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapGenerator.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package cz.jiripinkas.jsitemapgenerator.generator;
22

3-
import cz.jiripinkas.jsitemapgenerator.AbstractGenerator;
43
import cz.jiripinkas.jsitemapgenerator.AbstractSitemapGenerator;
54
import cz.jiripinkas.jsitemapgenerator.Image;
65
import cz.jiripinkas.jsitemapgenerator.WebPage;
@@ -22,17 +21,45 @@ public enum AdditionalNamespace {
2221

2322
private StringBuilder additionalNamespacesStringBuilder = new StringBuilder();
2423

24+
/**
25+
* @deprecated Use {@link #of(String)}
26+
* @param baseUrl
27+
*/
28+
@Deprecated
2529
public SitemapGenerator(String baseUrl) {
2630
super(baseUrl);
2731
}
2832

33+
/**
34+
* @deprecated Use {@link #of(String, AdditionalNamespace[])} )}
35+
* @param baseUrl
36+
*/
37+
@Deprecated
2938
public SitemapGenerator(String baseUrl, AdditionalNamespace[] additionalNamespaces) {
3039
this(baseUrl);
3140
if (Arrays.asList(additionalNamespaces).contains(AdditionalNamespace.IMAGE)) {
3241
additionalNamespacesStringBuilder.append(" xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\" ");
3342
}
3443
}
3544

45+
/**
46+
* Helper method to create an instance of SitemapGenerator
47+
* @param baseUrl
48+
* @return
49+
*/
50+
public static SitemapGenerator of(String baseUrl) {
51+
return new SitemapGenerator(baseUrl);
52+
}
53+
54+
/**
55+
* Helper method to create an instance of SitemapGenerator
56+
* @param baseUrl
57+
* @return
58+
*/
59+
public static SitemapGenerator of(String baseUrl, AdditionalNamespace[] additionalNamespaces) {
60+
return new SitemapGenerator(baseUrl, additionalNamespaces);
61+
}
62+
3663
/**
3764
* Construct sitemap into array of Strings. The URLs will be ordered using
3865
* priority in descending order (URLs with higher priority will be at the

src/main/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapIndexGenerator.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,19 @@
1111

1212
public class SitemapIndexGenerator extends AbstractSitemapGenerator {
1313

14+
/**
15+
* @deprecated use {@link #of(String)}
16+
* @param baseUrl Base url
17+
*/
18+
@Deprecated
1419
public SitemapIndexGenerator(String baseUrl) {
1520
super(baseUrl);
1621
}
1722

23+
public static SitemapIndexGenerator of(String baseUrl) {
24+
return new SitemapIndexGenerator(baseUrl);
25+
}
26+
1827
@Override
1928
public String[] constructSitemap() {
2029
ArrayList<String> out = new ArrayList<>();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class WebPageTest {
1010

1111
@Test(expected = InvalidUrlException.class)
1212
public void testConstruct() {
13-
new SitemapGenerator("www.javavids.com");
13+
SitemapGenerator.of("www.javavids.com");
1414
}
1515

1616
@Test(expected = InvalidPriorityException.class)

src/test/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapGeneratorTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class SitemapGeneratorTest {
1919

2020
@Before
2121
public void setUp() {
22-
sitemapGenerator = new SitemapGenerator("http://www.javavids.com");
22+
sitemapGenerator = SitemapGenerator.of("http://www.javavids.com");
2323
sitemapGenerator.addPage(WebPage.builder().name("index.php").priority(1.0).changeFreqNever().lastMod(new Date()).build());
2424
sitemapGenerator.addPage(WebPage.builder().name("latest.php").build());
2525
sitemapGenerator.addPage(WebPage.builder().name("contact.php").build());
@@ -35,14 +35,14 @@ public void testConstructImage() {
3535

3636
@Test
3737
public void testConstructSitemapWithImagesHeader() {
38-
sitemapGenerator = new SitemapGenerator("http://www.javavids.com", new AdditionalNamespace[] { AdditionalNamespace.IMAGE });
38+
sitemapGenerator = SitemapGenerator.of("http://www.javavids.com", new AdditionalNamespace[] { AdditionalNamespace.IMAGE });
3939
String sitemapString = sitemapGenerator.constructSitemapString();
4040
Assert.assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\" >\n</urlset>", sitemapString);
4141
}
4242

4343
@Test
4444
public void testConstructSitemapWithImages() {
45-
sitemapGenerator = new SitemapGenerator("http://www.javavids.com", new AdditionalNamespace[] { AdditionalNamespace.IMAGE });
45+
sitemapGenerator = SitemapGenerator.of("http://www.javavids.com", new AdditionalNamespace[] { AdditionalNamespace.IMAGE });
4646
WebPage webPage = WebPage.builder().nameRoot().build();
4747
webPage.addImage(WebPage.imageBuilder().loc("http://www.javavids.com/favicon.ico").build());
4848
sitemapGenerator.addPage(webPage);

src/test/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapIndexGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class SitemapIndexGeneratorTest {
1717

1818
@Before
1919
public void setUp() {
20-
sitemapIndexGenerator = new SitemapIndexGenerator("http://javalibs.com");
20+
sitemapIndexGenerator = SitemapIndexGenerator.of("http://javalibs.com");
2121
sitemapIndexGenerator.addPage(WebPage.builder().name("sitemap-plugins.xml").lastModNow().build());
2222
sitemapIndexGenerator.addPage(WebPage.builder().name("sitemap-archetypes.xml").lastModNow().build());
2323
}

src/test/java/cz/jiripinkas/jsitemapgenerator/generator/SitemapPathTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void setUp() {
2222

2323
@Test
2424
public void testSitemapPaths() {
25-
SitemapGenerator sitemapGenerator = new SitemapGenerator("http://www.javavids.com/");
25+
SitemapGenerator sitemapGenerator = SitemapGenerator.of("http://www.javavids.com/");
2626
Date lastModDate = new Date();
2727
sitemapGenerator.addPage(WebPage.builder()
2828
.name("/index.php")
@@ -53,7 +53,7 @@ public void testSitemapPaths() {
5353

5454
@Test
5555
public void testSitemapPaths2() {
56-
SitemapGenerator sitemapGenerator = new SitemapGenerator("http://www.javavids.com/");
56+
SitemapGenerator sitemapGenerator = SitemapGenerator.of("http://www.javavids.com/");
5757
sitemapGenerator.addPage(WebPage.builder()
5858
.name("/x0")
5959
.priority(1.0)

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ public class RssGeneratorTest {
1919

2020
@Before
2121
public void setUp() {
22-
rssGenerator = new RssGenerator("http://www.topjavablogs.com", "Top Java Blogs", "News from Java community");
22+
rssGenerator = RssGenerator.of("http://www.topjavablogs.com", "Top Java Blogs", "News from Java community");
2323
}
2424

2525
@Test
26-
public void testConstructRssEmptyItemsShouldThrowException() throws SAXException, IOException {
26+
public void testConstructRssEmptyItemsShouldThrowException() {
2727
try {
2828
String rss = rssGenerator.constructRss();
2929
ByteArrayInputStream xml = new ByteArrayInputStream(rss.getBytes("UTF-8"));

0 commit comments

Comments
 (0)