Skip to content
This repository has been archived by the owner on Aug 11, 2020. It is now read-only.

Commit

Permalink
MNGECLIPSE-1469: Simplified the add/remove message API
Browse files Browse the repository at this point in the history
git-svn-id: file:///opt/svn/repositories/sonatype.org/spice/trunk/plexus-build-api@2999 5751e0cb-dcb7-432f-92e2-260806df54be
  • Loading branch information
Vlad Tatavu committed Jan 20, 2011
1 parent 5bb0adb commit c62f1e8
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 20 deletions.
Expand Up @@ -22,6 +22,9 @@

// TODO should it be BuildWorkspace or something like that?
public interface BuildContext {
public static final int SEVERITY_WARNING = 1;

public static final int SEVERITY_ERROR = 2;

// TODO should we add File getBasedir()?

Expand Down Expand Up @@ -144,24 +147,37 @@ public interface BuildContext {
Object getValue(String key);

/**
* @deprecated Use addMessage with severity=SEVERITY_ERROR instead
* @since 0.0.5
*/
void addWarning(File file, int line, int column, String message, Throwable cause);

/**
* @since 0.0.7
* @deprecated Use addMessage with severity=SEVERITY_WARNING instead
* @since 0.0.5
*/
void removeWarnings(File file);
void addError(File file, int line, int column, String message, Throwable cause);

/**
* @since 0.0.5
* Adds a message to the build context. The message is associated with a file and a location inside that file.
*
* @param file The file or folder with which the message is associated. Should not be null and it is recommended to be
* an absolute path.
* @param line The line number inside the file. Use 1 (not 0) for the first line. Use 0 for unknown/unspecified.
* @param column The column number inside the file. Use 1 (not 0) for the first column. Use 0 for unknown/unspecified.
* @param severity The severity of the message: SEVERITY_WARNING or SEVERITY_ERROR.
* @param cause A Throwable object associated with the message. Can be null.
* @since 0.0.7
*/
void addError(File file, int line, int column, String message, Throwable cause);
void addMessage(File file, int line, int column, String message, int severity, Throwable cause);

/**
* Removes all messages associated with a file or folder during a previous build. It does not affect the messages
* added during the current build.
*
* @since 0.0.7
*/
void removeErrors(File file);
void removeMessages(File file);

/**
* Returns true, if the target file exists and is uptodate compared to the source file.
Expand Down
Expand Up @@ -90,22 +90,37 @@ private String getMessage(File file, int line, int column, String message) {
return sb.toString();
}

/**
* @deprecated Use addMessage with severity=SEVERITY_ERROR instead
*/
public void addError(File file, int line, int column, String message, Throwable cause) {
getLogger().error(getMessage(file, line, column, message), cause);
addMessage(file, line, column, message, SEVERITY_ERROR, cause);
}

/**
* @deprecated Use addMessage with severity=SEVERITY_WARNING instead
*/
public void addWarning(File file, int line, int column, String message, Throwable cause) {
getLogger().warn(getMessage(file, line, column, message), cause);
addMessage(file, line, column, message, SEVERITY_WARNING, cause);
}

public boolean isUptodate(File target, File source) {
return target != null && target.exists() && source != null && source.exists()
&& target.lastModified() > source.lastModified();
public void addMessage(File file, int line, int column, String message, int severity, Throwable cause) {
switch(severity) {
case BuildContext.SEVERITY_ERROR:
getLogger().error(getMessage(file, line, column, message), cause);
return;
case BuildContext.SEVERITY_WARNING:
getLogger().warn(getMessage(file, line, column, message), cause);
return;
}
throw new IllegalArgumentException("severity=" + severity);
}

public void removeWarnings(File file) {
public void removeMessages(File file) {
}

public void removeErrors(File file) {
public boolean isUptodate(File target, File source) {
return target != null && target.exists() && source != null && source.exists()
&& target.lastModified() > source.lastModified();
}
}
Expand Up @@ -91,20 +91,26 @@ public void setValue(String key, Object value) {
getContext().setValue(key, value);
}

public void removeWarnings(File file) {
getContext().removeWarnings(file);
public void addMessage(File file, int line, int column, String message, int severity, Throwable cause) {
getContext().addMessage(file, line, column, message, severity, cause);
}

public void removeErrors(File file) {
getContext().removeErrors(file);
public void removeMessages(File file) {
getContext().removeMessages(file);
}

/**
* @deprecated Use addMessage with severity=SEVERITY_WARNING instead
*/
public void addWarning(File file, int line, int column, String message, Throwable cause) {
getContext().addWarning(file, line, column, message, cause);
addMessage(file, line, column, message, BuildContext.SEVERITY_WARNING, cause);
}

/**
* @deprecated Use addMessage with severity=SEVERITY_ERROR instead
*/
public void addError(File file, int line, int column, String message, Throwable cause) {
getContext().addError(file, line, column, message, cause);
addMessage(file, line, column, message, BuildContext.SEVERITY_ERROR, cause);
}

public boolean isUptodate(File target, File source) {
Expand Down
Expand Up @@ -184,10 +184,10 @@ public void addError(File file, int line, int column, String message, Throwable
public void addWarning(File file, int line, int column, String message, Throwable cause) {
}

public void removeWarnings(File file) {
public void addMessage(File file, int line, int column, String message, int severity, Throwable cause) {
}

public void removeErrors(File file) {
public void removeMessages(File file) {
}

public boolean isUptodate(File target, File source) {
Expand Down

0 comments on commit c62f1e8

Please sign in to comment.