001: /*
002: * Copyright 2005 Paul Hinds
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.tp23.antinstaller.antmod;
017:
018: import org.apache.tools.ant.BuildEvent;
019: import org.apache.tools.ant.BuildListener;
020: import org.tp23.antinstaller.renderer.AIResourceBundle;
021: import org.tp23.antinstaller.renderer.swing.SwingInstallerContext;
022:
023: /**
024: *
025: * <p>Reports a message in the swing UI this mesage is reported in the
026: * top of the window. </p>
027: * <p>The Listeners should apparently never uses System.out or System.err</p>
028: * This class is not really an Ant modification since it simply implements
029: * a public interface but is here on the offchance that one day Ant changes
030: * it's APIs
031: * @author Paul Hinds
032: * @version $Id: FeedbackListener.java,v 1.1.1.1 2005/10/18 18:20:52 teknopaul Exp $
033: */
034: public class FeedbackListener implements BuildListener {
035:
036: private final SwingInstallerContext swingCtx;
037: private static final AIResourceBundle res = new AIResourceBundle();
038:
039: public FeedbackListener(SwingInstallerContext swingCtx) {
040: this .swingCtx = swingCtx;
041: }
042:
043: /**
044: * buildStarted This event results in User notification
045: *
046: * @param buildEvent BuildEvent
047: */
048: public void buildStarted(BuildEvent buildEvent) {
049: //swingCtx.provideAntFeedBack(buildEvent.getMessage());
050: swingCtx.buildStarted(buildEvent);
051: }
052:
053: /**
054: * buildFinished This event results in User notification
055: *
056: * @param buildEvent BuildEvent
057: */
058: public void buildFinished(BuildEvent buildEvent) {
059: swingCtx.provideAntFeedBack(res.getString("install.finished"));
060: swingCtx.buildFinished(buildEvent);
061: }
062:
063: /**
064: * targetStarted This event results in User notification
065: *
066: * @param buildEvent BuildEvent
067: */
068: public void targetStarted(BuildEvent buildEvent) {
069: swingCtx.provideAntFeedBack(res.getString("running")
070: + buildEvent.getTarget());
071: swingCtx.targetStarted(buildEvent);
072: }
073:
074: /**
075: * targetFinished This event is ignored
076: * @param buildEvent BuildEvent
077: */
078: public void targetFinished(BuildEvent buildEvent) {
079: swingCtx.targetFinished(buildEvent);
080: }
081:
082: /**
083: * taskStarted This event is ignored
084: * @param buildEvent BuildEvent
085: */
086: public void taskStarted(BuildEvent buildEvent) {
087: //swingCtx.provideAntFeedBack(buildEvent.getMessage());
088: if (buildEvent.getTask().getTaskName().equals(
089: "antinstaller-tick")) {
090: swingCtx.tick();
091: }
092: }
093:
094: /**
095: * taskFinished This event is ignored
096: * @param buildEvent BuildEvent
097: */
098: public void taskFinished(BuildEvent buildEvent) {
099: //swingCtx.provideAntFeedBack(buildEvent.getMessage());
100: }
101:
102: /**
103: * messageLogged This event is ignored
104: * @param buildEvent BuildEvent
105: */
106: public void messageLogged(BuildEvent buildEvent) {
107: //swingCtx.provideAntFeedBack(buildEvent.getMessage());
108: }
109: }
|