// Path: core/src/main/java/com/ccoe/build/core/model/Phase.java
// public class Phase extends TrackingModel {
// 	private String name;
// 	
// 	private List<Plugin> plugins =  new ArrayList<Plugin>();
// 	
// 	private String status;
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public List<Plugin> getPlugins() {
// 		return plugins;
// 	}
// 
// 	public void setPlugins(List<Plugin> plugins) {
// 		this.plugins = plugins;
// 	}
// 
// 	public String getStatus() {
// 		return status;
// 	}
// 
// 	public void setStatus(String status) {
// 		this.status = status;
// 	}
// 	
// 	public String toString() {
// 		StringBuffer sBuffer = new StringBuffer();
// 		appendTransacionStart(sBuffer, 3, "Phase", getName());
// 		for (Plugin plugin : this.getPlugins()) {
// 			appendLine(sBuffer, plugin.toString());
// 		}
// 		appendTransacionEnd(sBuffer, 3, "Phase", getName(), getStatus(), getDuration().toString());
// 		return sBuffer.toString();
// 	}
// }
// 
// Path: core/src/main/java/com/ccoe/build/core/model/Project.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Project extends TrackingModel {
// 	private String name;
// 	private String groupId;
// 	private String artifactId;
// 	private String type;
// 	private String version;
// 	
// 	private String status;
// 	
// 	private String payload;
// 	
// 	private List<Phase> phases = new ArrayList<Phase>();
// 	
// 	public String getName() {
// 		return name;
// 	}
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 	public String getVersion() {
// 		return version;
// 	}
// 	public void setVersion(String version) {
// 		this.version = version;
// 	}
// 	
// 	public String getStatus() {
// 		return status;
// 	}
// 	public void setStatus(String status) {
// 		this.status = status;
// 	}
// 	public List<Phase> getPhases() {
// 		return phases;
// 	}
// 	
// 	public Phase getLastPhase() {
// 		return phases.get(phases.size() - 1);
// 	}
// 	public String getGroupId() {
// 		return groupId;
// 	}
// 	public void setGroupId(String groupId) {
// 		this.groupId = groupId;
// 	}
// 	public String getArtifactId() {
// 		return artifactId;
// 	}
// 	public void setArtifactId(String artifactId) {
// 		this.artifactId = artifactId;
// 	}
// 	public String getType() {
// 		return type;
// 	}
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 	public String getPayload() {
// 		return payload;
// 	}
// 	public void setPayload(String payload) {
// 		this.payload = payload;
// 	}
// 	
// 	public String toString() {
// 		StringBuffer sBuffer = new StringBuffer();
// 
// 		appendTransacionStart(sBuffer, 2, "Project", getName());
// 		
// 		for (Phase phase : getPhases()) {
// 			appendLine(sBuffer, phase.toString());
// 		}
// 		
// 		appendTransacionEnd(sBuffer, 2, "Project", getName(), getStatus(), getDuration().toString(), getPayload());
// 		
// 		return sBuffer.toString();
// 	}
// }
// 
// Path: profiler/src/main/java/com/ccoe/build/profiler/util/Timer.java
// public class Timer {
// 
// 	public static final int MS_PER_SEC = 1000;
// 	public static final int SEC_PER_MIN = 60;
// 
// 	private long start;
// 	private long elaspsedTime;
// 
// 	public Timer() {
// 		start = System.currentTimeMillis();
// 	}
// 
// 	public void stop() {
// 		elaspsedTime = elapsedTime();
// 	}
// 
// 	public long getTime() {
// 		return elaspsedTime;
// 	}
// 	
// 	public long getStartTime() {
// 		return this.start;
// 	}
// 
// 	private long elapsedTime() {
// 		return System.currentTimeMillis() - start;
// 	}
// 
// 	public static String formatTime(long ms) {
// 		long secs = ms / MS_PER_SEC;
// 		long mins = secs / SEC_PER_MIN;
// 		secs = secs % SEC_PER_MIN;
// 		long fractionOfASecond = ms - (secs * 1000);
// 
// 		String msg = mins + "m " + secs + "." + fractionOfASecond;
// 
// 		if (msg.length() == 3) {
// 			msg += "00s";
// 		} else if (msg.length() == 4) {
// 			msg += "0s";
// 		} else {
// 			msg += "s";
// 		}
// 		
// 		msg = ms + " ms ( " + msg + " )"; 
// 
// 		return msg;
// 	}
// }


import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.maven.eventspy.EventSpy.Context;
import org.apache.maven.execution.ExecutionEvent;
import com.ccoe.build.core.model.Phase;
import com.ccoe.build.core.model.Project;
import com.ccoe.build.profiler.util.Timer;
/*
Copyright [2013-2014] eBay Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

*/

package com.ccoe.build.profiler.profile;




public class PhaseProfile extends Profile {

	private String phaseName;
	private List<MojoProfile> mojoProfiles;
	
// Path: core/src/main/java/com/ccoe/build/core/model/Phase.java
// public class Phase extends TrackingModel {
// 	private String name;
// 	
// 	private List<Plugin> plugins =  new ArrayList<Plugin>();
// 	
// 	private String status;
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public List<Plugin> getPlugins() {
// 		return plugins;
// 	}
// 
// 	public void setPlugins(List<Plugin> plugins) {
// 		this.plugins = plugins;
// 	}
// 
// 	public String getStatus() {
// 		return status;
// 	}
// 
// 	public void setStatus(String status) {
// 		this.status = status;
// 	}
// 	
// 	public String toString() {
// 		StringBuffer sBuffer = new StringBuffer();
// 		appendTransacionStart(sBuffer, 3, "Phase", getName());
// 		for (Plugin plugin : this.getPlugins()) {
// 			appendLine(sBuffer, plugin.toString());
// 		}
// 		appendTransacionEnd(sBuffer, 3, "Phase", getName(), getStatus(), getDuration().toString());
// 		return sBuffer.toString();
// 	}
// }
// 
// Path: core/src/main/java/com/ccoe/build/core/model/Project.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Project extends TrackingModel {
// 	private String name;
// 	private String groupId;
// 	private String artifactId;
// 	private String type;
// 	private String version;
// 	
// 	private String status;
// 	
// 	private String payload;
// 	
// 	private List<Phase> phases = new ArrayList<Phase>();
// 	
// 	public String getName() {
// 		return name;
// 	}
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 	public String getVersion() {
// 		return version;
// 	}
// 	public void setVersion(String version) {
// 		this.version = version;
// 	}
// 	
// 	public String getStatus() {
// 		return status;
// 	}
// 	public void setStatus(String status) {
// 		this.status = status;
// 	}
// 	public List<Phase> getPhases() {
// 		return phases;
// 	}
// 	
// 	public Phase getLastPhase() {
// 		return phases.get(phases.size() - 1);
// 	}
// 	public String getGroupId() {
// 		return groupId;
// 	}
// 	public void setGroupId(String groupId) {
// 		this.groupId = groupId;
// 	}
// 	public String getArtifactId() {
// 		return artifactId;
// 	}
// 	public void setArtifactId(String artifactId) {
// 		this.artifactId = artifactId;
// 	}
// 	public String getType() {
// 		return type;
// 	}
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 	public String getPayload() {
// 		return payload;
// 	}
// 	public void setPayload(String payload) {
// 		this.payload = payload;
// 	}
// 	
// 	public String toString() {
// 		StringBuffer sBuffer = new StringBuffer();
// 
// 		appendTransacionStart(sBuffer, 2, "Project", getName());
// 		
// 		for (Phase phase : getPhases()) {
// 			appendLine(sBuffer, phase.toString());
// 		}
// 		
// 		appendTransacionEnd(sBuffer, 2, "Project", getName(), getStatus(), getDuration().toString(), getPayload());
// 		
// 		return sBuffer.toString();
// 	}
// }
// 
// Path: profiler/src/main/java/com/ccoe/build/profiler/util/Timer.java
// public class Timer {
// 
// 	public static final int MS_PER_SEC = 1000;
// 	public static final int SEC_PER_MIN = 60;
// 
// 	private long start;
// 	private long elaspsedTime;
// 
// 	public Timer() {
// 		start = System.currentTimeMillis();
// 	}
// 
// 	public void stop() {
// 		elaspsedTime = elapsedTime();
// 	}
// 
// 	public long getTime() {
// 		return elaspsedTime;
// 	}
// 	
// 	public long getStartTime() {
// 		return this.start;
// 	}
// 
// 	private long elapsedTime() {
// 		return System.currentTimeMillis() - start;
// 	}
// 
// 	public static String formatTime(long ms) {
// 		long secs = ms / MS_PER_SEC;
// 		long mins = secs / SEC_PER_MIN;
// 		secs = secs % SEC_PER_MIN;
// 		long fractionOfASecond = ms - (secs * 1000);
// 
// 		String msg = mins + "m " + secs + "." + fractionOfASecond;
// 
// 		if (msg.length() == 3) {
// 			msg += "00s";
// 		} else if (msg.length() == 4) {
// 			msg += "0s";
// 		} else {
// 			msg += "s";
// 		}
// 		
// 		msg = ms + " ms ( " + msg + " )"; 
// 
// 		return msg;
// 	}
// }


// Path: profiler/src/main/java/com/ccoe/build/profiler/profile/PhaseProfile.java
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.maven.eventspy.EventSpy.Context;
import org.apache.maven.execution.ExecutionEvent;
import com.ccoe.build.core.model.Phase;
import com.ccoe.build.core.model.Project;
import com.ccoe.build.profiler.util.Timer;

/*
Copyright [2013-2014] eBay Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

*/

package com.ccoe.build.profiler.profile;




public class PhaseProfile extends Profile {

	private String phaseName;
	private List<MojoProfile> mojoProfiles;
	
	private Phase phase = new Phase();