Skip to content

Commit

Permalink
ref #4
Browse files Browse the repository at this point in the history
create bean.
  • Loading branch information
yasu-s committed Feb 14, 2013
1 parent 639d35f commit e082fb9
Show file tree
Hide file tree
Showing 28 changed files with 312 additions and 1,464 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
/.project
/.classpath
/target
/work
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package org.jenkinsci.plugins.vs_code_metrics;

import hudson.model.AbstractBuild;
import hudson.model.ModelObject;

import java.io.Serializable;

import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;

public abstract class AbstractReport implements Serializable, ModelObject {

private static final long serialVersionUID = 1L;

private AbstractBuild<?,?> build;
private String name;
private boolean depthOfInheritance = true;

public void setBuild(AbstractBuild<?, ?> build) {
this.build = build;
}

public AbstractBuild<?, ?> getBuild() {
return build;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDisplayName() {
return name;
}

public boolean isDepthOfInheritance() {
return depthOfInheritance;
}

public void setDepthOfInheritance(boolean depthOfInheritance) {
this.depthOfInheritance = depthOfInheritance;
}

public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) {
return getReport(token);
}

public abstract Object getReport(String token);

public abstract Object getChildren();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package org.jenkinsci.plugins.vs_code_metrics;

import hudson.model.AbstractBuild;

import org.jenkinsci.plugins.vs_code_metrics.bean.CodeMetrics;


public final class CodeMetricsReport extends AbstractReport {

private final CodeMetrics result;

/**
*
* @param build
* @param result
*/
public CodeMetricsReport(AbstractBuild<?,?> build, CodeMetrics result) {
this.result = result;
setBuild(build);
setName("VsCodeMetrics");
}

@Override
public Object getReport(String token) {
if (result.getChildren().containsKey(token))
return null;
else
return null;
}

@Override
public Object getChildren() {
return result.getChildren();
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
package org.jenkinsci.plugins.vs_code_metrics;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.jenkinsci.plugins.vs_code_metrics.bean.CodeMetricsReport;
import org.jenkinsci.plugins.vs_code_metrics.bean.*;
import org.jenkinsci.plugins.vs_code_metrics.util.CodeMetricsUtil;
import org.jenkinsci.plugins.vs_code_metrics.util.Constants;
import org.kohsuke.stapler.StaplerProxy;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.ExportedBean;

import hudson.model.AbstractBuild;
import hudson.model.Action;
Expand All @@ -15,14 +19,17 @@
/**
* @author Yasuyuki Saito
*/
@ExportedBean
public class VsCodeMetricsBuildAction implements Action, StaplerProxy {

private final AbstractBuild<?,?> build;
private final CodeMetricsReport result;
private final CodeMetrics result;
private final CodeMetricsReport report;

public VsCodeMetricsBuildAction(AbstractBuild<?, ?> build, CodeMetricsReport result) {
public VsCodeMetricsBuildAction(AbstractBuild<?, ?> build, CodeMetrics result) {
this.build = build;
this.result = result;
this.report = new CodeMetricsReport(build, result);
}

public String getIconFileName() {
Expand All @@ -38,14 +45,14 @@ public String getUrlName() {
}

public Object getTarget() {
return result;
return report;
}

public AbstractBuild<?,?> getBuild() {
return build;
}

public CodeMetricsReport getResult() {
public CodeMetrics getResult() {
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ public VsCodeMetricsBuildAction getLastResult() {
return null;
}

public void doIndex(final StaplerRequest request, final StaplerResponse response) {
// TODO:最後のビルドを表示
}

public void doGraph(StaplerRequest req, StaplerResponse rsp) throws IOException {
if (getLastResult() != null)
getLastResult().doGraph(req, rsp);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import java.util.ArrayList;
import java.util.Arrays;

import org.jenkinsci.plugins.vs_code_metrics.bean.CodeMetricsReport;
import org.jenkinsci.plugins.vs_code_metrics.bean.CodeMetrics;
import org.jenkinsci.plugins.vs_code_metrics.util.CodeMetricsUtil;
import org.jenkinsci.plugins.vs_code_metrics.util.StringUtil;
import org.kohsuke.stapler.DataBoundConstructor;
Expand All @@ -16,6 +16,7 @@
import hudson.Launcher;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.Action;
import hudson.model.BuildListener;
import hudson.model.Result;
import hudson.tasks.BuildStepDescriptor;
Expand Down Expand Up @@ -65,7 +66,7 @@ public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListen
FilePath metricsFolder = new FilePath(CodeMetricsUtil.getReportDir(build));
saveReports(metricsFolder, reports);

CodeMetricsReport result = CodeMetricsUtil.getCodeMetricsReport(build);
CodeMetrics result = CodeMetricsUtil.getCodeMetrics(build);
VsCodeMetricsBuildAction action = new VsCodeMetricsBuildAction(build, result);
build.getActions().add(action);

Expand Down Expand Up @@ -107,6 +108,10 @@ private void saveReports(FilePath folder, FilePath[] files) throws IOException,
}
}

public Action getProjectAction(AbstractProject<?, ?> project) {
return new VsCodeMetricsProjectAction(project);
}

public BuildStepMonitor getRequiredMonitorService() {
return BuildStepMonitor.NONE;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.jenkinsci.plugins.vs_code_metrics.bean;

import java.util.HashMap;
import java.util.Map;

public abstract class AbstractBean<CHILD extends Metrics> extends Metrics {

private Map<String, CHILD> children = new HashMap<String, CHILD>();

public void addChild(CHILD child) {
children.put(child.getName(), child);
}

public Map<String, CHILD> getChildren() {
return children;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package org.jenkinsci.plugins.vs_code_metrics.bean;

public final class CodeMetrics extends AbstractBean<Module> {

}

This file was deleted.

Loading

0 comments on commit e082fb9

Please sign in to comment.