Modified: maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml?view=diff&rev=511053&r1=511052&r2=511053 ============================================================================== --- maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml (original) +++ maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml Fri Feb 23 11:05:21 2007 @@ -73,6 +73,60 @@ <component> <role>org.codehaus.plexus.jdo.JdoFactory</role> + <role-hint>archiva</role-hint> + <implementation>org.codehaus.plexus.jdo.DataSourceConfigurableJdoFactory</implementation> + <configuration> + + <connectionFactoryName>java:comp/env/jdbc/archiva</connectionFactoryName> + <shutdownConnectionFactoryName>java:comp/env/jdbc/archivaShutdown</shutdownConnectionFactoryName> + + <!-- JPOX and JDO configuration --> + <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass> + <otherProperties> + <property> + <name>org.jpox.autoCreateSchema</name> + <value>true</value> + </property> + <property> + <name>org.jpox.validateTables</name> + <value>false</value> + </property> + <property> + <name>org.jpox.validateConstraints</name> + <value>false</value> + </property> + <property> + <name>org.jpox.validateColumns</name> + <value>false</value> + </property> + <property> + <name>org.jpox.autoStartMechanism</name> + <value>None</value> + </property> + <property> + <name>org.jpox.transactionIsolation</name> + <value>READ_UNCOMMITTED</value> + </property> + <property> + <name>org.jpox.poid.transactionIsolation</name> + <value>READ_UNCOMMITTED</value> + </property> + <property> + <name>org.jpox.rdbms.dateTimezone</name> + <value>JDK_DEFAULT_TIMEZONE</value> + </property> + <!-- NEEDED FOR POSTGRES, But causes problems in other JDBC implementations. + <property> + <name>org.jpox.identifier.case</name> + <value>PreserveCase</value> + </property> + --> + </otherProperties> + </configuration> + </component> + + <component> + <role>org.codehaus.plexus.jdo.JdoFactory</role> <role-hint>users</role-hint> <implementation>org.codehaus.plexus.jdo.DataSourceConfigurableJdoFactory</implementation> <configuration> @@ -115,12 +169,12 @@ <name>org.jpox.rdbms.dateTimezone</name> <value>JDK_DEFAULT_TIMEZONE</value> </property> -<!-- + <!-- NEEDED FOR POSTGRES, But causes problems in other JDBC implementations. <property> <name>org.jpox.identifier.case</name> <value>PreserveCase</value> </property> ---> + --> </otherProperties> </configuration> </component> @@ -130,101 +184,9 @@ --> <component> <role>org.codehaus.plexus.logging.LoggerManager</role> - <implementation>org.codehaus.plexus.logging.log4j.Log4JLoggerManager</implementation> + <implementation>org.codehaus.plexus.logging.slf4j.Slf4jLoggerManager</implementation> <lifecycle-handler>basic</lifecycle-handler> - - <configuration> - <threshold>WARN</threshold> - <default-appender>console,rolling</default-appender> - - <appenders> - <appender> - <id>console</id> - <threshold>DEBUG</threshold> - <type>org.apache.log4j.ConsoleAppender</type> - <conversion-pattern>%d [%t] %-5p %-30c{1} - %m%n</conversion-pattern> - </appender> - - <appender> - <id>rolling</id> - <threshold>DEBUG</threshold> - <type>org.apache.log4j.DailyRollingFileAppender</type> - <conversion-pattern>%-4r [%t] %-5p %c %x - %m%n</conversion-pattern> - - <properties> - <property> - <name>file</name> - <value>${appserver.base}/logs/archiva.log</value> - </property> - <property> - <name>append</name> - <value>true</value> - </property> - <property> - <name>datePattern</name> - <value>'.'yyyy-MM-dd</value> - </property> - </properties> - </appender> - </appenders> - - <levels> - <!-- Help identify bugs during testing --> - <level> - <hierarchy>org.apache.maven</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>org.codehaus.plexus.security</hierarchy> - <level>INFO</level> - </level> - <!-- squelch noisy objects (for now) --> - <level> - <hierarchy>org.codehaus.plexus.mailsender.MailSender</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>org.quartz</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>org.apache.jasper</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>com.opensymphony.xwork</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>com.opensymphony.webwork</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>org.codehaus.plexus.PlexusContainer</hierarchy> - <level>INFO</level> - </level> - <level> - <hierarchy>JPOX</hierarchy> - <level>WARN</level> - </level> - <level> - <hierarchy>JPOX.MetaData</hierarchy> - <level>ERROR</level> - </level> - <!-- - <level> - <hierarchy>JPOX.RDBMS.SQL</hierarchy> - <level>DEBUG</level> - </level> - --> - <level> - <hierarchy>freemarker</hierarchy> - <level>WARN</level> - </level> - </levels> - </configuration> </component> - </components> <load-on-start> @@ -233,7 +195,7 @@ </component> <component> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role> - <role-hint>indexer</role-hint> + <role-hint>data-refresh</role-hint> </component> </load-on-start>
Modified: maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml?view=diff&rev=511053&r1=511052&r2=511053 ============================================================================== --- maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml (original) +++ maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml Fri Feb 23 11:05:21 2007 @@ -92,6 +92,10 @@ <param name="actionName">login</param> <param name="namespace">/security</param> </result> + <result name="requires-authorization" type="redirect-action"> + <param name="actionName">login</param> + <param name="namespace">/security</param> + </result> <result name="security-register-success" type="redirect-action"> <param name="actionName">login</param> <param name="namespace">/security</param> @@ -177,6 +181,10 @@ <result>/WEB-INF/jsp/showArtifact.jsp</result> </action> + <action name="showArtifactReports" class="showArtifactAction" method="reports"> + <result>/WEB-INF/jsp/showArtifact.jsp</result> + </action> + <action name="showArtifactDependencies" class="showArtifactAction" method="dependencies"> <result>/WEB-INF/jsp/showArtifact.jsp</result> </action> Modified: maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp?view=diff&rev=511053&r1=511052&r2=511053 ============================================================================== --- maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp (original) +++ maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp Fri Feb 23 11:05:21 2007 @@ -26,9 +26,7 @@ <html> <head> - <ww:set name="reports" value="reports"/> - <ww:set name="reportGroup" value="reportGroup"/> - <title>Report: ${reports[reportGroup].name}</title> + <title>Reports</title> <ww:head/> </head> @@ -38,135 +36,22 @@ <div id="contentArea"> -<pss:ifAnyAuthorized permissions="archiva-access-reports"> - <ww:form action="reports" namespace="/admin"> - <ww:select list="reports" label="Report" name="reportGroup" onchange="document.reports.submit();"/> - <ww:select list="configuration.repositories" listKey="id" listValue="name" label="Repository" headerKey="-" - headerValue="(All repositories)" name="repositoryId" onchange="document.reports.submit();"/> - <ww:select list="reports[reportGroup].reports" label="Filter" headerKey="-" headerValue="(All Problems)" - name="filter" onchange="document.reports.submit();"/> - <ww:submit value="Get Report"/> - </ww:form> -</pss:ifAnyAuthorized> - -<ww:set name="databases" value="databases"/> -<c:forEach items="${databases}" var="database"> -<div> -<div style="float: right"> - <%-- TODO! - <a href="#">Repair all</a> - | - --%> - <c:choose> - <c:when test="${!database.inProgress}"> - <pss:ifAuthorized permission="archiva-access-reports"> - <ww:url id="regenerateReportUrl" action="runReport" namespace="/admin"> - <ww:param name="repositoryId">${database.repository.id}</ww:param> - <ww:param name="reportGroup" value="reportGroup"/> - </ww:url> - <ww:a href="%{regenerateReportUrl}">Regenerate Report</ww:a> - </pss:ifAuthorized> - </c:when> - <c:otherwise> - <!-- TODO: would be good to have a generic task/job mechanism that tracked progress and ability to run - concurrently --> - <span style="color: gray;">Report in progress</span> - </c:otherwise> - </c:choose> -</div> -<h2>Repository: ${database.repository.name}</h2> - -<p> - <c:choose> - <c:when test="${!empty(database.reporting.lastModified)}"> - Status: - <img src="<c:url value="/images/icon_error_sml.gif"/>" width="15" height="15" alt=""/> - ${database.numFailures} - <img src="<c:url value="/images/icon_warning_sml.gif"/>" width="15" height="15" alt=""/> - ${database.numWarnings} - <img src="<c:url value="/images/icon_info_sml.gif"/>" width="15" height="15" alt=""/> - ${database.numNotices} - - <span style="font-size: x-small"> - <jsp:useBean id="date" class="java.util.Date"/> - <c:set target="${date}" property="time" value="${database.reporting.lastModified}"/> - Last updated: <fmt:formatDate type="both" value="${date}"/>, - execution time: <fmt:formatNumber maxFractionDigits="0" value="${database.reporting.executionTime / 60000}"/> minutes - <fmt:formatNumber maxFractionDigits="0" value="${(database.reporting.executionTime / 1000) % 60}"/> seconds - </span> - </c:when> - <c:otherwise> - <b> - This report has not yet been generated. <a href="${url}">Generate Report</a> - </b> - </c:otherwise> - </c:choose> -</p> - - <%-- TODO need to protect iterations against concurrent modification exceptions by cloning the lists synchronously --%> - <%-- TODO! paginate (displaytag?) --%> -<c:if test="${!empty(database.reporting.artifacts)}"> - <h3>Artifacts</h3> - <c:forEach items="${database.reporting.artifacts}" var="artifact" begin="0" end="2"> - <ul> - <c:forEach items="${artifact.failures}" var="result"> - <li class="errorBullet">${result.reason}</li> - </c:forEach> - <c:forEach items="${artifact.warnings}" var="result"> - <li class="warningBullet">${result.reason}</li> - </c:forEach> - <c:forEach items="${artifact.notices}" var="result"> - <li class="infoBullet">${result.reason}</li> - </c:forEach> - </ul> - <p style="text-indent: 3em;"> - <my:showArtifactLink groupId="${artifact.groupId}" artifactId="${artifact.artifactId}" - version="${artifact.version}" classifier="${artifact.classifier}"/> - </p> - <%-- TODO! - <td> - <a href="#">Repair</a> - </td> - --%> - </c:forEach> - <c:if test="${fn:length(database.reporting.artifacts) gt 3}"> - <p> - <b>... more ...</b> - </p> - </c:if> -</c:if> -<c:if test="${!empty(database.metadataWithProblems)}"> - <h3>Metadata</h3> - <c:forEach items="${database.metadataWithProblems}" var="metadata" begin="0" end="2"> - <ul> - <c:forEach items="${metadata.failures}" var="result"> - <li class="errorBullet">${result.reason}</li> - </c:forEach> - <c:forEach items="${metadata.warnings}" var="result"> - <li class="warningBullet">${result.reason}</li> - </c:forEach> - <c:forEach items="${metadata.notices}" var="result"> - <li class="infoBullet">${result.reason}</li> - </c:forEach> - </ul> - <p style="text-indent: 3em;"> - <my:showArtifactLink groupId="${metadata.groupId}" artifactId="${metadata.artifactId}" - version="${metadata.version}"/> - </p> - <%-- TODO! - <td> - <a href="#">Repair</a> - </td> - --%> - </c:forEach> - <c:if test="${fn:length(database.metadataWithProblems) gt 3}"> - <p> - <b>... more ...</b> - </p> - </c:if> -</c:if> -</div> +<c:forEach items="${reports}" var="report"> + <h3> + ${report.groupId} : ${report.artifactId} : ${report.version} : ${report.classifier} : ${report.type} + </h3> + <ul> + <c:forEach items="${repor.results}" var="result"> + <li> + <b>${result.reason}</b> + </li> + </c:forEach> + </ul> </c:forEach> +<c:if test="${empty(reports)}"> + <strong>No reports for any artifact.</strong> +</c:if> + </div> </body> Modified: maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/showArtifact.jsp URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/showArtifact.jsp?view=diff&rev=511053&r1=511052&r2=511053 ============================================================================== --- maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/showArtifact.jsp (original) +++ maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/showArtifact.jsp Fri Feb 23 11:05:21 2007 @@ -21,6 +21,7 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> <%@ taglib prefix="archiva" uri="http://maven.apache.org/archiva" %> +<%@ taglib prefix="pss" uri="/plexusSecuritySystem" %> <html> <head> @@ -115,6 +116,17 @@ </ww:url> </c:set> <my:currentWWUrl url="${url}">Mailing Lists</my:currentWWUrl> + <pss:ifAnyAuthorized permissions="archiva-access-reports"> + <c:set var="url"> + <ww:url action="showArtifactReports"> + <ww:param name="groupId" value="%{groupId}"/> + <ww:param name="artifactId" value="%{artifactId}"/> + <ww:param name="version" value="%{version}"/> + </ww:url> + </c:set> + <my:currentWWUrl url="${url}">Reports</my:currentWWUrl> + </pss:ifAnyAuthorized> + </span> </div> @@ -134,6 +146,9 @@ </c:when> <c:when test="${mailingLists != null}"> <%@ include file="/WEB-INF/jsp/include/mailingLists.jspf" %> + </c:when> + <c:when test="${reports != null}"> + <%@ include file="/WEB-INF/jsp/include/artifactReports.jspf" %> </c:when> <c:otherwise> <%@ include file="/WEB-INF/jsp/include/artifactInfo.jspf" %> Modified: maven/archiva/trunk/pom.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/pom.xml?view=diff&rev=511053&r1=511052&r2=511053 ============================================================================== --- maven/archiva/trunk/pom.xml (original) +++ maven/archiva/trunk/pom.xml Fri Feb 23 11:05:21 2007 @@ -24,6 +24,9 @@ <version>4</version> <relativePath>../pom/maven/pom.xml</relativePath> </parent> + <prerequisites> + <maven>2.0.5</maven> + </prerequisites> <groupId>org.apache.maven.archiva</groupId> <artifactId>archiva</artifactId> <packaging>pom</packaging> @@ -81,9 +84,9 @@ <version>1.3.3</version> <executions> <execution> + <id>generate</id> <goals> <goal>descriptor</goal> - <goal>merge-descriptors</goal> </goals> </execution> </executions> @@ -120,6 +123,7 @@ <modules> <module>archiva-applet</module> <module>archiva-converter</module> + <module>archiva-common</module> <module>archiva-discoverer</module> <module>archiva-reports-standard</module> <module>archiva-indexer</module> @@ -154,30 +158,6 @@ <artifactId>maven-app-configuration-web</artifactId> <version>1.0-SNAPSHOT</version> </dependency> - <!-- - Rejected Plexus Container / Component Versions: - 1.0-alpha-11 - 2007-01-17 11:40:40.371::WARN: Failed startup of context [EMAIL PROTECTED] - {/,/home/joakim/code/maven/trunks/archiva/archiva-webapp/src/main/webapp} - java.lang.NullPointerException - at org.codehaus.plexus.classworlds.strategy.DefaultStrategy.getResource(DefaultStrategy.java:99) - at org.codehaus.plexus.classworlds.strategy.ForeignStrategy.getResource(ForeignStrategy.java:54) - at org.codehaus.plexus.classworlds.strategy.DefaultStrategy.getResourceAsStream(DefaultStrategy.java:107) - at org.codehaus.plexus.classworlds.realm.ClassRealm.getResourceAsStream(ClassRealm.java:207) - at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:244) - - 1.0-alpha-12 - 1.0-alpha-13 - 1.0-alpha-14 - Caused by: org.codehaus.plexus.PlexusContainerException: The specified user configuration - 'file:/home/joakim/code/maven/trunks/archiva/archiva-webapp/src/main/webapp/WEB-INF/classes/META-INF/plexus/application.xml' is null. - - 1.0-alpha-15 - The resolution of ${configuration.store.file} is never attempted. - - 1.0-alpha-16-SNAPSHOT - Incompatible with plexus-xwork-integration - --> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-container-default</artifactId> @@ -245,6 +225,20 @@ </dependency> <dependency> <groupId>org.apache.maven.archiva</groupId> + <artifactId>archiva-common</artifactId> + <version>${pom.version}</version> + </dependency> + <!-- + <dependency> + <groupId>org.apache.maven.archiva</groupId> + <artifactId>archiva-common</artifactId> + <version>${pom.version}</version> + <classifier>tests</classifier> + <scope>test</scope> + </dependency> + --> + <dependency> + <groupId>org.apache.maven.archiva</groupId> <artifactId>archiva-core</artifactId> <version>${pom.version}</version> </dependency> @@ -519,17 +513,20 @@ </build> </profile> </profiles> - <!-- TODO: remove once modello is released --> - <pluginRepositories> - <pluginRepository> - <id>codehaus.org</id> - <url>http://snapshots.repository.codehaus.org</url> - </pluginRepository> - </pluginRepositories> - <!-- TODO: remove once ehcache, p-sec, registry, webdav, xwork, naming released --> <repositories> <repository> <id>codehaus.org</id> + <url>http://repository.codehaus.org</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <!-- TODO: remove once ehcache, p-sec, registry, webdav, xwork, naming released --> + <repository> + <id>snapshots.codehaus.org</id> <url>http://snapshots.repository.codehaus.org</url> <releases> <enabled>false</enabled> @@ -539,6 +536,19 @@ </snapshots> </repository> </repositories> + <!-- TODO: remove once modello is released --> + <pluginRepositories> + <pluginRepository> + <id>snapshots.codehaus.org</id> + <url>http://snapshots.repository.codehaus.org</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </pluginRepository> + </pluginRepositories> <properties> <maven.version>2.0.5</maven.version> <wagon.version>1.0-beta-2</wagon.version>
