1 package uk.ac.roe.antigen.ant;2 3 import javax.swing.JFrame ;4 5 import org.apache.tools.ant.input.InputHandler;6 import org.apache.tools.ant.input.InputRequest;7 import org.apache.tools.ant.input.MultipleChoiceInputRequest;8 9 import uk.ac.roe.antigen.dialogs.AbstractFilePropertyInputHandler;10 import uk.ac.roe.antigen.dialogs.DirPropertyInputHandler;11 import uk.ac.roe.antigen.dialogs.FilePropertyInputHandler;12 import uk.ac.roe.antigen.dialogs.RadioPropertyInputHandler;13 import uk.ac.roe.antigen.dialogs.TextPropertyInputHandler;14 import uk.ac.roe.antigen.utils.Config;15 16 17 public class GeneralInputHandler implements InputHandler {18 19 private JFrame frame;20 public GeneralInputHandler(JFrame frame) {21 this.frame = frame; 22 }23 24 public void handleInput(InputRequest request) {25 26 InputHandler handler;27 if (request instanceof MultipleChoiceInputRequest) {28 handler = new RadioPropertyInputHandler(frame);29 } else {30 String propertyName = request.getAddproperty();31 String filePropertySuffix = Config.getProperty("antigen.filepropertysuffix");32 String dirPropertySuffix = Config.getProperty("antigen.dirpropertysuffix");33 if (filePropertySuffix!=null && propertyName.endsWith(filePropertySuffix)) {34 handler = new FilePropertyInputHandler(frame);35 } else if (dirPropertySuffix!=null && propertyName.endsWith(dirPropertySuffix)) {36 handler = new DirPropertyInputHandler(frame);37 } else {38 handler = new TextPropertyInputHandler(frame);39 }40 }41 handler.handleInput(request);42 43 }44 }45 46 47