Skip to content

Commit

Permalink
fixes #330 so we can link to the details of a maven set of coordinates
Browse files Browse the repository at this point in the history
  • Loading branch information
jstrachan committed May 8, 2013
1 parent 7269250 commit 26d3631
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 0 deletions.
25 changes: 25 additions & 0 deletions hawtio-web/src/main/webapp/app/maven/html/artifact.html
@@ -0,0 +1,25 @@
<div ng-controller="Maven.ArtifactController">
<div class="row-fluid">
<div class="pull-right">
<a class="btn" href="{{versionsLink(row)}}">Versions</a>
<a class="btn" target="javadoc" href="{{javadocLink(row)}}">JavaDoc</a>
<a class="btn" target="source" href="{{sourceLink(row)}}">Source</a>
</div>
<div title="Name" class="title">
<p>
{{row.name}}
</p>

<p>
{{row.description}}
</p>
</div>
</div>
<div class="row-fluid">
<div title="Description" class="title">
<i class="expandable-indicator"></i> pom.xml
</div>
<ng-include src="'app/maven/html/pom.html'"></ng-include>
</div>
</div>
</div>
49 changes: 49 additions & 0 deletions hawtio-web/src/main/webapp/app/maven/js/artifact.ts
@@ -0,0 +1,49 @@
module Maven {

export function ArtifactController($scope, $routeParams, workspace:Workspace, jolokia) {
$scope.row = {
groupId: $routeParams["group"] || "",
artifactId: $routeParams["artifact"] || "",
version: $routeParams["version"] || "",
classifier: $routeParams["classifier"] || "",
packaging: $routeParams["packaging"] || ""
};
var row = $scope.row;

$scope.id = getName(row);

addMavenFunctions($scope);

$scope.$on("$routeChangeSuccess", function (event, current, previous) {
// lets do this asynchronously to avoid Error: $digest already in progress
setTimeout(updateTableContents, 50);
});

$scope.$watch('workspace.selection', function () {
if (workspace.moveIfViewInvalid()) return;
updateTableContents();
});

function updateTableContents() {
var mbean = Maven.getMavenIndexerMBean(workspace);

// lets query the name and description of the GAV
if (mbean) {
jolokia.execute(mbean, "search",
row.groupId, row.artifactId, row.version, row.packaging, row.classifier, "",
onSuccess(render));
} else {
console.log("No MavenIndexerMBean!");
}
}

function render(response) {
if (response && response.length) {
var first = response[0];
row.name = first.name;
row.description = first.description;
}
Core.$apply($scope);
}
}
}
11 changes: 11 additions & 0 deletions hawtio-web/src/main/webapp/app/maven/js/helpers.ts
Expand Up @@ -10,6 +10,17 @@ module Maven {
} else return null;
}

export function getName(row) {
var id = row.group + "/" + row.artifact;
if (row.classifier) {
id += "/" + row.classifier;
}
if (row.packaging) {
id += "/" + row.packaging;
}
return id;
}

export function addMavenFunctions($scope) {
$scope.javadocLink = (row) => {
var group = row.groupId;
Expand Down
2 changes: 2 additions & 0 deletions hawtio-web/src/main/webapp/app/maven/js/mavenPlugin.ts
Expand Up @@ -5,6 +5,8 @@ module Maven {
$routeProvider.
when('/maven/search', {templateUrl: 'app/maven/html/search.html'}).
when('/maven/advancedSearch', {templateUrl: 'app/maven/html/advancedSearch.html'}).
when('/maven/artifact/:group/:artifact/:version/:classifier/:packaging', {templateUrl: 'app/maven/html/artifact.html'}).
when('/maven/artifact/:group/:artifact/:version', {templateUrl: 'app/maven/html/artifact.html'}).
when('/maven/versions/:group/:artifact/:classifier/:packaging', {templateUrl: 'app/maven/html/versions.html'}).
when('/maven/view/:group/:artifact/:version/:classifier/:packaging', {templateUrl: 'app/maven/html/view.html'});
}).
Expand Down

0 comments on commit 26d3631

Please sign in to comment.