in eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportRepositoryContentAction.java [105:172]
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException,
SerializationException, CoreException {
// TODO: We should try to make this give 'nice' progress feedback (aka here's what I'm processing)
monitor.beginTask("Repository import", IProgressMonitor.UNKNOWN);
this.monitor = monitor;
repository = ServerUtil.getConnectedRepository(server, monitor);
this.builder = serializationManager.newBuilder(
repository, ProjectUtil.getSyncDirectoryFile(project));
SerializationKindManager skm;
try {
skm = new SerializationKindManager();
skm.init(repository);
} catch (RepositoryException e1) {
throw new InvocationTargetException(e1);
}
filter = ProjectUtil.loadFilter(project);
ProgressUtils.advance(monitor, 1);
try {
contentSyncRootDir = ProjectUtil.getSyncDirectory(project);
repositoryImportRoot = projectRelativePath
.makeRelativeTo(contentSyncRootDir.getProjectRelativePath())
.makeAbsolute();
contentSyncRoot = ProjectUtil.getSyncDirectoryFullPath(project).toFile();
readVltIgnoresNotUnderImportRoot(contentSyncRootDir, repositoryImportRoot);
ProgressUtils.advance(monitor, 1);
Activator
.getDefault()
.getPluginLogger()
.trace("Starting import; repository start point is {0}, workspace start point is {1}",
repositoryImportRoot, projectRelativePath);
recordNotIgnoredResources();
ProgressUtils.advance(monitor, 1);
crawlChildrenAndImport(repositoryImportRoot.toPortableString());
removeNotIgnoredAndNotUpdatedResources(new NullProgressMonitor());
ProgressUtils.advance(monitor, 1);
} catch (OperationCanceledException e) {
throw e;
} catch (Exception e) {
throw new InvocationTargetException(e);
} finally {
if (builder!=null) {
builder.destroy();
builder = null;
}
monitor.done();
}
}