/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*******************************************************************************/
/**
*
*/
package org.ebayopensource.turmeric.eclipse.repositorysystem.core;
import java.util.Collection;
import java.util.Set;
import org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo;
import org.ebayopensource.turmeric.eclipse.resources.model.ISOAProject;
import org.eclipse.swt.widgets.Shell;
/**
* The Interface ISOALibraryDependencyDialog.
*
* @author yayu
*/
public interface ISOALibraryDependencyDialog {
/**
* Open a repository specific library dependencies dialog for choosing library from the underlying repository system.
*
* @param shell The shell to display the dialog. This is to ensure this method is invoked in a UI thread.
* @param soaProject the underlying SOA project
* @param availableLibs pass in current library dependencies
* @param allLibs pass in all available libraries if there is one
* @return The added library or null is none
* @throws Exception the exception
*/
public Collection<AssetInfo> open(final Shell shell, final ISOAProject soaProject,
final Set<? extends AssetInfo> availableLibs, final Set<? extends AssetInfo> allLibs) throws Exception;
}