You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2009/02/18 03:24:10 UTC
svn commit: r745359 - in /archiva/trunk/archiva-modules:
archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/
archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/
archiva-web/archiva-webapp/src/main/webapp...
Author: oching
Date: Wed Feb 18 02:24:09 2009
New Revision: 745359
URL: http://svn.apache.org/viewvc?rev=745359&view=rev
Log:
[MRM-1041]
o show shared basic project info in versions list browse
o fix model not being set in repository browse
Modified:
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/css/site.css
Modified: archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java?rev=745359&r1=745358&r2=745359&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java (original)
+++ archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java Wed Feb 18 02:24:09 2009
@@ -318,7 +318,7 @@
try
{
- dao.getProjectModelDAO().getProjectModel( groupId, artifactId, version );
+ model = dao.getProjectModelDAO().getProjectModel( groupId, artifactId, version );
}
catch (ObjectNotFoundException e)
{
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java?rev=745359&r1=745358&r2=745359&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/BrowseAction.java Wed Feb 18 02:24:09 2009
@@ -25,10 +25,12 @@
import com.opensymphony.xwork2.ActionContext;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.database.ArchivaDatabaseException;
+import org.apache.maven.archiva.database.ObjectNotFoundException;
import org.apache.maven.archiva.database.browsing.BrowsingResults;
import org.apache.maven.archiva.database.browsing.RepositoryBrowsing;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.security.*;
-import org.apache.maven.archiva.security.ArchivaXworkUser;
/**
* Browse the repository.
@@ -63,7 +65,9 @@
private String artifactId;
private String repositoryId;
-
+
+ private ArchivaProjectModel sharedModel;
+
public String browse()
{
List<String> selectedRepos = getObservableRepos();
@@ -117,11 +121,88 @@
{
return GlobalResults.ACCESS_TO_NO_REPOS;
}
-
this.results = repoBrowsing.selectArtifactId( getPrincipal(), selectedRepos, groupId, artifactId );
+
+ populateSharedModel();
+
return SUCCESS;
}
+
+ private void populateSharedModel()
+ {
+ sharedModel = new ArchivaProjectModel();
+ sharedModel.setGroupId( groupId );
+ sharedModel.setArtifactId( artifactId );
+ boolean isFirstVersion = true;
+
+ for( String version : this.results.getVersions() )
+ {
+ try
+ {
+ ArchivaProjectModel model =
+ repoBrowsing.selectVersion( getPrincipal(), getObservableRepos(), groupId, artifactId, version );
+
+ if( isFirstVersion )
+ {
+ sharedModel = model;
+ }
+ else
+ {
+ if ( sharedModel.getPackaging() != null &&
+ !StringUtils.equalsIgnoreCase( sharedModel.getPackaging(), model.getPackaging() ) )
+ {
+ sharedModel.setPackaging( null );
+ }
+
+ if ( sharedModel.getName() != null &&
+ !StringUtils.equalsIgnoreCase( sharedModel.getName(), model.getName() ) )
+ {
+ sharedModel.setName( "" );
+ }
+
+ if ( sharedModel.getDescription() != null &&
+ !StringUtils.equalsIgnoreCase( sharedModel.getDescription(), model.getDescription() ) )
+ {
+ sharedModel.setDescription( null );
+ }
+
+ if ( sharedModel.getIssueManagement() != null &&
+ !StringUtils.equalsIgnoreCase( sharedModel.getIssueManagement().getUrl(), model.getIssueManagement().getUrl() ) )
+ {
+ sharedModel.setIssueManagement( null );
+ }
+
+ if ( sharedModel.getCiManagement() != null &&
+ !StringUtils.equalsIgnoreCase( sharedModel.getCiManagement().getUrl(), model.getCiManagement().getUrl() ) )
+ {
+ sharedModel.setCiManagement( null );
+ }
+
+ if ( sharedModel.getOrganization() != null &&
+ !StringUtils.equalsIgnoreCase( sharedModel.getOrganization().getName(), model.getOrganization().getName() ) )
+ {
+ sharedModel.setOrganization( null );
+ }
+
+ if ( sharedModel.getUrl() != null && !StringUtils.equalsIgnoreCase( sharedModel.getUrl(), model.getUrl() ) )
+ {
+ sharedModel.setUrl( null );
+ }
+ }
+
+ isFirstVersion = false;
+ }
+ catch ( ObjectNotFoundException e )
+ {
+ getLogger().debug( e.getMessage(), e );
+ }
+ catch ( ArchivaDatabaseException e )
+ {
+ getLogger().debug( e.getMessage(), e );
+ }
+ }
+ }
private String getPrincipal()
{
@@ -184,4 +265,14 @@
this.repositoryId = repositoryId;
}
+
+ public ArchivaProjectModel getSharedModel()
+ {
+ return sharedModel;
+ }
+
+ public void setSharedModel( ArchivaProjectModel sharedModel )
+ {
+ this.sharedModel = sharedModel;
+ }
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp?rev=745359&r1=745358&r2=745359&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp Wed Feb 18 02:24:09 2009
@@ -26,6 +26,19 @@
<head>
<title>Browse Repository</title>
<s:head/>
+
+ <script type="text/javascript" src="<c:url value='/js/jquery/jquery-1.2.6.pack.js'/>"></script>
+ <script type="text/javascript">
+ $(document).ready(function(){
+
+ $("table.infoTable").hide();
+ $("a.expand").click(function(event){
+ event.preventDefault();
+ $(this).next().toggle("slow");
+ });
+ });
+ </script>
+
</head>
<body>
@@ -83,24 +96,95 @@
</c:if>
<c:if test="${not empty results.versions}">
- <div id="nameColumn">
- <h2>Versions</h2>
- <ul>
- <c:forEach items="${results.versions}" var="version">
- <c:set var="url">
- <s:url action="showArtifact" namespace="/">
- <s:param name="groupId" value="%{#attr.results.selectedGroupId}"/>
- <s:param name="artifactId" value="%{#attr.results.selectedArtifactId}"/>
- <s:param name="version" value="%{#attr.version}"/>
- </s:url>
- </c:set>
- <li><a href="${url}">${version}/</a></li>
- </c:forEach>
- </ul>
- </div>
+ <%-- show shared project information (MRM-1041) --%>
+
+ <h2>Versions</h2>
+ <div id="nameColumn" class="versions">
+ <a class="expand" href="#">Artifact Info</a>
+ <table class="infoTable">
+ <tr>
+ <th>Group ID</th>
+ <td>${sharedModel.groupId}</td>
+ </tr>
+ <tr>
+ <th>Artifact ID</th>
+ <td>${sharedModel.artifactId}</td>
+ </tr>
+ <c:if test="${sharedModel.packaging != null}">
+ <tr>
+ <th>Packaging</th>
+ <td><code>${sharedModel.packaging}</code></td>
+ </tr>
+ </c:if>
+ <c:if test="${sharedModel.name != null}">
+ <tr>
+ <th>Name</th>
+ <td><code>${sharedModel.name}</code></td>
+ </tr>
+ </c:if>
+ <c:if test="${sharedModel.organization != null}">
+ <tr>
+ <th>Organisation</th>
+ <td>
+ <c:choose>
+ <c:when test="${sharedModel.organization.url != null}">
+ <a href="${sharedModel.organization.url}">${sharedModel.organization.name}</a>
+ </c:when>
+ <c:otherwise>
+ ${sharedModel.organization.name}
+ </c:otherwise>
+ </c:choose>
+ </td>
+ </tr>
+ </c:if>
+ <c:if test="${sharedModel.issueManagement != null}">
+ <tr>
+ <th>Issue Tracker</th>
+ <td>
+ <c:choose>
+ <c:when test="${!empty (sharedModel.issueManagement.url)}">
+ <a href="${sharedModel.issueManagement.url}">${sharedModel.issueManagement.system}</a>
+ </c:when>
+ <c:otherwise>
+ ${sharedModel.issueManagement.system}
+ </c:otherwise>
+ </c:choose>
+ </td>
+ </tr>
+ </c:if>
+ <c:if test="${sharedModel.ciManagement != null}">
+ <tr>
+ <th>Continuous Integration</th>
+ <td>
+ <c:choose>
+ <c:when test="${!empty (sharedModel.ciManagement.url)}">
+ <a href="${sharedModel.ciManagement.url}">${sharedModel.ciManagement.system}</a>
+ </c:when>
+ <c:otherwise>
+ ${sharedModel.ciManagement.system}
+ </c:otherwise>
+ </c:choose>
+ </td>
+ </tr>
+ </c:if>
+ </table>
+ </div>
+
+ <ul>
+ <c:forEach items="${results.versions}" var="version">
+ <c:set var="url">
+ <s:url action="showArtifact" namespace="/">
+ <s:param name="groupId" value="%{#attr.results.selectedGroupId}"/>
+ <s:param name="artifactId" value="%{#attr.results.selectedArtifactId}"/>
+ <s:param name="version" value="%{#attr.version}"/>
+ </s:url>
+ </c:set>
+ <li><a href="${url}">${version}/</a></li>
+ </c:forEach>
+ </ul>
</c:if>
</div>
</body>
-</html>
+</html>
\ No newline at end of file
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/css/site.css
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/css/site.css?rev=745359&r1=745358&r2=745359&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/css/site.css (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/css/site.css Wed Feb 18 02:24:09 2009
@@ -424,4 +424,15 @@
div.buttons {
text-align: center;
+}
+
+div.versions {
+ border: 1px dashed #DFDEDE;
+ margin-bottom: 15px;
+ padding: 5px;
+}
+
+div.versions a.expand {
+ font-size: 7pt;
+ color: gray;
}
\ No newline at end of file