Skip to content

Commit c62f1e8

Browse files
author
Vlad Tatavu
committed
MNGECLIPSE-1469: Simplified the add/remove message API
git-svn-id: file:///opt/svn/repositories/sonatype.org/spice/trunk/plexus-build-api@2999 5751e0cb-dcb7-432f-92e2-260806df54be
1 parent 5bb0adb commit c62f1e8

File tree

4 files changed

+57
-20
lines changed

4 files changed

+57
-20
lines changed

src/main/java/org/sonatype/plexus/build/incremental/BuildContext.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222

2323
// TODO should it be BuildWorkspace or something like that?
2424
public interface BuildContext {
25+
public static final int SEVERITY_WARNING = 1;
26+
27+
public static final int SEVERITY_ERROR = 2;
2528

2629
// TODO should we add File getBasedir()?
2730

@@ -144,24 +147,37 @@ public interface BuildContext {
144147
Object getValue(String key);
145148

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

151155
/**
152-
* @since 0.0.7
156+
* @deprecated Use addMessage with severity=SEVERITY_WARNING instead
157+
* @since 0.0.5
153158
*/
154-
void removeWarnings(File file);
159+
void addError(File file, int line, int column, String message, Throwable cause);
155160

156161
/**
157-
* @since 0.0.5
162+
* Adds a message to the build context. The message is associated with a file and a location inside that file.
163+
*
164+
* @param file The file or folder with which the message is associated. Should not be null and it is recommended to be
165+
* an absolute path.
166+
* @param line The line number inside the file. Use 1 (not 0) for the first line. Use 0 for unknown/unspecified.
167+
* @param column The column number inside the file. Use 1 (not 0) for the first column. Use 0 for unknown/unspecified.
168+
* @param severity The severity of the message: SEVERITY_WARNING or SEVERITY_ERROR.
169+
* @param cause A Throwable object associated with the message. Can be null.
170+
* @since 0.0.7
158171
*/
159-
void addError(File file, int line, int column, String message, Throwable cause);
172+
void addMessage(File file, int line, int column, String message, int severity, Throwable cause);
160173

161174
/**
175+
* Removes all messages associated with a file or folder during a previous build. It does not affect the messages
176+
* added during the current build.
177+
*
162178
* @since 0.0.7
163179
*/
164-
void removeErrors(File file);
180+
void removeMessages(File file);
165181

166182
/**
167183
* Returns true, if the target file exists and is uptodate compared to the source file.

src/main/java/org/sonatype/plexus/build/incremental/DefaultBuildContext.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,22 +90,37 @@ private String getMessage(File file, int line, int column, String message) {
9090
return sb.toString();
9191
}
9292

93+
/**
94+
* @deprecated Use addMessage with severity=SEVERITY_ERROR instead
95+
*/
9396
public void addError(File file, int line, int column, String message, Throwable cause) {
94-
getLogger().error(getMessage(file, line, column, message), cause);
97+
addMessage(file, line, column, message, SEVERITY_ERROR, cause);
9598
}
9699

100+
/**
101+
* @deprecated Use addMessage with severity=SEVERITY_WARNING instead
102+
*/
97103
public void addWarning(File file, int line, int column, String message, Throwable cause) {
98-
getLogger().warn(getMessage(file, line, column, message), cause);
104+
addMessage(file, line, column, message, SEVERITY_WARNING, cause);
99105
}
100106

101-
public boolean isUptodate(File target, File source) {
102-
return target != null && target.exists() && source != null && source.exists()
103-
&& target.lastModified() > source.lastModified();
107+
public void addMessage(File file, int line, int column, String message, int severity, Throwable cause) {
108+
switch(severity) {
109+
case BuildContext.SEVERITY_ERROR:
110+
getLogger().error(getMessage(file, line, column, message), cause);
111+
return;
112+
case BuildContext.SEVERITY_WARNING:
113+
getLogger().warn(getMessage(file, line, column, message), cause);
114+
return;
115+
}
116+
throw new IllegalArgumentException("severity=" + severity);
104117
}
105118

106-
public void removeWarnings(File file) {
119+
public void removeMessages(File file) {
107120
}
108121

109-
public void removeErrors(File file) {
122+
public boolean isUptodate(File target, File source) {
123+
return target != null && target.exists() && source != null && source.exists()
124+
&& target.lastModified() > source.lastModified();
110125
}
111126
}

src/main/java/org/sonatype/plexus/build/incremental/ThreadBuildContext.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,26 @@ public void setValue(String key, Object value) {
9191
getContext().setValue(key, value);
9292
}
9393

94-
public void removeWarnings(File file) {
95-
getContext().removeWarnings(file);
94+
public void addMessage(File file, int line, int column, String message, int severity, Throwable cause) {
95+
getContext().addMessage(file, line, column, message, severity, cause);
9696
}
9797

98-
public void removeErrors(File file) {
99-
getContext().removeErrors(file);
98+
public void removeMessages(File file) {
99+
getContext().removeMessages(file);
100100
}
101101

102+
/**
103+
* @deprecated Use addMessage with severity=SEVERITY_WARNING instead
104+
*/
102105
public void addWarning(File file, int line, int column, String message, Throwable cause) {
103-
getContext().addWarning(file, line, column, message, cause);
106+
addMessage(file, line, column, message, BuildContext.SEVERITY_WARNING, cause);
104107
}
105108

109+
/**
110+
* @deprecated Use addMessage with severity=SEVERITY_ERROR instead
111+
*/
106112
public void addError(File file, int line, int column, String message, Throwable cause) {
107-
getContext().addError(file, line, column, message, cause);
113+
addMessage(file, line, column, message, BuildContext.SEVERITY_ERROR, cause);
108114
}
109115

110116
public boolean isUptodate(File target, File source) {

src/test/java/org/sonatype/plexus/build/incremental/test/TestIncrementalBuildContext.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,10 @@ public void addError(File file, int line, int column, String message, Throwable
184184
public void addWarning(File file, int line, int column, String message, Throwable cause) {
185185
}
186186

187-
public void removeWarnings(File file) {
187+
public void addMessage(File file, int line, int column, String message, int severity, Throwable cause) {
188188
}
189189

190-
public void removeErrors(File file) {
190+
public void removeMessages(File file) {
191191
}
192192

193193
public boolean isUptodate(File target, File source) {

0 commit comments

Comments
 (0)