Performed code review and Javadoc review.
This commit is contained in:
parent
1961b35c9b
commit
90130e98e6
4 changed files with 139 additions and 31 deletions
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/*
|
||||||
* Copyright (C) 2013-2014,2017 Christian Pierre MOMON
|
* Copyright (C) 2013-2014,2017 Christian Pierre MOMON
|
||||||
*
|
*
|
||||||
* This file is part of Devinsy-rss.
|
* This file is part of Devinsy-rss.
|
||||||
|
@ -20,20 +20,22 @@ package fr.devinsy.util.rss;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import fr.devinsy.util.strings.StringList;
|
import fr.devinsy.util.strings.StringList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* The Class RSSCache.
|
||||||
*
|
*
|
||||||
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
||||||
*/
|
*/
|
||||||
public class RSSCache
|
public class RSSCache
|
||||||
{
|
{
|
||||||
private static RSSCache instance = new RSSCache();
|
private static RSSCache instance = new RSSCache();
|
||||||
private HashMap<String, String> cache;
|
private Map<String, String> cache;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Instantiates a new RSS cache.
|
||||||
*/
|
*/
|
||||||
private RSSCache()
|
private RSSCache()
|
||||||
{
|
{
|
||||||
|
@ -41,21 +43,30 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Gets the.
|
||||||
*
|
*
|
||||||
* @param key
|
* @param name
|
||||||
* @param locale
|
* the name
|
||||||
* @return
|
* @return the string
|
||||||
*/
|
*/
|
||||||
public String get(final String name)
|
public String get(final String name)
|
||||||
{
|
{
|
||||||
return get(name, Locale.ROOT);
|
String result;
|
||||||
|
|
||||||
|
result = get(name, Locale.ROOT);
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Gets the.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param locale
|
* @param locale
|
||||||
* @return
|
* the locale
|
||||||
|
* @return the string
|
||||||
*/
|
*/
|
||||||
public String get(final String name, final Locale locale)
|
public String get(final String name, final Locale locale)
|
||||||
{
|
{
|
||||||
|
@ -63,7 +74,7 @@ public class RSSCache
|
||||||
|
|
||||||
if (name == null)
|
if (name == null)
|
||||||
{
|
{
|
||||||
throw new NullPointerException("name is null.");
|
throw new IllegalArgumentException("name is null.");
|
||||||
}
|
}
|
||||||
else if (locale == null)
|
else if (locale == null)
|
||||||
{
|
{
|
||||||
|
@ -79,14 +90,18 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Key.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param locale
|
* @param locale
|
||||||
* @return
|
* the locale
|
||||||
|
* @return the string
|
||||||
*/
|
*/
|
||||||
private String key(final String name, final Locale locale)
|
private String key(final String name, final Locale locale)
|
||||||
{
|
{
|
||||||
|
@ -106,16 +121,20 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Put.
|
||||||
*
|
*
|
||||||
* @param key
|
* @param name
|
||||||
|
* the name
|
||||||
* @param locale
|
* @param locale
|
||||||
|
* the locale
|
||||||
* @param rss
|
* @param rss
|
||||||
|
* the rss
|
||||||
*/
|
*/
|
||||||
public void put(final String name, final Locale locale, final String rss)
|
public void put(final String name, final Locale locale, final String rss)
|
||||||
{
|
{
|
||||||
if (name == null)
|
if (name == null)
|
||||||
{
|
{
|
||||||
throw new NullPointerException("name is null.");
|
throw new IllegalArgumentException("Name is null.");
|
||||||
}
|
}
|
||||||
else if (locale == null)
|
else if (locale == null)
|
||||||
{
|
{
|
||||||
|
@ -128,10 +147,12 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Put.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
* @param locale
|
* the name
|
||||||
* @param rss
|
* @param rss
|
||||||
|
* the rss
|
||||||
*/
|
*/
|
||||||
public void put(final String name, final String rss)
|
public void put(final String name, final String rss)
|
||||||
{
|
{
|
||||||
|
@ -139,8 +160,10 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Removes the.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
*/
|
*/
|
||||||
public void remove(final String name)
|
public void remove(final String name)
|
||||||
{
|
{
|
||||||
|
@ -148,14 +171,18 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Removes the.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
|
* @param locale
|
||||||
|
* the locale
|
||||||
*/
|
*/
|
||||||
public void remove(final String name, final Locale locale)
|
public void remove(final String name, final Locale locale)
|
||||||
{
|
{
|
||||||
if (name == null)
|
if (name == null)
|
||||||
{
|
{
|
||||||
throw new NullPointerException("key is null.");
|
throw new IllegalArgumentException("Name is null.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -164,8 +191,10 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Sets the oudated.
|
||||||
*
|
*
|
||||||
* @param key
|
* @param name
|
||||||
|
* the new oudated
|
||||||
*/
|
*/
|
||||||
public void setOudated(final String name)
|
public void setOudated(final String name)
|
||||||
{
|
{
|
||||||
|
@ -179,8 +208,11 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Subkeys.
|
||||||
*
|
*
|
||||||
* @param key
|
* @param name
|
||||||
|
* the name
|
||||||
|
* @return the string list
|
||||||
*/
|
*/
|
||||||
public StringList subkeys(final String name)
|
public StringList subkeys(final String name)
|
||||||
{
|
{
|
||||||
|
@ -203,12 +235,12 @@ public class RSSCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instance.
|
||||||
*
|
*
|
||||||
* @return
|
* @return the RSS cache
|
||||||
*/
|
*/
|
||||||
public static RSSCache instance()
|
public static RSSCache instance()
|
||||||
{
|
{
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/*
|
||||||
* Copyright (C) 2013-2014,2017 Christian Pierre MOMON
|
* Copyright (C) 2013-2014,2017 Christian Pierre MOMON
|
||||||
*
|
*
|
||||||
* This file is part of Devinsy-rss.
|
* This file is part of Devinsy-rss.
|
||||||
|
@ -21,20 +21,25 @@ package fr.devinsy.util.rss;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* The Class RSSElement.
|
||||||
*
|
*
|
||||||
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
||||||
*/
|
*/
|
||||||
public class RSSElement
|
public class RSSElement
|
||||||
{
|
{
|
||||||
public static final String DATE_PATTERN = "dd MMM YYYY hh:mm:ss Z";
|
public static final String DATE_PATTERN = "dd MMM YYYY hh:mm:ss Z";
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private String value;
|
private String value;
|
||||||
private String[] attributes;
|
private String[] attributes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS element.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param value
|
* @param value
|
||||||
|
* the value
|
||||||
*/
|
*/
|
||||||
public RSSElement(final String name, final DateTime value)
|
public RSSElement(final String name, final DateTime value)
|
||||||
{
|
{
|
||||||
|
@ -51,9 +56,12 @@ public class RSSElement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS element.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param value
|
* @param value
|
||||||
|
* the value
|
||||||
*/
|
*/
|
||||||
public RSSElement(final String name, final long value)
|
public RSSElement(final String name, final long value)
|
||||||
{
|
{
|
||||||
|
@ -63,9 +71,14 @@ public class RSSElement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS element.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param value
|
* @param value
|
||||||
|
* the value
|
||||||
|
* @param attributes
|
||||||
|
* the attributes
|
||||||
*/
|
*/
|
||||||
public RSSElement(final String name, final long value, final String... attributes)
|
public RSSElement(final String name, final long value, final String... attributes)
|
||||||
{
|
{
|
||||||
|
@ -75,9 +88,12 @@ public class RSSElement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS element.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param value
|
* @param value
|
||||||
|
* the value
|
||||||
*/
|
*/
|
||||||
public RSSElement(final String name, final String value)
|
public RSSElement(final String name, final String value)
|
||||||
{
|
{
|
||||||
|
@ -87,9 +103,14 @@ public class RSSElement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS element.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the name
|
||||||
* @param value
|
* @param value
|
||||||
|
* the value
|
||||||
|
* @param attributes
|
||||||
|
* the attributes
|
||||||
*/
|
*/
|
||||||
public RSSElement(final String name, final String value, final String... attributes)
|
public RSSElement(final String name, final String value, final String... attributes)
|
||||||
{
|
{
|
||||||
|
@ -98,14 +119,20 @@ public class RSSElement
|
||||||
this.attributes = attributes;
|
this.attributes = attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the attributes.
|
||||||
|
*
|
||||||
|
* @return the attributes
|
||||||
|
*/
|
||||||
public String[] getAttributes()
|
public String[] getAttributes()
|
||||||
{
|
{
|
||||||
return this.attributes;
|
return this.attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Gets the name.
|
||||||
*
|
*
|
||||||
* @return
|
* @return the name
|
||||||
*/
|
*/
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
|
@ -113,28 +140,37 @@ public class RSSElement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Gets the value.
|
||||||
*
|
*
|
||||||
* @return
|
* @return the value
|
||||||
*/
|
*/
|
||||||
public String getValue()
|
public String getValue()
|
||||||
{
|
{
|
||||||
return this.value;
|
return this.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the attributes.
|
||||||
|
*
|
||||||
|
* @param attributes
|
||||||
|
* the new attributes
|
||||||
|
*/
|
||||||
public void setAttributes(final String[] attributes)
|
public void setAttributes(final String[] attributes)
|
||||||
{
|
{
|
||||||
this.attributes = attributes;
|
this.attributes = attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Sets the name.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
|
* the new name
|
||||||
*/
|
*/
|
||||||
public void setName(final String name)
|
public void setName(final String name)
|
||||||
{
|
{
|
||||||
if (name == null)
|
if (name == null)
|
||||||
{
|
{
|
||||||
throw new NullPointerException("name is null");
|
throw new IllegalArgumentException("name is null");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -143,8 +179,10 @@ public class RSSElement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Sets the value.
|
||||||
*
|
*
|
||||||
* @param value
|
* @param value
|
||||||
|
* the new value
|
||||||
*/
|
*/
|
||||||
public void setValue(final String value)
|
public void setValue(final String value)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/*
|
||||||
* Copyright (C) 2013-2014,2017 Christian Pierre MOMON
|
* Copyright (C) 2013-2014,2017 Christian Pierre MOMON
|
||||||
*
|
*
|
||||||
* This file is part of Devinsy-rss.
|
* This file is part of Devinsy-rss.
|
||||||
|
@ -28,6 +28,7 @@ import java.io.Writer;
|
||||||
import fr.devinsy.util.xml.XMLWriter;
|
import fr.devinsy.util.xml.XMLWriter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* The Class RSSWriter.
|
||||||
*
|
*
|
||||||
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
||||||
*/
|
*/
|
||||||
|
@ -36,10 +37,14 @@ public class RSSWriter
|
||||||
private XMLWriter out;
|
private XMLWriter out;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS writer.
|
||||||
*
|
*
|
||||||
* @param file
|
* @param file
|
||||||
* @throws FileNotFoundException
|
* the file
|
||||||
* @throws UnsupportedEncodingException
|
* @throws UnsupportedEncodingException
|
||||||
|
* the unsupported encoding exception
|
||||||
|
* @throws FileNotFoundException
|
||||||
|
* the file not found exception
|
||||||
*/
|
*/
|
||||||
public RSSWriter(final File file) throws UnsupportedEncodingException, FileNotFoundException
|
public RSSWriter(final File file) throws UnsupportedEncodingException, FileNotFoundException
|
||||||
{
|
{
|
||||||
|
@ -48,9 +53,12 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS writer.
|
||||||
*
|
*
|
||||||
* @param target
|
* @param target
|
||||||
|
* the target
|
||||||
* @throws UnsupportedEncodingException
|
* @throws UnsupportedEncodingException
|
||||||
|
* the unsupported encoding exception
|
||||||
*/
|
*/
|
||||||
public RSSWriter(final OutputStream target) throws UnsupportedEncodingException
|
public RSSWriter(final OutputStream target) throws UnsupportedEncodingException
|
||||||
{
|
{
|
||||||
|
@ -59,9 +67,12 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Instantiates a new RSS writer.
|
||||||
*
|
*
|
||||||
* @param target
|
* @param target
|
||||||
|
* the target
|
||||||
* @throws UnsupportedEncodingException
|
* @throws UnsupportedEncodingException
|
||||||
|
* the unsupported encoding exception
|
||||||
*/
|
*/
|
||||||
public RSSWriter(final Writer target) throws UnsupportedEncodingException
|
public RSSWriter(final Writer target) throws UnsupportedEncodingException
|
||||||
{
|
{
|
||||||
|
@ -70,7 +81,10 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Close.
|
||||||
*
|
*
|
||||||
|
* @throws IOException
|
||||||
|
* Signals that an I/O exception has occurred.
|
||||||
*/
|
*/
|
||||||
public void close() throws IOException
|
public void close() throws IOException
|
||||||
{
|
{
|
||||||
|
@ -83,7 +97,10 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Flush.
|
||||||
*
|
*
|
||||||
|
* @throws IOException
|
||||||
|
* Signals that an I/O exception has occurred.
|
||||||
*/
|
*/
|
||||||
public void flush() throws IOException
|
public void flush() throws IOException
|
||||||
{
|
{
|
||||||
|
@ -94,7 +111,16 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Write channel.
|
||||||
*
|
*
|
||||||
|
* @param title
|
||||||
|
* the title
|
||||||
|
* @param link
|
||||||
|
* the link
|
||||||
|
* @param description
|
||||||
|
* the description
|
||||||
|
* @param elements
|
||||||
|
* the elements
|
||||||
*/
|
*/
|
||||||
public void writeChannel(final String title, final String link, final String description, final RSSElement... elements)
|
public void writeChannel(final String title, final String link, final String description, final RSSElement... elements)
|
||||||
{
|
{
|
||||||
|
@ -117,8 +143,10 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Write comment.
|
||||||
*
|
*
|
||||||
* @param comment
|
* @param comment
|
||||||
|
* the comment
|
||||||
*/
|
*/
|
||||||
public void writeComment(final String comment)
|
public void writeComment(final String comment)
|
||||||
{
|
{
|
||||||
|
@ -126,7 +154,16 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Write item.
|
||||||
*
|
*
|
||||||
|
* @param title
|
||||||
|
* the title
|
||||||
|
* @param link
|
||||||
|
* the link
|
||||||
|
* @param description
|
||||||
|
* the description
|
||||||
|
* @param elements
|
||||||
|
* the elements
|
||||||
*/
|
*/
|
||||||
public void writeItem(final String title, final String link, final String description, final RSSElement... elements)
|
public void writeItem(final String title, final String link, final String description, final RSSElement... elements)
|
||||||
{
|
{
|
||||||
|
@ -162,7 +199,7 @@ public class RSSWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Write RSS header.
|
||||||
*/
|
*/
|
||||||
private void writeRSSHeader()
|
private void writeRSSHeader()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/*
|
||||||
* Copyright (C) 2014,2017 Christian Pierre MOMON
|
* Copyright (C) 2014,2017 Christian Pierre MOMON
|
||||||
*
|
*
|
||||||
* This file is part of Devinsy-rss.
|
* This file is part of Devinsy-rss.
|
||||||
|
@ -25,15 +25,16 @@ import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* The Class RSSCacheTest.
|
||||||
*
|
*
|
||||||
* @author Christian P. Momon
|
* @author Christian Pierre MOMON (christian.momon@devinsy.fr)
|
||||||
*/
|
*/
|
||||||
public class RSSCacheTest
|
public class RSSCacheTest
|
||||||
{
|
{
|
||||||
static protected org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(RSSCacheTest.class);
|
public static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(RSSCacheTest.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Before.
|
||||||
*/
|
*/
|
||||||
@Before
|
@Before
|
||||||
public void before()
|
public void before()
|
||||||
|
@ -43,8 +44,8 @@ public class RSSCacheTest
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Test 01.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void test01()
|
public void test01()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue