|
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.modules.cvsclient.caching;
/**
*
* @author mkleint
* @version
*/
import org.openide.filesystems.AbstractFileSystem;
import org.netbeans.modules.javacvs.commands.JavaCvsStatusManager;
import org.netbeans.modules.javacvs.caching.*;
import org.netbeans.modules.javacvs.JavaCvsFileSystem;
import org.netbeans.modules.cvsclient.JavaCvsSettings;
import org.netbeans.modules.vcscore.cache.*;
import org.netbeans.modules.vcscore.annotation.AnnotationProvider;
import org.netbeans.modules.vcscore.annotation.AnnotationSupport;
import org.netbeans.modules.cvsclient.NbJavaCvsStatusManager;
import org.netbeans.modules.cvsclient.NbJavaCvsFileSystem;
import org.openide.util.*;
import org.openide.filesystems.FileObject;
import java.util.*;
import java.io.*;
import java.lang.ref.*;
import java.text.MessageFormat;
import java.util.ResourceBundle;
import org.openide.util.SharedClassObject;
import org.netbeans.modules.cvsclient.commands.ErrorLogPanel;
import org.netbeans.modules.javacvs.commands.FileSystemCommand;
import org.netbeans.modules.javacvs.commands.CvsStatus;
import org.netbeans.modules.cvsclient.commands.JavaCvsRuntimeCommand;
import org.netbeans.modules.cvsclient.JavaCvsRuntimeCommandsProvider;
import org.netbeans.modules.vcscore.runtime.RuntimeCommandsProvider;
public class NbCvsFsCache extends CvsFsCache {
private final String MEGABYTE_STRING;
private final String KILOBYTE_STRING;
private final String BYTE_STRING;
/** Creates new CvsFsCache */
public NbCvsFsCache(AbstractFileSystem fs, File homeDirectory) {
super(fs, homeDirectory);
AnnotationSupport.PatternType patternType = AnnotationSupport.getInstance().registerPatternType(JavaCvsSettings.ANNOTATION_TYPE);
if (patternType.getPatternsAsArray().length == 0) {
JavaCvsSettings settings = (JavaCvsSettings)SharedClassObject.findObject(JavaCvsSettings.class, true);
patternType.setStringPattern(settings.getAnnotationPattern());
patternType.addMultiSynchPattern(AnnotationSupport.ANNOTATION_PATTERN_FILE_NAME, JavaCvsStatusManager.NOT_IN_SYNCH);
patternType.addMultiListPattern(AnnotationSupport.ANNOTATION_PATTERN_STATUS, ","); //NOI18N
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_REVISION);
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_LOCKER);
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_STICKY);
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_ATTR);
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_SIZE);
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_DATE);
patternType.addMultiEmptyPattern(AnnotationSupport.ANNOTATION_PATTERN_TIME);
}
ResourceBundle bundle = NbBundle.getBundle(NbCvsFsCache.class);
MEGABYTE_STRING = bundle.getString("LBL_Megabyte_Sign"); //NOI18N
KILOBYTE_STRING = bundle.getString("LBL_Kilobyte_Sign"); //NOI18N
BYTE_STRING = bundle.getString("LBL_Byte_Sign"); //NOI18N
}
/* public static JavaCvsCache getCacheObject() {
if (cacheObject == null) {
cacheObject = new NbJavaCvsCache();
}
return cacheObject;
}
*/
protected JavaCvsStatusManager getStatusManager() {
return NbJavaCvsStatusManager.getInstance();
}
/** Performs status check on the specified "important" file(s)..
* see JavaCvsFileSystem.annotateName()
*/
public String getStatus(String nodeName, Vector importantFiles) {
int currentStrategy;
/* if (autoRefresh == JavaCvsFileSystem.AUTO_SIMPLE) {
currentStrategy = CacheHandler.STRAT_DISK_OR_REFRESH;
} else {
**/
currentStrategy = CacheHandler.STRAT_DISK;
// }
String status=""; // NOI18N
int len = importantFiles.size();
CacheFile file=null;
String name;
String fullName;
String stat;
//D.deb("len="+len); // NOI18N
if( len < 1 ){
return getStatusManager().getStatus(JavaCvsStatusManager.UNKNOWN);
}
else {
if (autoRefresh == JavaCvsFileSystem.AUTO_SIMPLE) {
name = (String) importantFiles.elementAt(0);
File fl = new File(fsRootFile.getPath(), name);
if (fl.getParentFile() != null) {
fl = fl.getParentFile();
checkDirectoryAutorefresh(fl, false);
}
}
if( len==1 ){
name = (String) importantFiles.elementAt(0);
File fl = new File(fsRootFile.getPath(), name);
if (fl != null) {
file = CacheHandler.getInstance().getCacheFile(fl, adjustStrategy(currentStrategy), this);
}
if (file != null) {
AnnotationSupport support = AnnotationSupport.getInstance();
JavaCvsAnnProvider annProvider = new JavaCvsAnnProvider(file, name);
stat = support.getStatusAnnotation(nodeName, name, annProvider, JavaCvsSettings.ANNOTATION_TYPE);
}
else stat = nodeName; // when we do not have status, return just the node name
return stat;
}
}
// for multidata objects do the following
//D.deb("status="+status); // NOI18N
/* String result = getStatusManager().getStatus(JavaCvsStatusManager.NOT_IN_SYNCH);
name = (String) importantFiles.elementAt(0);
// String rootDir = cvsfs.getRootDirectory().getAbsolutePath();
// fullName = rootDir + File.separator + name;
File fl = new File(fsRootFile.getAbsolutePath(), name);
if (fl != null) {
file = handler.getCacheFile(fl, adjustStrategy(currentStrategy), this);
}
if (file != null) stat = getStatusManager().getStatus(file.getStatus());
else stat = "";
// stat = file.getStatus();
*/
HashMap cacheFileMap = new HashMap(len);
ArrayList fileList = new ArrayList(len);
for(int i=0;i
|
| ... 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.