本文整理了Java中ch.cyberduck.core.Local.getParent()
方法的一些代码示例,展示了Local.getParent()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Local.getParent()
方法的具体详情如下:
包路径:ch.cyberduck.core.Local
类名称:Local
方法名:getParent
暂无
代码示例来源:origin: iterate-ch/cyberduck
public String getLocal() {
final Local local = roots.iterator().next().local;
if(roots.size() == 1) {
return local.getAbbreviatedPath();
}
else {
return local.getParent().getAbbreviatedPath();
}
}
代码示例来源:origin: iterate-ch/cyberduck
/**
* @param source Connection to source server of transfer. May be null.
* @param destination Connection to target server of transfer
* @param files Files transfered
* @param callback Prompt
*/
public void post(final Session<?> source, final Session<?> destination, final Map<TransferItem, TransferStatus> files, final ConnectionCallback callback) throws BackgroundException {
for(Iterator<Map.Entry<Local, Object>> iter = locks.entrySet().iterator(); iter.hasNext(); ) {
final Map.Entry<Local, Object> entry = iter.next();
switch(this.getType()) {
case download:
final Local directory = entry.getKey().getParent();
directory.release(entry.getValue());
break;
case upload:
entry.getKey().release(entry.getValue());
break;
}
iter.remove();
}
}
代码示例来源:origin: iterate-ch/cyberduck
public TransferItem getParent() {
return new TransferItem(remote.getParent(), null == local ? null : local.getParent());
}
代码示例来源:origin: iterate-ch/cyberduck
@Override
public Local getVolume() {
for(Local parent = this.getParent(); !parent.isRoot(); parent = parent.getParent()) {
final Local directory = parent.getParent();
if(null == directory) {
return super.getVolume();
}
if("/Volumes".equals(directory.getAbsolute())) {
return parent;
}
}
return super.getVolume();
}
代码示例来源:origin: iterate-ch/cyberduck
/**
* @param source Connection to source server of transfer. May be null.
* @param destination Connection to target server of transfer
* @param files Files pending transfer
* @param callback Prompt
*/
public void pre(final Session<?> source, final Session<?> destination, final Map<TransferItem, TransferStatus> files, final ConnectionCallback callback) throws BackgroundException {
for(TransferItem item : roots) {
switch(this.getType()) {
case download:
final Local directory = item.local.getParent();
locks.put(directory, directory.lock(true));
break;
case upload:
locks.put(item.local, item.local.lock(true));
break;
}
}
}
代码示例来源:origin: iterate-ch/cyberduck
private Local create(final String folder, final String name) {
final Local file = LocalFactory.get(new File(PreferencesFactory.get().getProperty("tmp.dir"), folder).getAbsolutePath(), name);
this.delete(file.getParent());
return this.delete(file);
}
}
代码示例来源:origin: iterate-ch/cyberduck
@Override
public void touch(final Local file) throws AccessDeniedException {
final Local parent = file.getParent();
if(!parent.exists()) {
new DefaultLocalDirectoryFeature().mkdir(parent);
if(log.isDebugEnabled()) {
log.debug(String.format("Created folder %s", parent));
}
}
if(file.exists()) {
if(log.isDebugEnabled()) {
log.debug(String.format("Skip creating file %s", file));
}
return;
}
try {
Files.createFile(Paths.get(file.getAbsolute()));
}
catch(IOException e) {
throw new LocalAccessDeniedException(MessageFormat.format(
LocaleFactory.localizedString("Cannot create {0}", "Error"), file.getAbsolute()), e);
}
if(log.isDebugEnabled()) {
log.debug(String.format("Created file %s", file));
}
}
}
代码示例来源:origin: iterate-ch/cyberduck
public Local getSymlinkTarget() throws NotfoundException {
try {
try {
Paths.get(path).toRealPath();
}
catch(NoSuchFileException ignore) {
// Proceed if target is not found
}
catch(FileSystemException e) {
// Too many levels of symbolic links
log.warn(String.format("Failure resolving symlink target for %s. %s", path, e.getMessage()));
throw new LocalNotfoundException(MessageFormat.format("Failure to read attributes of {0}", this.getName()), e);
}
// For a link that actually points to something (either a file or a directory),
// the absolute path is the path through the link, whereas the canonical path
// is the path the link references.
final Path target = Files.readSymbolicLink(Paths.get(path));
if(target.isAbsolute()) {
return LocalFactory.get(target.toString());
}
else {
return LocalFactory.get(this.getParent(), target.toString());
}
}
catch(InvalidPathException | IOException e) {
throw new LocalNotfoundException(MessageFormat.format("Failure to read attributes of {0}", this.getName()), e);
}
}
代码示例来源:origin: iterate-ch/cyberduck
private Properties load() {
final Properties properties = new Properties();
try {
new DefaultLocalDirectoryFeature().mkdir(file.getParent());
}
catch(AccessDeniedException e) {
log.warn(String.format("Failure saving credentials to %s. %s", file.getAbsolute(), e.getDetail()));
}
if(file.exists()) {
try {
try (InputStream in = file.getInputStream()) {
properties.load(in);
}
}
catch(AccessDeniedException e) {
log.warn(String.format("Failure reading credentials from %s. %s", file.getAbsolute(), e.getDetail()));
}
catch(IOException e) {
log.warn(String.format("Failure reading credentials from %s. %s", file.getAbsolute(), e.getMessage()));
}
}
return properties;
}
代码示例来源:origin: iterate-ch/cyberduck
protected NSBundle bundle(final NSBundle main, Local executable) {
if(!executable.isSymbolicLink()) {
return main;
}
while(executable.isSymbolicLink()) {
try {
executable = executable.getSymlinkTarget();
}
catch(NotfoundException e) {
return main;
}
}
Local folder = executable.getParent();
NSBundle b;
do {
b = NSBundle.bundleWithPath(folder.getAbsolute());
if(null == b) {
log.error(String.format("Loading bundle %s failed", folder));
break;
}
if(StringUtils.equals(String.valueOf(Path.DELIMITER), b.bundlePath())) {
break;
}
folder = folder.getParent();
}
while(b.executablePath() == null);
return b;
}
}
代码示例来源:origin: iterate-ch/cyberduck
@Override
public void apply(final Path file, final Local local, final TransferStatus status,
final ProgressListener listener) throws BackgroundException {
if(status.isExists()) {
Local rename;
do {
String proposal = MessageFormat.format(PreferencesFactory.get().getProperty("queue.download.file.rename.format"),
FilenameUtils.getBaseName(file.getName()),
UserDateFormatterFactory.get().getMediumFormat(System.currentTimeMillis(), false).replace(local.getDelimiter(), '-').replace(':', '-'),
StringUtils.isNotBlank(file.getExtension()) ? String.format(".%s", file.getExtension()) : StringUtils.EMPTY);
rename = LocalFactory.get(local.getParent().getAbsolute(), proposal);
}
while(rename.exists());
if(log.isInfoEnabled()) {
log.info(String.format("Rename existing file %s to %s", local, rename));
}
local.rename(rename);
if(log.isDebugEnabled()) {
log.debug(String.format("Clear exist flag for file %s", local));
}
status.setExists(false);
}
super.apply(file, local, status, listener);
}
}
代码示例来源:origin: iterate-ch/cyberduck
/**
* This function works only with executables stored in the
* <code>Contents/Library/LoginItems</code> directory of the bundle.
*/
@Override
public boolean register(final Application application) {
final Local helper = new FinderLocal(new BundleApplicationResourcesFinder().find().getParent(),
String.format("Library/LoginItems/%s.app", application.getName()));
if(!finder.register(helper)) {
log.warn(String.format("Failed to register %s (%s) with launch services", helper,
finder.getDescription(application.getIdentifier())));
}
if(!ServiceManagementLibrary.SMLoginItemSetEnabled(application.getIdentifier(), true)) {
log.warn(String.format("Failed to register %s as login item", application));
return false;
}
return true;
}
代码示例来源:origin: iterate-ch/cyberduck
@Override
public boolean reveal(final Local file) {
synchronized(NSWorkspace.class) {
// If a second path argument is specified, a new file viewer is opened. If you specify an
// empty string (@"") for this parameter, the file is selected in the main viewer.
return NSWorkspace.sharedWorkspace().selectFile(new NFDNormalizer().normalize(file.getAbsolute()).toString(),
new NFDNormalizer().normalize(file.getParent().getAbsolute()).toString());
}
}
}
代码示例来源:origin: iterate-ch/cyberduck
public String normalize(final String name) {
if(StringUtils.equals(name, ".")) {
return finder.find().getAbsolute();
}
if(StringUtils.equals(name, "..")) {
return finder.find().getParent().getAbsolute();
}
if(!this.isAbsolute(name)) {
return String.format("%s%s%s", finder.find().getAbsolute(), PreferencesFactory.get().getProperty("local.delimiter"), name);
}
return name;
}
}
代码示例来源:origin: iterate-ch/cyberduck
/**
* Move file to trash on main interface thread using <code>NSWorkspace.RecycleOperation</code>.
*/
@Override
public void trash(final Local file) throws LocalAccessDeniedException {
synchronized(NSWorkspace.class) {
if(log.isDebugEnabled()) {
log.debug(String.format("Move %s to Trash", file));
}
final NSWorkspace workspace = NSWorkspace.sharedWorkspace();
// Asynchronous operation. 0 if the operation is performed synchronously and succeeds, and a positive
// integer if the operation is performed asynchronously and succeeds
if(!workspace.performFileOperation(
NSWorkspace.RecycleOperation,
new NFDNormalizer().normalize(file.getParent().getAbsolute()).toString(), StringUtils.EMPTY,
NSArray.arrayWithObject(new NFDNormalizer().normalize(file.getName()).toString()))) {
throw new LocalAccessDeniedException(String.format("Failed to move %s to Trash", file.getName()));
}
}
}
}
代码示例来源:origin: iterate-ch/cyberduck
status.rename(LocalFactory.get(local.getParent(), proposal));
代码示例来源:origin: iterate-ch/cyberduck
@Action
public void downloadAsPanelDidEnd_returnCode_contextInfo(final NSSavePanel sheet, final int returncode, final ID contextInfo) {
sheet.orderOut(contextInfo);
if(returncode == SheetCallback.DEFAULT_OPTION) {
if(sheet.filename() != null) {
final Local target = LocalFactory.get(sheet.filename());
new DownloadDirectoryFinder().save(pool.getHost(), target.getParent());
final List<TransferItem> downloads
= Collections.singletonList(new TransferItem(this.getSelectedPath(), target));
this.transfer(new DownloadTransfer(pool.getHost(), downloads), Collections.emptyList());
}
}
}
代码示例来源:origin: iterate-ch/cyberduck
while((next = iterator.nextObject()) != null) {
final Local local = LocalFactory.get(next.toString());
final Local localParent = local.getParent();
代码示例来源:origin: iterate-ch/cyberduck
@Override
public void run() {
final NSOpenPanel panel = NSOpenPanel.openPanel();
panel.setCanChooseDirectories(file.isDirectory());
panel.setCanChooseFiles(file.isFile());
panel.setAllowsMultipleSelection(false);
panel.setMessage(MessageFormat.format(LocaleFactory.localizedString("Select {0}", "Credentials"),
file.getAbbreviatedPath()));
panel.setPrompt(LocaleFactory.localizedString("Choose"));
final NSInteger modal = panel.runModal(file.getParent().getAbsolute(), file.getName());
if(modal.intValue() == SheetCallback.DEFAULT_OPTION) {
final NSArray filenames = panel.filenames();
final NSEnumerator enumerator = filenames.objectEnumerator();
NSObject next;
while((next = enumerator.nextObject()) != null) {
selected.set(new FinderLocal(next.toString()));
}
}
panel.orderOut(null);
}
};
代码示例来源:origin: iterate-ch/cyberduck
@Action
public void syncPanelDidEnd_returnCode_contextInfo(final NSOpenPanel sheet, final int returncode, final ID contextInfo) {
sheet.orderOut(contextInfo);
if(returncode == SheetCallback.DEFAULT_OPTION) {
if(sheet.filename() != null) {
final Local target = LocalFactory.get(sheet.filename());
new UploadDirectoryFinder().save(pool.getHost(), target.getParent());
final Path selected;
if(this.getSelectionCount() == 1 && this.getSelectedPath().isDirectory()) {
selected = this.getSelectedPath();
}
else {
selected = this.workdir();
}
this.transfer(new SyncTransfer(pool.getHost(), new TransferItem(selected, target)));
}
}
}
内容来源于网络,如有侵权,请联系作者删除!