| /******************************************************************************* |
| * Copyright (c) 2015 Ericsson |
| * |
| * All rights reserved. This program and the accompanying materials are |
| * made available under the terms of the Eclipse Public License v1.0 which |
| * accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Marc-Andre Laperle - Initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.tracecompass.internal.tmf.ui.project.wizards.importtrace; |
| |
| import org.eclipse.ui.internal.wizards.datatransfer.ILeveledImportStructureProvider; |
| |
| /** |
| * An import provider that both supports using IFileSystemObject and adds |
| * "archive functionality" by delegating to a leveled import provider |
| * (TarLeveledStructureProvider, ZipLeveledStructureProvider) |
| */ |
| @SuppressWarnings("restriction") |
| class FileSystemObjectLeveledImportStructureProvider extends FileSystemObjectImportStructureProvider implements ILeveledImportStructureProvider { |
| |
| private ILeveledImportStructureProvider fLeveledImportProvider; |
| |
| FileSystemObjectLeveledImportStructureProvider(ILeveledImportStructureProvider importStructureProvider, String archivePath) { |
| super(importStructureProvider, archivePath); |
| fLeveledImportProvider = importStructureProvider; |
| } |
| |
| @Override |
| public IFileSystemObject getRoot() { |
| return getIFileSystemObject(fLeveledImportProvider.getRoot()); |
| } |
| |
| @Override |
| public void setStrip(int level) { |
| fLeveledImportProvider.setStrip(level); |
| } |
| |
| @Override |
| public int getStrip() { |
| return fLeveledImportProvider.getStrip(); |
| } |
| |
| @Override |
| public boolean closeArchive() { |
| return fLeveledImportProvider.closeArchive(); |
| } |
| |
| @Override |
| public void dispose() { |
| super.dispose(); |
| closeArchive(); |
| } |
| } |