Fix checkstyle errors
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@115207 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
1 parent
8ca620c806
commit
399f02f4d8
4 files changed
+669
-399
No files matched your search
@@ -16,111 +16,135 @@ package org.apache.maven;
|
||||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.apache.maven.project.Dependency;
|
||||
import org.apache.maven.project.Project;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.maven.project.Dependency;
|
||||
import org.apache.maven.project.Project;
|
||||
|
||||
/**
|
||||
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
|
||||
* @version $Id: DependencyDescriberBean.java,v 1.3 2004/03/02 15:36:14 evenisse Exp $
|
||||
* Retreive descriptions for project's dependencies.
|
||||
*
|
||||
* @author <a href="mailto:michal.maczka@dimatics.com">Michal Maczka</a>
|
||||
* @version $Id: DependencyDescriberBean.java,v 1.4 2004/05/09 20:58:49 aheritier Exp $
|
||||
*/
|
||||
public class DependencyDescriberBean
|
||||
{
|
||||
/** for debug output */
|
||||
private Log log = LogFactory.getLog(DependencyDescriberBean.class);
|
||||
|
||||
/** */
|
||||
private List dependencies = new ArrayList();
|
||||
private Project project;
|
||||
//~ Instance fields ------------------------------------------------
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public List getDependencies()
|
||||
/** dependencies list */
|
||||
private List dependencies = new ArrayList();
|
||||
|
||||
/** for debug output */
|
||||
private Log log = LogFactory.getLog(DependencyDescriberBean.class);
|
||||
|
||||
/** project reference */
|
||||
private Project project;
|
||||
|
||||
//~ Methods --------------------------------------------------------
|
||||
|
||||
/**
|
||||
* The list of described dependencies.
|
||||
*
|
||||
* @return list of described dependencies
|
||||
*
|
||||
* @see DescribedDependency
|
||||
*/
|
||||
public List getDependencies()
|
||||
{
|
||||
return dependencies;
|
||||
}
|
||||
|
||||
/**
|
||||
* Project provides context/session related information. e.g where
|
||||
* maven repo local is
|
||||
*
|
||||
* @param projectValue project to scan
|
||||
*/
|
||||
public void build(Project projectValue)
|
||||
{
|
||||
this.project = projectValue;
|
||||
|
||||
for (Iterator iter = project.getDependencies().iterator();
|
||||
iter.hasNext();)
|
||||
{
|
||||
return dependencies;
|
||||
Dependency dependency = (Dependency) iter.next();
|
||||
DescribedDependency describedDependency =
|
||||
new DescribedDependency(dependency);
|
||||
dependencies.add(describedDependency);
|
||||
|
||||
Project resolvedProject = resolveProject(dependency);
|
||||
|
||||
if (resolvedProject != null)
|
||||
{
|
||||
log.debug("POM URL:" + resolvedProject.getUrl());
|
||||
describedDependency.setUrl(resolvedProject.getUrl());
|
||||
describedDependency.setDescription(
|
||||
resolvedProject.getDescription());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Project provides context/session related information.
|
||||
* e.g where maven repo local is
|
||||
* @param project
|
||||
*/
|
||||
public void build(Project project)
|
||||
{
|
||||
this.project = project;
|
||||
for (Iterator iter = project.getDependencies().iterator();
|
||||
iter.hasNext();
|
||||
)
|
||||
{
|
||||
Dependency dependency = (Dependency) iter.next();
|
||||
DescribedDependency describedDependency =
|
||||
new DescribedDependency(dependency);
|
||||
dependencies.add(describedDependency);
|
||||
Project resolvedProject = resolveProject(dependency);
|
||||
if (resolvedProject != null)
|
||||
{
|
||||
log.debug("POM URL:" + resolvedProject.getUrl());
|
||||
describedDependency.setUrl(resolvedProject.getUrl());
|
||||
describedDependency.setDescription(
|
||||
resolvedProject.getDescription());
|
||||
}
|
||||
}
|
||||
Collections.sort(dependencies);
|
||||
}
|
||||
/**
|
||||
* @param dependency
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private Project resolveProject(Dependency dependency)
|
||||
{
|
||||
Collections.sort(dependencies);
|
||||
}
|
||||
|
||||
File projectFile = null;
|
||||
if ("pom".equals(dependency.getType()))
|
||||
{
|
||||
projectFile =
|
||||
new File(
|
||||
project.getContext().getMavenRepoLocal(),
|
||||
dependency.getArtifact());
|
||||
}
|
||||
else
|
||||
{
|
||||
projectFile =
|
||||
new File(
|
||||
project.getContext().getMavenRepoLocal(),
|
||||
dependency.getArtifactDirectory()
|
||||
+ "/poms/"
|
||||
+ dependency.getArtifactId()
|
||||
+ "-"
|
||||
+ dependency.getVersion()
|
||||
+ ".pom");
|
||||
}
|
||||
try
|
||||
{
|
||||
if (projectFile.exists() && projectFile.canRead())
|
||||
{
|
||||
/**
|
||||
* Returns the project for a given dependency.
|
||||
*
|
||||
* @param dependency The dependency for which the project is
|
||||
* searched.
|
||||
*
|
||||
* @return The project associated to this dependency.
|
||||
*/
|
||||
private Project resolveProject(Dependency dependency)
|
||||
{
|
||||
File projectFile = null;
|
||||
|
||||
return MavenUtils.getProject(projectFile, null, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.debug("Failed to read POM:" + projectFile);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.debug("Failed to read POM:" + projectFile);
|
||||
return null;
|
||||
}
|
||||
if ("pom".equals(dependency.getType()))
|
||||
{
|
||||
projectFile =
|
||||
new File(
|
||||
project.getContext().getMavenRepoLocal(),
|
||||
dependency.getArtifact());
|
||||
}
|
||||
else
|
||||
{
|
||||
projectFile =
|
||||
new File(
|
||||
project.getContext().getMavenRepoLocal(),
|
||||
dependency.getArtifactDirectory() + "/poms/"
|
||||
+ dependency.getArtifactId() + "-"
|
||||
+ dependency.getVersion() + ".pom");
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (projectFile.exists() && projectFile.canRead())
|
||||
{
|
||||
return MavenUtils.getProject(
|
||||
projectFile,
|
||||
null,
|
||||
false);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.debug("Failed to read POM:" + projectFile);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.debug("Failed to read POM:" + projectFile);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,157 +16,222 @@ package org.apache.maven;
|
||||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
import org.apache.maven.project.Dependency;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
|
||||
* @version $Id: DescribedDependency.java,v 1.2 2004/03/02 15:36:14 evenisse Exp $
|
||||
* Dependency wrapper. Adds an url to download and a description.
|
||||
*
|
||||
* @author <a href="mailto:michal.maczka@dimatics.com">Michal Maczka</a>
|
||||
* @version $Id: DescribedDependency.java,v 1.3 2004/05/09 20:58:49 aheritier Exp $
|
||||
*/
|
||||
public class DescribedDependency implements Comparable
|
||||
{
|
||||
private Dependency dependency;
|
||||
//~ Instance fields ----------------------------------------------------------
|
||||
|
||||
private String description = null;
|
||||
/** Original dependency. */
|
||||
private Dependency dependency;
|
||||
|
||||
private String url = null;
|
||||
/** Dependency description. */
|
||||
private String description = null;
|
||||
|
||||
public DescribedDependency(Dependency dependency)
|
||||
/** Dependency Url. */
|
||||
private String url = null;
|
||||
|
||||
//~ Constructors -------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Creates a new DescribedDependency object.
|
||||
*
|
||||
* @param dependencyToWrap Original dependency.
|
||||
*/
|
||||
public DescribedDependency(Dependency dependencyToWrap)
|
||||
{
|
||||
this.dependency = dependencyToWrap;
|
||||
}
|
||||
|
||||
//~ Methods ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Dependency's artifact property getter.
|
||||
*
|
||||
* @return dependency's artifact.
|
||||
*
|
||||
* @see Dependency#getArtifact()
|
||||
*/
|
||||
public String getArtifact()
|
||||
{
|
||||
return dependency.getArtifact();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's artifactDirectory property getter.
|
||||
*
|
||||
* @return dependency's artifactDirectory.
|
||||
*
|
||||
* @see Dependency#getArtifactDirectory()
|
||||
*/
|
||||
public String getArtifactDirectory()
|
||||
{
|
||||
return dependency.getArtifactDirectory();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's artifactId property getter.
|
||||
*
|
||||
* @return dependency's artifactId.
|
||||
*
|
||||
* @see Dependency#getArtifactId()
|
||||
*/
|
||||
public String getArtifactId()
|
||||
{
|
||||
return dependency.getArtifactId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Property setter.
|
||||
*
|
||||
* @param newDescription new description for the dependency.
|
||||
*
|
||||
*/
|
||||
public void setDescription(String newDescription)
|
||||
{
|
||||
this.description = newDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
* Property getter.
|
||||
*
|
||||
* @return the dependency's description.
|
||||
*
|
||||
*/
|
||||
public String getDescription()
|
||||
{
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's extension property getter.
|
||||
*
|
||||
* @return dependency's extension.
|
||||
*
|
||||
* @see Dependency#getExtension()
|
||||
*/
|
||||
public String getExtension()
|
||||
{
|
||||
return dependency.getExtension();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's groupId property getter.
|
||||
*
|
||||
* @return dependency's groupId.
|
||||
*
|
||||
* @see Dependency#getGroupId()
|
||||
*/
|
||||
public String getGroupId()
|
||||
{
|
||||
return dependency.getGroupId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's id property getter.
|
||||
*
|
||||
* @return dependency's id.
|
||||
*
|
||||
* @see Dependency#getId()
|
||||
*/
|
||||
public String getId()
|
||||
{
|
||||
return dependency.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's jar property getter.
|
||||
*
|
||||
* @return dependency's jar.
|
||||
*
|
||||
* @see Dependency#getJar()
|
||||
*/
|
||||
public String getJar()
|
||||
{
|
||||
return dependency.getJar();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's name property getter.
|
||||
*
|
||||
* @return dependency's name.
|
||||
*
|
||||
* @see Dependency#getName()
|
||||
*/
|
||||
public String getName()
|
||||
{
|
||||
return dependency.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dependency's type property getter.
|
||||
*
|
||||
* @return dependency's type.
|
||||
*
|
||||
* @see Dependency#getType()
|
||||
*/
|
||||
public String getType()
|
||||
{
|
||||
return dependency.getType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Property setter.
|
||||
*
|
||||
* @param newUrl the new dependency's url.
|
||||
*/
|
||||
public void setUrl(String newUrl)
|
||||
{
|
||||
this.url = newUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Property getter.
|
||||
*
|
||||
* @return the dependency's url.
|
||||
*/
|
||||
public String getUrl()
|
||||
{
|
||||
String retValue = null;
|
||||
|
||||
if ((dependency.getUrl() != null) && (dependency.getUrl().length() > 0))
|
||||
{
|
||||
this.dependency = dependency;
|
||||
retValue = dependency.getUrl();
|
||||
}
|
||||
else
|
||||
{
|
||||
return retValue = url;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Comparable#compareTo(java.lang.Object)
|
||||
*/
|
||||
public int compareTo(Object obj)
|
||||
{
|
||||
DescribedDependency other = (DescribedDependency) obj;
|
||||
return this.getId().compareTo(other.getId());
|
||||
}
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getArtifact()
|
||||
{
|
||||
return dependency.getArtifact();
|
||||
}
|
||||
return retValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getArtifactDirectory()
|
||||
{
|
||||
return dependency.getArtifactDirectory();
|
||||
}
|
||||
/**
|
||||
* Dependency's version property getter.
|
||||
*
|
||||
* @return dependency's version.
|
||||
*
|
||||
* @see Dependency#getVersion()
|
||||
*/
|
||||
public String getVersion()
|
||||
{
|
||||
return dependency.getVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getArtifactId()
|
||||
{
|
||||
return dependency.getArtifactId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getExtension()
|
||||
{
|
||||
return dependency.getExtension();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getGroupId()
|
||||
{
|
||||
return dependency.getGroupId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getId()
|
||||
{
|
||||
return dependency.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getJar()
|
||||
{
|
||||
return dependency.getJar();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getName()
|
||||
{
|
||||
return dependency.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getType()
|
||||
{
|
||||
return dependency.getType();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param url
|
||||
*/
|
||||
public void setUrl(String url)
|
||||
{
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getUrl()
|
||||
{
|
||||
String retValue = null;
|
||||
if (dependency.getUrl() != null && dependency.getUrl().length()>0)
|
||||
{
|
||||
retValue = dependency.getUrl();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return retValue = url;
|
||||
}
|
||||
return retValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getVersion()
|
||||
{
|
||||
return dependency.getVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public String getDescription()
|
||||
{
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param description
|
||||
*/
|
||||
public void setDescription(String description)
|
||||
{
|
||||
this.description = description;
|
||||
}
|
||||
/**
|
||||
* @see java.lang.Comparable#compareTo(java.lang.Object)
|
||||
*/
|
||||
public int compareTo(Object obj)
|
||||
{
|
||||
DescribedDependency other = (DescribedDependency) obj;
|
||||
|
||||
return this.getId().compareTo(other.getId());
|
||||
}
|
||||
}
|
||||
@@ -16,141 +16,205 @@ package org.apache.maven;
|
||||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
import org.dom4j.Attribute;
|
||||
import org.dom4j.Node;
|
||||
|
||||
import org.dom4j.tree.DefaultElement;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.dom4j.Attribute;
|
||||
import org.dom4j.Node;
|
||||
import org.dom4j.tree.DefaultElement;
|
||||
|
||||
/**
|
||||
* @author <a href="bwalding@jakarta.org">Ben Walding</a>
|
||||
* @version $Id: NavBean.java,v 1.7 2004/03/02 15:36:14 evenisse Exp $
|
||||
* Navigation Bean.
|
||||
*
|
||||
* @author <a href="mailto:bwalding@jakarta.org">Ben Walding</a>
|
||||
* @version $Id: NavBean.java,v 1.8 2004/05/09 20:58:49 aheritier Exp $
|
||||
*/
|
||||
public class NavBean
|
||||
{
|
||||
private String location;
|
||||
private Node document;
|
||||
//~ Instance fields ----------------------------------------------------------
|
||||
|
||||
public void setDocument(Object o)
|
||||
/** The current document. */
|
||||
private Node document;
|
||||
|
||||
/** The current location. */
|
||||
private String location;
|
||||
|
||||
//~ Methods ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Determines if the given node is collapsed. If a parent of this node is
|
||||
* collapsed, this will give spurious results.
|
||||
*
|
||||
* @param o the node to test
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isCollapsed(Object o)
|
||||
{
|
||||
//If we don't know where we are, collapse it - something outside of our knowledge
|
||||
if (location == null)
|
||||
{
|
||||
document = (Node) o;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static String getAttribute(DefaultElement elem, String attribute, String defaultValue)
|
||||
if (!(o instanceof DefaultElement))
|
||||
{
|
||||
Attribute attr = elem.attribute(attribute);
|
||||
if (attr == null)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
System.out.println(o.getClass().getName());
|
||||
|
||||
return attr.getStringValue();
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean getCollapseAttribute(DefaultElement elem)
|
||||
DefaultElement elem = (DefaultElement) o;
|
||||
|
||||
boolean collapsed = getCollapseAttribute(elem);
|
||||
|
||||
if (!collapsed)
|
||||
{
|
||||
return Boolean.valueOf(getAttribute(elem, "collapse", "false")).booleanValue();
|
||||
}
|
||||
private static String getHREFAttribute(DefaultElement elem)
|
||||
{
|
||||
return getAttribute(elem, "href", null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the given node is collapsed. If a parent of this node is
|
||||
* collapsed, this will give spurious results.
|
||||
* @param o
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isCollapsed(Object o)
|
||||
{
|
||||
//If we don't know where we are, collapse it - something outside of our knowledge
|
||||
if (location == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!(o instanceof DefaultElement))
|
||||
{
|
||||
System.out.println(o.getClass().getName());
|
||||
return false;
|
||||
}
|
||||
DefaultElement elem = (DefaultElement) o;
|
||||
|
||||
boolean collapsed = getCollapseAttribute(elem);
|
||||
if (!collapsed)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isSelected(o))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//System.out.println(elem.asXML());
|
||||
String xpath;
|
||||
if (location.startsWith("/") || location.startsWith(".")) {
|
||||
xpath = ".//item[@href='" + location + "']";
|
||||
|
||||
} else {
|
||||
xpath = ".//item[@href='/" + location + "']";
|
||||
|
||||
}
|
||||
|
||||
|
||||
List l = elem.selectNodes(xpath);
|
||||
|
||||
if (l.size() != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if a given <code>item</code> node is the selected node
|
||||
* @param o
|
||||
* @return boolean
|
||||
*/
|
||||
public boolean isSelected(Object o)
|
||||
if (isSelected(o))
|
||||
{
|
||||
if (location == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
DefaultElement elem = (DefaultElement) o;
|
||||
if (location.equals(getHREFAttribute(elem)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the location.
|
||||
* @param location The location to set
|
||||
*/
|
||||
public void setLocation(String location)
|
||||
//System.out.println(elem.asXML());
|
||||
String xpath;
|
||||
|
||||
if (location.startsWith("/") || location.startsWith("."))
|
||||
{
|
||||
if (!location.startsWith("/"))
|
||||
location = "/" + location;
|
||||
|
||||
this.location = location;
|
||||
xpath = ".//item[@href='" + location + "']";
|
||||
}
|
||||
else
|
||||
{
|
||||
xpath = ".//item[@href='/" + location + "']";
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the first <code>item</code> with a given href
|
||||
* @param href
|
||||
* @return DefaultElement
|
||||
*/
|
||||
public DefaultElement getFirstNodeByHREF(String href)
|
||||
List l = elem.selectNodes(xpath);
|
||||
|
||||
if (l.size() != 0)
|
||||
{
|
||||
String xpath = "//item[@href='" + href + "']";
|
||||
return (DefaultElement) document.selectSingleNode(xpath);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter.
|
||||
*
|
||||
* @param o The new document.
|
||||
*/
|
||||
public void setDocument(Object o)
|
||||
{
|
||||
document = (Node) o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the first <code>item</code> with a given href
|
||||
*
|
||||
* @param href the href to find.
|
||||
*
|
||||
* @return DefaultElement
|
||||
*/
|
||||
public DefaultElement getFirstNodeByHREF(String href)
|
||||
{
|
||||
String xpath = "//item[@href='" + href + "']";
|
||||
|
||||
return (DefaultElement) document.selectSingleNode(xpath);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the location.
|
||||
*
|
||||
* @param newLocation The location to set
|
||||
*/
|
||||
public void setLocation(String newLocation)
|
||||
{
|
||||
if (!newLocation.startsWith("/"))
|
||||
{
|
||||
newLocation = "/" + newLocation;
|
||||
}
|
||||
|
||||
this.location = newLocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if a given <code>item</code> node is the selected node
|
||||
*
|
||||
* @param o the item to test
|
||||
*
|
||||
* @return true if the item is currently selected.
|
||||
*/
|
||||
public boolean isSelected(Object o)
|
||||
{
|
||||
if (location == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
DefaultElement elem = (DefaultElement) o;
|
||||
|
||||
if (location.equals(getHREFAttribute(elem)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the attribute's value for an element.
|
||||
*
|
||||
* @param elem The element to read
|
||||
* @param attribute The attribute's name to get.
|
||||
* @param defaultValue A default value to return.
|
||||
*
|
||||
* @return The attribute's value for the given element.
|
||||
*/
|
||||
private static String getAttribute(
|
||||
DefaultElement elem,
|
||||
String attribute,
|
||||
String defaultValue)
|
||||
{
|
||||
Attribute attr = elem.attribute(attribute);
|
||||
|
||||
if (attr == null)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return attr.getStringValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if the element is collapsed.
|
||||
*
|
||||
* @param elem The element to test
|
||||
*
|
||||
* @return true if the element has a collapse attribute with the value true.
|
||||
*/
|
||||
private static boolean getCollapseAttribute(DefaultElement elem)
|
||||
{
|
||||
return Boolean.valueOf(getAttribute(
|
||||
elem,
|
||||
"collapse",
|
||||
"false")).booleanValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return href attribute.
|
||||
*
|
||||
* @param elem element.
|
||||
*
|
||||
* @return href value.
|
||||
*/
|
||||
private static String getHREFAttribute(DefaultElement elem)
|
||||
{
|
||||
return getAttribute(
|
||||
elem,
|
||||
"href",
|
||||
null);
|
||||
}
|
||||
}
|
||||
@@ -16,81 +16,198 @@ package org.apache.maven;
|
||||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.Node;
|
||||
|
||||
import org.dom4j.io.SAXReader;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
|
||||
/**
|
||||
* @author <a href="bwalding@jakarta.org">Ben Walding</a>
|
||||
* @version $Id: NavBeanTest.java,v 1.5 2004/03/02 15:36:15 evenisse Exp $
|
||||
* NavBean Tests class.
|
||||
*
|
||||
* @author <a href="mailto:bwalding@jakarta.org">Ben Walding</a>
|
||||
* @version $Id: NavBeanTest.java,v 1.6 2004/05/09 20:58:49 aheritier Exp $
|
||||
*/
|
||||
public class NavBeanTest extends TestCase
|
||||
{
|
||||
//~ Instance fields ----------------------------------------------------------
|
||||
|
||||
private File testResources;
|
||||
NavBean nb;
|
||||
/** Test resources file. */
|
||||
private File testResources;
|
||||
|
||||
public void setUp() throws Exception
|
||||
/** NavBean instance to test */
|
||||
private NavBean nb;
|
||||
|
||||
//~ Methods ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Tests settings.
|
||||
*
|
||||
* @throws Exception If a problem occurs
|
||||
*/
|
||||
public void setUp()
|
||||
throws Exception
|
||||
{
|
||||
testResources =
|
||||
new File(System.getProperty("basedir") + "/src/test-resources");
|
||||
nb = new NavBean();
|
||||
nb.setDocument(getTestDocument());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test.
|
||||
*
|
||||
* @param href href
|
||||
* @param location location
|
||||
* @param expected Result expected
|
||||
*/
|
||||
public void testCollapsed(
|
||||
String href,
|
||||
String location,
|
||||
boolean expected)
|
||||
{
|
||||
nb.setLocation(location);
|
||||
|
||||
Node node = nb.getFirstNodeByHREF(href);
|
||||
assertNotNull(node);
|
||||
|
||||
String s =
|
||||
"At location " + location + ", looking to generate link to " + href
|
||||
+ ", expecting collapse = " + expected;
|
||||
assertEquals(
|
||||
s,
|
||||
expected,
|
||||
nb.isCollapsed(node));
|
||||
}
|
||||
|
||||
/**
|
||||
* tests suite.
|
||||
*
|
||||
* @throws Exception DOCUMENT ME!
|
||||
*/
|
||||
public void testCollapsed()
|
||||
throws Exception
|
||||
{
|
||||
testCollapsed(
|
||||
"/alpha/index.html",
|
||||
"/alpha/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/alpha/one/index.html",
|
||||
"/alpha/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/alpha/two/index.html",
|
||||
"/alpha/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/beta/index.html",
|
||||
"/alpha/index.html",
|
||||
true);
|
||||
|
||||
testCollapsed(
|
||||
"/alpha/index.html",
|
||||
"/beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/alpha/one/index.html",
|
||||
"/beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/alpha/two/index.html",
|
||||
"/beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/beta/index.html",
|
||||
"/beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/beta/one/index.html",
|
||||
"/beta/index.html",
|
||||
true);
|
||||
testCollapsed(
|
||||
"/beta/two/index.html",
|
||||
"/beta/index.html",
|
||||
true);
|
||||
|
||||
testCollapsed(
|
||||
"/alpha/index.html",
|
||||
"beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/alpha/one/index.html",
|
||||
"beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/alpha/two/index.html",
|
||||
"beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/beta/index.html",
|
||||
"beta/index.html",
|
||||
false);
|
||||
testCollapsed(
|
||||
"/beta/one/index.html",
|
||||
"beta/index.html",
|
||||
true);
|
||||
testCollapsed(
|
||||
"/beta/two/index.html",
|
||||
"beta/index.html",
|
||||
true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the navigation.xml to test.
|
||||
*
|
||||
* @return XML Document
|
||||
*
|
||||
* @throws Exception If a problem occurs.
|
||||
*/
|
||||
protected Document getTestDocument()
|
||||
throws Exception
|
||||
{
|
||||
SAXReader reader = new SAXReader();
|
||||
|
||||
return reader.read(
|
||||
new FileInputStream(new File(
|
||||
testResources,
|
||||
"navigation.xml")));
|
||||
}
|
||||
|
||||
//~ Inner Classes ------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Test
|
||||
*/
|
||||
class Test
|
||||
{
|
||||
//~ Instance fields --------------------------------------------------------
|
||||
|
||||
/** Href. */
|
||||
private String href;
|
||||
|
||||
/** Collapsed. */
|
||||
private boolean collapsed;
|
||||
|
||||
//~ Constructors -----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Creates a new Test object.
|
||||
*
|
||||
* @param newHref HREF.
|
||||
* @param newCollapsed Status.
|
||||
*/
|
||||
public Test(
|
||||
String newHref,
|
||||
boolean newCollapsed)
|
||||
{
|
||||
testResources = new File(System.getProperty("basedir") + "/src/test-resources");
|
||||
nb = new NavBean();
|
||||
nb.setDocument(getTestDocument());
|
||||
}
|
||||
|
||||
class Test
|
||||
{
|
||||
String href;
|
||||
boolean collapsed;
|
||||
public Test(String href, boolean collapsed)
|
||||
{
|
||||
this.href = href;
|
||||
this.collapsed = collapsed;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected Document getTestDocument() throws Exception
|
||||
{
|
||||
SAXReader reader = new SAXReader();
|
||||
return reader.read(new FileInputStream(new File(testResources, "navigation.xml")));
|
||||
}
|
||||
|
||||
public void testCollapsed() throws Exception
|
||||
{
|
||||
testCollapsed("/alpha/index.html", "/alpha/index.html", false);
|
||||
testCollapsed("/alpha/one/index.html", "/alpha/index.html", false);
|
||||
testCollapsed("/alpha/two/index.html", "/alpha/index.html", false);
|
||||
testCollapsed("/beta/index.html", "/alpha/index.html", true);
|
||||
|
||||
testCollapsed("/alpha/index.html", "/beta/index.html", false);
|
||||
testCollapsed("/alpha/one/index.html", "/beta/index.html", false);
|
||||
testCollapsed("/alpha/two/index.html", "/beta/index.html", false);
|
||||
testCollapsed("/beta/index.html", "/beta/index.html", false);
|
||||
testCollapsed("/beta/one/index.html", "/beta/index.html", true);
|
||||
testCollapsed("/beta/two/index.html", "/beta/index.html", true);
|
||||
|
||||
testCollapsed("/alpha/index.html", "beta/index.html", false);
|
||||
testCollapsed("/alpha/one/index.html", "beta/index.html", false);
|
||||
testCollapsed("/alpha/two/index.html", "beta/index.html", false);
|
||||
testCollapsed("/beta/index.html", "beta/index.html", false);
|
||||
testCollapsed("/beta/one/index.html", "beta/index.html", true);
|
||||
testCollapsed("/beta/two/index.html", "beta/index.html", true);
|
||||
}
|
||||
|
||||
public void testCollapsed(String href, String location, boolean expected)
|
||||
{
|
||||
nb.setLocation(location);
|
||||
|
||||
Node node = nb.getFirstNodeByHREF(href);
|
||||
assertNotNull(node);
|
||||
|
||||
String s = "At location " + location + ", looking to generate link to " + href + ", expecting collapse = " + expected;
|
||||
assertEquals(s, expected, nb.isCollapsed(node));
|
||||
this.href = newHref;
|
||||
this.collapsed = newCollapsed;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user