|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.lib.cvsclient.command.remove; import java.io.*; import org.netbeans.lib.cvsclient.command.*; import org.netbeans.lib.cvsclient.event.*; /** * Handles the building of remove information object and the firing of * events when complete objects are built. * * @author Milos Kleint */ public class RemoveBuilder implements Builder { private static final String UNKNOWN = ": nothing known about"; //NOI18N private static final String WARNING = ": warning: "; //NOI18N private static final String SCHEDULING = ": scheduling `"; //NOI18N private static final String USE_COMMIT = ": use 'cvs commit' "; //NOI18N private static final String DIRECTORY = ": Removing "; //NOI18N private static final String STILL_IN_WORKING = ": file `"; //NOI18N private static final String REMOVE_FIRST = "first"; //NOI18N private static final String UNKNOWN_FILE = "?"; //NOI18N /** * The status object that is currently being built */ private RemoveInformation removeInformation; /** * The directory in which the file being processed lives. This is * relative to the local directory */ private String fileDirectory; /** * The event manager to use */ private final EventManager eventManager; private final RemoveCommand removeCommand; public RemoveBuilder(EventManager eventManager, RemoveCommand removeCommand) { this.eventManager = eventManager; this.removeCommand = removeCommand; } public void outputDone() { if (removeInformation != null) { eventManager.fireCVSEvent(new FileInfoEvent(this, removeInformation)); removeInformation = null; } } public void parseLine(String line, boolean isErrorMessage) { if (line.indexOf(SCHEDULING) >= 0) { int endingIndex = line.indexOf('\''); String fn = line.substring(line.indexOf(SCHEDULING) + SCHEDULING.length(), endingIndex).trim(); addFile(fn); removeInformation.setRemoved(true); outputDone(); } if (line.startsWith(UNKNOWN_FILE)) { addFile(line.substring(UNKNOWN_FILE.length())); removeInformation.setRemoved(false); outputDone(); } if (line.indexOf(STILL_IN_WORKING) >= 0) { int endingIndex = line.indexOf('\''); String fn = line.substring(line.indexOf(STILL_IN_WORKING) + STILL_IN_WORKING.length(), endingIndex).trim(); addFile(fn); removeInformation.setRemoved(false); outputDone(); } // ignore the rest.. } protected File createFile(String fileName) { StringBuffer path = new StringBuffer(); path.append(removeCommand.getLocalDirectory()); path.append(File.separator); if (fileDirectory == null) { // happens for single files only // (for directories, the dir name is always sent before the actual files) File locFile = removeCommand.getFileEndingWith(fileName); if (locFile == null) { path.append(fileName); } else { path = new StringBuffer(locFile.getAbsolutePath()); } } else { // path.append(fileDirectory); // path.append(File.separator); path.append(fileName); } String toReturn = path.toString(); toReturn = toReturn.replace('/', File.separatorChar); return new File(path.toString()); } protected void addFile(String name) { removeInformation = new RemoveInformation(); removeInformation.setFile(createFile(name)); } public void parseEnhancedMessage(String key, Object value) { } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.