import org.tizen.nativeplatform.pkg.commander.PkgCommandTarget;
import org.tizen.nativeplatform.pkg.model.PkgStatus;
import org.tizen.nativeplatform.pkgmgr.PkgMgrInitializer;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.rootstrap.RootstrapManager;
import org.tizen.nativeplatform.types.CmdTargetTypes;
import org.tizen.nativeplatform.types.PkgInstallTypes;
return false;
}
- public PlatformRootstrap generateRootstrap(String name, String arch, Map<String, String> repos,
+ public PlatformRootstrap generateRootstrap(String name, String arch, List<Repository> repos,
IProgressMonitor monitor) throws InterruptedException {
resetLogAndMessage();
PlatformRootstrap newRootstrap = null;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-import java.util.Map;
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.core.resources.IProject;
import org.tizen.nativecommon.build.SmartBuildInterface;
import org.tizen.nativeplatform.build.PlatformConfigurationManager;
import org.tizen.nativeplatform.coredump.CoredumpPreprocessor;
-import org.tizen.nativeplatform.coredump.model.CoredumpModel;
import org.tizen.nativeplatform.coredump.model.CallStackVO;
+import org.tizen.nativeplatform.coredump.model.CoredumpModel;
import org.tizen.nativeplatform.launch.wizard.pages.PlatformLaunchSettingCorePage;
import org.tizen.nativeplatform.launch.wizard.pages.PlatformLaunchSettingDepPkgPage;
import org.tizen.nativeplatform.launch.wizard.pages.PlatformLaunchSettingRootstrapPage;
import org.tizen.nativeplatform.pkg.commander.PkgCommandTarget;
import org.tizen.nativeplatform.repo.commander.RepoManager;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.rootstrap.RootstrapManager;
import org.tizen.nativeplatform.types.PkgTypes;
import org.tizen.nativeplatform.util.GBSArchitectureChecker;
// select new rootstrap
} else {
List<String> repoList = rootstrapPage.getRepositryList();
- final Map<String, String> repos = RepoManager.createRepeHashMap(repoList);
+ final List<Repository> repos = RepoManager.createRepoList(repoList);
final String rootstrapName = rootstrapPage.getRootstrapName();
final String rootstrapArch = GBSArchitectureChecker
.changeToSupportedArchitecture(rootstrapPage.getArch());
import org.tizen.nativeplatform.pkg.model.PkgInfo;
import org.tizen.nativeplatform.pkg.model.PkgStatus;
import org.tizen.nativeplatform.pkgmgr.PackageManagerOuputReceiver;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.types.CmdTargetTypes;
import org.tizen.nativeplatform.types.PkgInstallTypes;
Map<String, PkgStatus> getWhatProvides(String capability);
- Map<String, String> getRepoList();
+ List<Repository> getRepoList();
ICommandStatus upgrade(IProgressMonitor monitor);
import java.util.Map.Entry;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jgit.util.FileUtils;
import org.eclipse.ui.console.MessageConsoleStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.tizen.common.ui.view.console.ConsoleManager;
-import org.tizen.common.util.FileUtil;
import org.tizen.nativeplatform.pkg.commander.ICommandStatus;
import org.tizen.nativeplatform.pkg.commander.IPkgCommander;
import org.tizen.nativeplatform.pkg.model.Package;
import org.tizen.nativeplatform.pkg.tools.ZypperTool;
import org.tizen.nativeplatform.pkg.tools.ZypperXmlParser;
import org.tizen.nativeplatform.pkgmgr.PackageManagerOuputReceiver;
-import org.tizen.nativeplatform.rds.CachePackageChecksum;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.types.PkgInstallTypes;
import org.tizen.nativeplatform.util.CharacterStripper;
import org.tizen.nativeplatform.util.CommandLauncher;
return pkgMap;
}
- public Map<String, String> getRepoList() {
- Map<String, String> result = new HashMap<String, String>();
+ public List<Repository> getRepoList() {
+ List<Repository> result = new ArrayList<Repository>();
if (!checkPkgInstalled(ZypperTool.NAME)) {
printResultLog("Failed to get repository list. \"zypper\" package is not installed");
return result;
}
if (result != null) {
printResultLog(String.format("Get repository list: %d", result.size()));
- printResultLog(result.toString());
+ //printResultLog(result.toString());
} else {
printResultLog("Failed to get repository list");
}
return result;
-
}
public ICommandStatus refreshRepoListXmlOut() {
import java.io.IOException;
import java.io.StringReader;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.tizen.nativeplatform.pkg.model.PkgStatus;
import org.tizen.nativeplatform.pkg.model.Package;
+import org.tizen.nativeplatform.pkg.model.PkgStatus;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.types.PkgInstallTypes;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
return pkgMap;
}
- public Map<String, String> getRepoList() {
- Map<String, String> repoMap = new HashMap<String, String>();
+ public List<Repository> getRepoList() {
+ List<Repository> repoList = new ArrayList<Repository>();
if (doc == null) {
- return repoMap;
+ return repoList;
}
doc.getDocumentElement().normalize();
break;
}
}
-
- repoMap.put(alias, url);
+ Repository repo = new Repository(alias, url);
+ repoList.add(repo);
}
-
- return repoMap;
-
+ return repoList;
}
public Map<String, PkgStatus> getWhatProvideList() {
package org.tizen.nativeplatform.pkgmgr;
-import java.util.Map;
-import java.util.Map.Entry;
+import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.tizen.nativeplatform.pkg.commander.IPkgCommander;
public void initDeviceRepoInfo() {
if (isSetDevice()) {
RepositoryProvider.INSTANCE.getDeviceRepos().clear();
- Map<String, String> list = dvCommander.getRepoList();
- for (Entry<String, String> e : list.entrySet()) {
- String name = e.getKey();
- String url = e.getValue();
- RepositoryProvider.INSTANCE.getDeviceRepos().add(new Repository(name, url));
+ List<Repository> list = dvCommander.getRepoList();
+ RepositoryProvider.INSTANCE.getDeviceRepos().addAll(list);
+ }
+ }
+
+ public void initDeviceRepoInfo(List<Repository> repositories) {
+ if (isSetDevice()) {
+ dvCommander.resetRepo();
+ int idx = 0;
+ for (Repository repo : repositories) {
+ String name = String.format("url%d", idx++);
+ dvCommander.addRepo(name, repo.getUri());
}
+ initDeviceRepoInfo();
}
}
public void fastInitData(IProgressMonitor monitor) throws InterruptedException {
if (isSetRootstrap()) {
- Map<String, String> reposMap = rootstrap.getRepoMap();
- Map<String, String> list = target.getCommander(CmdTargetTypes.ROOTSTRAP).getRepoList();
+ List<Repository> sourceList = rootstrap.getRepoList();
+ List<Repository> targetList = target.getCommander(CmdTargetTypes.ROOTSTRAP)
+ .getRepoList();
boolean needReset = true;
- if (reposMap.size() == list.size()) {
- for (String repo : list.values()) {
- if (reposMap.get(repo) == null) {
+ if (sourceList.size() == targetList.size()) {
+ for (Repository repo : targetList) {
+ String url = repo.getUri();
+ if (!rootstrap.containRepository(url)) {
needReset = true;
break;
} else {
return false;
}
String url = dialog.getRepositoryURL();
+ Repository repo = target.getRootstrap().getRepository(url);
+ if (repo != null) {
+ DialogUtil.openMessageDialog(
+ String.format(resources.getString("PkgMgr.Msg.Repo.Exists"), repo.getName()));
+ return false;
+ }
target.getRootstrap().addRepoURL(url);
return true;
}
return false;
}
- Repository repos = (Repository) repoViewer.getTable().getItem(selectedIdx).getData();
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
ModifyRepoDialog dialog = new ModifyRepoDialog(shell,
- resources.getString("PkgMgr.Tab.Buildsystem"), repos.getName(), repos.getUri(),
- true);
+ resources.getString("PkgMgr.Tab.Buildsystem"), selectedRepository.getName(),
+ selectedRepository.getUri(), true);
if (dialog.open() != ModifyRepoDialog.OK) {
return false;
}
if (dialog.isDirty()) {
- target.getRootstrap().changeRepoURL(repos.getUri(), dialog.getRepositoryURL());
+ String newUrl = dialog.getRepositoryURL();
+ Repository repo = target.getRootstrap().getRepository(newUrl);
+ if (repo != null) {
+ DialogUtil
+ .openMessageDialog(
+ String.format(resources.getString("PkgMgr.Msg.Repo.Exists"), repo.getName()));
+ return false;
+ } else {
+ return target.getRootstrap().modifyRepoURL(selectedRepository.getUri(),
+ dialog.getRepositoryURL());
+ }
}
return true;
}
DialogUtil.openMessageDialog(resources.getString("PkgMgr.Message.Select.OnePackage"));
return false;
}
- Repository repos = (Repository) repoViewer.getTable().getItem(selectedIdx).getData();
- target.getRootstrap().removeRepoURL(repos.getUri());
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
+ target.getRootstrap().removeRepoURL(selectedRepository.getUri());
return true;
}
+ protected boolean handleMoveupRepositoryButton() {
+ int selectedIdx = repoViewer.getTable().getSelectionIndex();
+ if (selectedIdx == -1) {
+ DialogUtil.openMessageDialog(resources.getString("PkgMgr.Message.Select.OnePackage"));
+ return false;
+ }
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
+ return target.getRootstrap().moveupRepository(selectedRepository.getUri());
+ }
+
+ protected boolean handleMovedownRepositoryButton() {
+ int selectedIdx = repoViewer.getTable().getSelectionIndex();
+ if (selectedIdx == -1) {
+ DialogUtil.openMessageDialog(resources.getString("PkgMgr.Message.Select.OnePackage"));
+ return false;
+ }
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
+ return target.getRootstrap().movedownRepository(selectedRepository.getUri());
+ }
+
protected void handleUpgradeButton() {
ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
abstract protected boolean handleRemoveRepositoryButton();
+ abstract protected boolean handleMoveupRepositoryButton();
+
+ abstract protected boolean handleMovedownRepositoryButton();
+
abstract protected void handleUpgradeButton();
abstract protected List<PkgStatus> getPackageList();
Group grpRepo = new Group(parent, SWT.NONE);
grpRepo.setText(resources.getString("PkgMgr.Frame.Respository"));
GridData repo_gd = new GridData(GridData.FILL_HORIZONTAL);
- repo_gd.heightHint = 150;
+ repo_gd.heightHint = 180;
grpRepo.setLayoutData(repo_gd);
grpRepo.setLayout(new GridLayout(2, false));
private void createColumnsForRepoTable(Composite parent) {
String[] titles = { resources.getString("PkgMgr.Repo.Table.Column.1"),
resources.getString("PkgMgr.Repo.Table.Column.2") };
- int[] bounds = { 100, 850 };
+ int[] bounds = { 100, 900 };
SelectionAdapter adapter = new RepoTableSelectionAdapter(repoViewer);
TableViewerColumn colName = createTableViewerColumn(repoViewer, adapter, titles[0],
@Override
public void mouseDown(MouseEvent e) {
+ ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
if (handleAddRepositoryButton()) {
- updateRepositoryInfo();
+ try {
+ dialog.run(true, false, new IRunnableWithProgress() {
+ @Override
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("Add repository", -1);
+ try {
+ updateRepositoryInfo();
+ } finally {
+ monitor.done();
+ }
+ }
+ });
+ } catch (InvocationTargetException e1) {
+ DialogUtil.openErrorDialog(resources.getString("PkgMgr.Msg.Error.Addrepo")
+ + "("
+ + e1.toString() + ")");
+ } catch (InterruptedException e1) {
+ DialogUtil.openErrorDialog(resources.getString("PkgMgr.Msg.Error.Addrepo")
+ + "("
+ + e1.toString() + ")");
+ }
repoViewer.refresh();
}
}
});
+ Button remove_bt = new Button(composite, SWT.PUSH);
+ Image removeIcon = ImageUtil.getImage(Activator.PLUGIN_ID, "icons/rootstrap/remove.gif");
+ remove_bt.setImage(removeIcon);
+ remove_bt.setToolTipText(resources.getString("PkgMgr.Button.RemoveRepo.Tooltip"));
+ remove_bt.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseDoubleClick(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseDown(MouseEvent e) {
+ ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
+ if (handleRemoveRepositoryButton()) {
+ try {
+ dialog.run(true, false, new IRunnableWithProgress() {
+ @Override
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("Remove repository", -1);
+ try {
+ updateRepositoryInfo();
+ } finally {
+ monitor.done();
+ }
+ }
+ });
+ } catch (InvocationTargetException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.Removerepo") + "("
+ + e1.toString() + ")");
+ } catch (InterruptedException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.Removerepo") + "("
+ + e1.toString() + ")");
+ }
+ repoViewer.refresh();
+ }
+ }
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ }
+ });
+
Button modify_bt = new Button(composite, SWT.PUSH);
Image modifyIcon = ImageUtil.getImage(Activator.PLUGIN_ID, "icons/rootstrap/edit.gif");
modify_bt.setImage(modifyIcon);
@Override
public void mouseDown(MouseEvent e) {
+ ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
if (handleModifyRepositoryButton()) {
- updateRepositoryInfo();
+ try {
+ dialog.run(true, false, new IRunnableWithProgress() {
+ @Override
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("Modify repository", -1);
+ try {
+ updateRepositoryInfo();
+ } finally {
+ monitor.done();
+ }
+ }
+ });
+ } catch (InvocationTargetException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.Modifyrepo") + "("
+ + e1.toString() + ")");
+ } catch (InterruptedException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.Modifyrepo") + "("
+ + e1.toString() + ")");
+ }
repoViewer.refresh();
}
}
}
});
- Button remove_bt = new Button(composite, SWT.PUSH);
- Image removeIcon = ImageUtil.getImage(Activator.PLUGIN_ID, "icons/rootstrap/remove.gif");
- remove_bt.setImage(removeIcon);
- remove_bt.setToolTipText(resources.getString("PkgMgr.Button.RemoveRepo.Tooltip"));
- remove_bt.addMouseListener(new MouseListener() {
+ Button moveup_bt = new Button(composite, SWT.PUSH);
+ Image moveupIcon = ImageUtil.getImage(Activator.PLUGIN_ID, "icons/list-moveup.gif");
+ moveup_bt.setImage(moveupIcon);
+ moveup_bt.setToolTipText(resources.getString("PkgMgr.Button.MoverepoUp.Tooltip"));
+ moveup_bt.addMouseListener(new MouseListener() {
@Override
public void mouseDoubleClick(MouseEvent e) {
@Override
public void mouseDown(MouseEvent e) {
- if (handleRemoveRepositoryButton()) {
- updateRepositoryInfo();
+ ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
+ if (handleMoveupRepositoryButton()) {
+ try {
+ dialog.run(true, false, new IRunnableWithProgress() {
+ @Override
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("Move repository up", -1);
+ try {
+ updateRepositoryInfo();
+ } finally {
+ monitor.done();
+ }
+ }
+ });
+ } catch (InvocationTargetException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.MoverepoUp") + "("
+ + e1.toString() + ")");
+ } catch (InterruptedException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.MoverepoUp") + "("
+ + e1.toString() + ")");
+ }
+ repoViewer.refresh();
+ }
+ }
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ }
+ });
+
+ Button movedown_bt = new Button(composite, SWT.PUSH);
+ Image movedownIcon = ImageUtil.getImage(Activator.PLUGIN_ID, "icons/list-movedown.gif");
+ movedown_bt.setImage(movedownIcon);
+ movedown_bt.setToolTipText(resources.getString("PkgMgr.Button.MoverepoDown.Tooltip"));
+ movedown_bt.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseDoubleClick(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseDown(MouseEvent e) {
+ ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
+ if (handleMovedownRepositoryButton()) {
+ try {
+ dialog.run(true, false, new IRunnableWithProgress() {
+ @Override
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("Move repository down", -1);
+ try {
+ updateRepositoryInfo();
+ } finally {
+ monitor.done();
+ }
+ }
+ });
+ } catch (InvocationTargetException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.MoverepoDown") + "("
+ + e1.toString() + ")");
+ } catch (InterruptedException e1) {
+ DialogUtil.openErrorDialog(resources
+ .getString("PkgMgr.Msg.Error.MoverepoDown") + "("
+ + e1.toString() + ")");
+ }
repoViewer.refresh();
}
}
package org.tizen.nativeplatform.pkgmgr.ui;
+import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import org.eclipse.swt.widgets.Shell;
public class DeviceTab extends CommonTab {
private PkgCommandTarget target = null;
+ private List<Repository> repositories = new ArrayList<Repository>();
public DeviceTab(Shell shell, TabFolder folder, PkgCommandTarget target) {
super(shell, folder, target.getCommander(CmdTargetTypes.DEVICE));
this.target = target;
+ repositories.clear();
+ repositories.addAll(getRepositoryList());
}
protected CopyOnWriteArrayList<Repository> getRepositoryList() {
}
public void updateRepositoryInfo() {
- // initializeRepositoryInfo(device);
PkgMgrInitializer initializer = new PkgMgrInitializer(target);
- initializer.initDeviceRepoInfo();
+ initializer.initDeviceRepoInfo(repositories);
+ }
+
+ public boolean resetRepositoryInfo() {
+ commander.resetRepo();
+ int idx = 0;
+ for (Repository repo : repositories) {
+ String name = String.format("url%d", idx++);
+ ICommandStatus status = commander.addRepo(name, repo.getUri());
+ if (!status.isOk()) {
+ return false;
+ }
+ }
+ return true;
}
public void createTab() {
}
private String findUrlName() {
- Map<String, String> list = commander.getRepoList();
int idx = 0;
String name = "";
- for (idx = 0; idx < list.size(); idx++) {
+ for (idx = 0; idx < repositories.size(); idx++) {
name = String.format("url%d", idx);
- if (!list.containsKey(name)) {
+ boolean exists = false;
+ for (Repository repo : repositories) {
+ if (repo.getName().equals(name)) {
+ exists = true;
+ }
+ }
+ if (!exists) {
return name;
}
}
}
protected boolean handleAddRepositoryButton() {
-
AddRepoDialog dialog = new AddRepoDialog(shell,
resources.getString("PkgMgr.Tab.Buildsystem"), false);
if (dialog.open() != AddRepoDialog.OK) {
}
String name = findUrlName();
String url = dialog.getRepositoryURL();
- ICommandStatus status = commander.addRepo(name, url);
- if (!status.isOk()) {
- return false;
+ // check to exist repository
+ for (Repository repo : repositories) {
+ if (repo.getUri().equals(url)) {
+ DialogUtil
+ .openMessageDialog(
+ String.format(resources.getString("PkgMgr.Msg.Repo.Exists"), repo.getName()));
+ return false;
+ }
}
+ // add a new repository
+ repositories.add(new Repository(name, url));
return true;
}
return false;
}
- Repository repos = (Repository) repoViewer.getTable().getItem(selectedIdx).getData();
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
ModifyRepoDialog dialog = new ModifyRepoDialog(shell,
- resources.getString("PkgMgr.Tab.Device"), repos.getName(), repos.getUri(), false);
+ resources.getString("PkgMgr.Tab.Device"), selectedRepository.getName(),
+ selectedRepository.getUri(), false);
if (dialog.open() != ModifyRepoDialog.OK) {
return false;
}
- ICommandStatus status = commander.removeRepo(repos.getName());
- if (!status.isOk()) {
+ String newUrl = dialog.getRepositoryURL();
+ // check to exist repository
+ for (Repository repo : repositories) {
+ if (repo.getUri().equals(newUrl)) {
+ DialogUtil
+ .openMessageDialog(
+ String.format(resources.getString("PkgMgr.Msg.Repo.Exists"), repo.getName()));
+ return false;
+ }
+ }
+ // modify the repository
+ for (Repository repo : repositories) {
+ if (selectedRepository.getUri().equals(repo.getUri())) {
+ repo.setUri(newUrl);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ protected boolean handleRemoveRepositoryButton() {
+ int selectedIdx = repoViewer.getTable().getSelectionIndex();
+ if (selectedIdx == -1) {
+ DialogUtil.openMessageDialog(resources.getString("PkgMgr.Message.Select.OnePackage"));
return false;
}
- status = commander.addRepo(dialog.getRepositoryName(), dialog.getRepositoryURL());
- if (!status.isOk()) {
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
+ int idx = 0;
+ boolean found = false;
+ // find target repository
+ for (Repository repo : repositories) {
+ if (selectedRepository.getUri().equals(repo.getUri())) {
+ found = true;
+ break;
+ }
+ idx++;
+ }
+ if (found) {
+ repositories.remove(idx);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ protected boolean handleMoveupRepositoryButton() {
+ int selectedIdx = repoViewer.getTable().getSelectionIndex();
+ if (selectedIdx == -1) {
+ DialogUtil.openMessageDialog(resources.getString("PkgMgr.Message.Select.OnePackage"));
return false;
}
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
+ int idx = 0;
+ Repository targetRepository = null;
+ for (Repository repo : repositories) {
+ if (selectedRepository.getUri().equals(repo.getUri())) {
+ targetRepository = repo;
+ break;
+ }
+ idx++;
+ }
+ if (idx <= 0) {
+ return false;
+ }
+ repositories.add(idx - 1, targetRepository);
+ repositories.remove(idx + 1);
return true;
}
- protected boolean handleRemoveRepositoryButton() {
+ protected boolean handleMovedownRepositoryButton() {
int selectedIdx = repoViewer.getTable().getSelectionIndex();
if (selectedIdx == -1) {
DialogUtil.openMessageDialog(resources.getString("PkgMgr.Message.Select.OnePackage"));
return false;
}
- Repository repos = (Repository) repoViewer.getTable().getItem(selectedIdx).getData();
- ICommandStatus status = commander.removeRepo(repos.getName());
- if (!status.isOk()) {
+ Repository selectedRepository = (Repository) repoViewer.getTable().getItem(selectedIdx)
+ .getData();
+ int idx = 0;
+ int maxIdx = repositories.size() - 1;
+ Repository targetRepository = null;
+ for (Repository repo : repositories) {
+ if (selectedRepository.getUri().equals(repo.getUri())) {
+ targetRepository = repo;
+ break;
+ }
+ idx++;
+ }
+ if (idx >= maxIdx) {
return false;
}
+ repositories.add(idx + 2, targetRepository);
+ repositories.remove(idx);
return true;
}
PkgMgr.Button.ModifyRepo = Modify
PkgMgr.Button.ModifyRepo.Tooltip = Modify a repository
PkgMgr.Button.RemoveRepo = Remove
-PkgMgr.Button.RemoveRepo.Tooltip = Remove the selected repositories
+PkgMgr.Button.RemoveRepo.Tooltip = Remove the selected repository
+PkgMgr.Button.MoverepoUp.Tooltip = Move the selected repository up
+PkgMgr.Button.MoverepoDown.Tooltip = Move the selected repository down
PkgMgr.Button.RefreshRepo = Refresh
PkgMgr.Button.RefreshRepo.Tooltip = Refresh remote package information
PkgMgr.Button.Upgrade = Upgrade
PkgMgr.Msg.Error.Failed.Mount = Failed to mount local repository!
PkgMgr.Msg.Error.Display.PkgProp = Failed to get package information!
PkgMgr.Msg.Upgrade.Notsupported = Upgrading is not supported yet.
+PkgMgr.Msg.Repo.Exists = The repository exists [%s]
+PkgMgr.Msg.Error.Addrepo = Failed to add repository
+PkgMgr.Msg.Error.Removerepo = Failed to remove repository
+PkgMgr.Msg.Error.Modifyrepo = Failed to modify repository
+PkgMgr.Msg.Error.MoverepoUp = Failed to move repository up
+PkgMgr.Msg.Error.MoverepoDown = Failed to move repository down
Action.Msg.Progress.Initializing.PkgMgr = Initializing Package Manager...
Action.Msg.Progress.Init.BuildSystem.Repo = Intializing repositories on build system...
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.tizen.nativecommon.build.SmartBuildInterface;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.util.CommandLauncher;
import org.tizen.nativeplatform.views.model.PlatformRootstrap;
final String rootstrapPath = SmartBuildInterface.getInstance().getPlatformRootstrapPath(
rootstrap.getPath().toOSString());
- Map<String, String> repos = rootstrap.getRepoMap();
- for (Entry<String, String> e : repos.entrySet()) {
- String url = e.getKey();
- String type = e.getValue();
+ List<Repository> repos = rootstrap.getRepoList();
+ for (Repository repo : repos) {
+ String url = repo.getUri();
+ String type = repo.getType();
if (RepoManager.isLocalType(type) && RepoManager.isLocalUrl(url)) {
IPath result = mountLocalRepository(rootstrapPath, url, monitor);
if (result != null) {
*/
public static List<IPath> umountLocalRepository(PlatformRootstrap rootstrap,
IProgressMonitor monitor) {
-
List<IPath> failedRepoPath = new ArrayList<IPath>();
- Map<String, String> repos = rootstrap.getRepoMap();
-
- for (Entry<String, String> e : repos.entrySet()) {
- String url = e.getKey();
- String type = e.getValue();
+ List<Repository> repos = rootstrap.getRepoList();
+ for (Repository repo : repos) {
+ String url = repo.getUri();
+ String type = repo.getType();
if (RepoManager.isLocalType(type) && RepoManager.isLocalUrl(url)) {
if (!umountLocalRepository(url, monitor)) {
failedRepoPath.add(getMountedRepoPath(url));
package org.tizen.nativeplatform.repo.commander;
-import java.util.HashMap;
-import java.util.Iterator;
+import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
import org.eclipse.core.runtime.IPath;
import org.tizen.nativecommon.build.SmartBuildInterface;
return result;
}
- public static Map<String, String> createRepeHashMap(List<String> repos) {
- Map<String, String> map = new HashMap<String, String>();
+ public static List<Repository> createRepoList(List<String> repos) {
+ List<Repository> repoList = new ArrayList<Repository>();
+ int idx = 0;
for (String repo : repos) {
+ String name = String.format("url%d", idx++);
repo = repo.trim();
if (isLocalUrl(repo)) {
- map.put(repo, RepoManager.LOCAL_REPO_TYPE);
+ repoList.add(new Repository(name, repo, RepoManager.LOCAL_REPO_TYPE));
} else {
- map.put(repo, RepoManager.REMOTE_REPO_TYPE);
+ repoList.add(new Repository(name, repo, RepoManager.REMOTE_REPO_TYPE));
}
}
- return map;
+ return repoList;
}
public static void addReposToRootstrap(PkgCommandTarget target) {
rootstrap.getPath().toOSString());
int idx = 0;
- Map<String, String> reposMap = rootstrap.getRepoMap();
- for (Entry<String, String> e : reposMap.entrySet()) {
- String url = e.getKey();
- String type = e.getValue();
+ List<Repository> repos = rootstrap.getRepoList();
+ for (Repository repo : repos) {
+ String url = repo.getUri();
+ String type = repo.getType();
String name = String.format("url%d", idx++);
if (RepoManager.isLocalType(type) && RepoManager.isLocalUrl(url)) {
IPath repoPath = LocalRepoMounter.mountLocalRepository(rootstrapPath, url, null);
package org.tizen.nativeplatform.repo.model;
public class Repository {
- private String name = "";
- private String uri = "";
- private boolean dirty = false;
- private boolean checkColumn = false;
-
- public Repository() {
-
- }
-
- public Repository( String name, String uri ) {
- this.name = name;
- this.uri = uri;
- }
-
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public String getUri()
- {
- return uri;
- }
-
- public void setUri(String uri)
- {
- this.uri = uri;
- }
-
- public boolean getCheckColumn()
- {
- return checkColumn;
- }
-
- public void setCheckColumn( boolean check )
- {
- this.checkColumn = check;
- }
-
- public boolean getCheckDirty()
- {
- return dirty;
- }
-
- public void setCheckDirty( boolean check )
- {
- this.dirty = check;
- }
+ private String name = "";
+ private String uri = "";
+ private String type = "";
+ private boolean dirty = false;
+ private boolean checkColumn = false;
+
+ public Repository() {
+ }
+
+ public Repository(String name, String uri) {
+ this.name = name;
+ this.uri = uri;
+ }
+
+ public Repository(String name, String uri, String type) {
+ this.name = name;
+ this.uri = uri;
+ this.type = type;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getUri() {
+ return uri;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public boolean getCheckColumn() {
+ return checkColumn;
+ }
+
+ public void setCheckColumn(boolean check) {
+ this.checkColumn = check;
+ }
+
+ public boolean getCheckDirty() {
+ return dirty;
+ }
+
+ public void setCheckDirty(boolean check) {
+ this.dirty = check;
+ }
}
import java.io.File;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.tizen.common.core.application.InstallPathConfig;
import org.tizen.nativecommon.build.SmartBuildInterface;
import org.tizen.nativeplatform.preferences.PreferencesManager;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.util.CommandLauncher;
import org.tizen.nativeplatform.util.RootstrapUtil;
import org.tizen.nativeplatform.views.model.PlatformRootstrap;
return latestTempRootstrap;
}
- public static boolean generate(String rootstrapPath, String arch, List<String> reposURLs,
+ public static boolean generate(String rootstrapPath, List<String> reposURLs, String arch,
IPath confFile, IProgressMonitor monitor) throws InterruptedException {
File rootstrapDir = new File(rootstrapPath);
String id = rootstrapDir.getName();
}
public static boolean generate(String rootstrapPath, String arch,
- Map<String, String> reposURLs, IPath confFile, IProgressMonitor monitor)
+ List<Repository> reposURLs, IPath confFile, IProgressMonitor monitor)
throws InterruptedException {
List<String> repos = new ArrayList<String>();
- Iterator<String> keySet = reposURLs.keySet().iterator();
-
- while (keySet.hasNext()) {
- repos.add(keySet.next());
+ for (Repository repo : reposURLs) {
+ repos.add(repo.getUri());
}
-
- return generate(rootstrapPath, arch, repos, confFile, monitor);
+ return generate(rootstrapPath, repos, arch, confFile, monitor);
}
public static void remove(String id, String arch) throws InterruptedException {
import org.tizen.nativecommon.build.model.SBIModel;
import org.tizen.nativeplatform.build.PlatformConfigurationManager;
import org.tizen.nativeplatform.repo.commander.RepoManager;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.util.CommandLauncher;
import org.tizen.nativeplatform.util.RootstrapUtil;
import org.tizen.nativeplatform.views.model.PlatformRootstrap;
String path = sbi.getRootstrapPathFromRootstrapID(id);
String version = sbi.getRootstrapVersionFromRootstrapID(id);
boolean isDefault = sbi.getIsDefaultFromRootstrapID(id);
- Map<String, String> reposURLs = new HashMap<String, String>();
+ List<Repository> reposURLs = new ArrayList<Repository>();
String rootstrapPath = sbi.getRootstrapPropertyValue(id,
PlatformRootstrap.PROPERTY_REPO_URLS);
String confFile = sbi.getRootstrapPropertyValue(id,
PlatformRootstrap.PROPERTY_CONFIGURATION_FILE);
if (rootstrapPath != null && rootstrapPath.split(URL_SEP_REGEXP).length >= 1) {
+ int idx = 0;
for (String url : rootstrapPath.split(URL_SEP_REGEXP)) {
+ String name = String.format("url%d", idx++);
if (RepoManager.isLocalUrl(url)) {
- reposURLs.put(url, RepoManager.LOCAL_REPO_TYPE);
+ reposURLs.add(new Repository(name, url, RepoManager.LOCAL_REPO_TYPE));
} else {
- reposURLs.put(url, RepoManager.REMOTE_REPO_TYPE);
+ reposURLs.add(new Repository(name, url, RepoManager.REMOTE_REPO_TYPE));
}
}
}
}
public static PlatformRootstrap generate(String name, String arch, String version,
- Map<String, String> reposURLs, boolean immediateGen, IPath confFile,
+ List<Repository> reposURLs, boolean immediateGen, IPath confFile,
IProgressMonitor monitor) throws InterruptedException {
boolean initialized = false;
return null;
}
- HashMap<String, String> reposURLs = new HashMap<String, String>();
+ List<Repository> reposURLs = new ArrayList<Repository>();
String urlStr = rootstrap.getPropertyValue(PlatformRootstrap.PROPERTY_REPO_URLS);
if (urlStr != null) {
+ int idx = 0;
for (String url : urlStr.split(URL_SEP_REGEXP)) {
+ String name = String.format("url%d", idx++);
if (RepoManager.isLocalUrl(url)) {
- reposURLs.put(url.trim(), RepoManager.LOCAL_REPO_TYPE);
+ reposURLs.add(new Repository(name, url.trim(), RepoManager.LOCAL_REPO_TYPE));
} else {
- reposURLs.put(url.trim(), RepoManager.REMOTE_REPO_TYPE);
+ reposURLs.add(new Repository(name, url.trim(), RepoManager.REMOTE_REPO_TYPE));
}
}
}
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.tizen.nativecommon.build.SmartBuildInterface;
import org.tizen.nativecommon.build.model.SBIModel;
import org.tizen.nativecommon.build.model.Target;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.util.RootstrapUtil;
import org.tizen.nativeplatform.views.model.PlatformRootstrap;
import org.w3c.dom.Attr;
protected static final Logger logger = LoggerFactory.getLogger(XMLPluginGenerator.class);
- public static boolean generate(String id, String name, String arch, String version, String path,
- List<String> reposURLs) {
- return generate(id, name, arch, version, path, reposURLs, null);
+ public static boolean generate(String id, String name, String arch, String version,
+ String path, List<String> reposURLs) {
+ return generate(id, name, arch, version, path, null, reposURLs);
}
- public static boolean generate(String id, String name, String arch, String version, String path,
- Map<String, String> reposURLs, IPath confFile) {
+ public static boolean generate(String id, String name, String arch, String version,
+ String path, List<Repository> reposURLs, IPath confFile) {
List<String> repos = new ArrayList<String>();
- Iterator<String> keySet = reposURLs.keySet().iterator();
-
- while (keySet.hasNext()) {
- repos.add(keySet.next());
+ for (Repository repo : reposURLs) {
+ repos.add(repo.getUri());
}
-
- return generate(id, name, arch, version, path, repos, confFile);
+ return generate(id, name, arch, version, path, confFile, repos);
}
- public static boolean generate(String id, String name, String arch, String version, String path,
- List<String> reposURLs, IPath confFile) {
+ public static boolean generate(String id, String name, String arch, String version,
+ String path, IPath confFile, List<String> reposURLs) {
return generate(id, name, arch, version, path, reposURLs, confFile, false);
}
- public static boolean generate(String id, String name, String arch, String version, String path,
- List<String> reposURLs, IPath confFile, boolean isDefault) {
+ public static boolean generate(String id, String name, String arch, String version,
+ String path, List<String> reposURLs, IPath confFile, boolean isDefault) {
IPath pluginPath = new Path(SmartBuildInterface.getInstance().getPluginPath());
IPath filePath = pluginPath.append(id + ".xml");
import java.io.File;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.tizen.nativecommon.build.model.Rootstrap;
import org.tizen.nativeplatform.repo.commander.LocalRepoMounter;
import org.tizen.nativeplatform.repo.commander.RepoManager;
+import org.tizen.nativeplatform.repo.model.Repository;
public class PlatformRootstrap extends Rootstrap implements ICheckTreeItem {
private String http_proxy;
private boolean checked;
private boolean initialized;
- private Map<String, String> reposURLs = new HashMap<String, String>();
+ private List<Repository> reposURLs = new ArrayList<Repository>();
private IPath confFile = null;
public static final String PROPERTY_REPO_URLS = "REPOSITORY_URLS";
public static final String PROPERTY_CONFIGURATION_FILE = "CONFIGURATION_FILE";
public static final String DEFAULT_VERSION = "1.0";
public PlatformRootstrap(String id, String name, String arch, String rootstrapPath,
- Map<String, String> reposURLs, IPath confFile, boolean initialized, boolean isDefault) {
- super(id, name, SUPPORTED_TOOLCHAIN_TYPE, DEFAULT_VERSION, arch, new Path(rootstrapPath), isDefault);
+ List<Repository> reposURLs, IPath confFile, boolean initialized, boolean isDefault) {
+ super(id, name, SUPPORTED_TOOLCHAIN_TYPE, DEFAULT_VERSION, arch, new Path(rootstrapPath),
+ isDefault);
this.reposURLs = reposURLs;
this.initialized = initialized;
this.confFile = confFile;
}
public PlatformRootstrap(String id, String name, String arch, String rootstrapPath,
- Map<String, String> reposURLs, String confFile, boolean initialized, boolean isDefault) {
- super(id, name, SUPPORTED_TOOLCHAIN_TYPE, DEFAULT_VERSION, arch, new Path(rootstrapPath), isDefault);
+ List<Repository> reposURLs, String confFile, boolean initialized, boolean isDefault) {
+ super(id, name, SUPPORTED_TOOLCHAIN_TYPE, DEFAULT_VERSION, arch, new Path(rootstrapPath),
+ isDefault);
this.reposURLs = reposURLs;
this.initialized = initialized;
if (confFile != null && !confFile.isEmpty()) {
}
public PlatformRootstrap(String id, String name, String arch, String version,
- String rootstrapPath, Map<String, String> reposURLs, String confFile,
+ String rootstrapPath, List<Repository> reposURLs, String confFile,
boolean initialized, boolean isDefault) {
super(id, name, SUPPORTED_TOOLCHAIN_TYPE, version, arch, new Path(rootstrapPath), isDefault);
this.reposURLs = reposURLs;
}
public PlatformRootstrap(String id, String name, String arch, String rootstrapPath,
- Map<String, String> reposURLs, String confFile, boolean initialized) {
- super(id, name, SUPPORTED_TOOLCHAIN_TYPE, DEFAULT_VERSION, arch, new Path(rootstrapPath), false);
+ List<Repository> reposURLs, String confFile, boolean initialized) {
+ super(id, name, SUPPORTED_TOOLCHAIN_TYPE, DEFAULT_VERSION, arch, new Path(rootstrapPath),
+ false);
this.reposURLs = reposURLs;
this.initialized = initialized;
if (confFile != null && !confFile.isEmpty()) {
return exists;
}
- public Map<String, String> getRepoMap() {
+ public List<Repository> getRepoList() {
return reposURLs;
}
public List<String> getJustRepoURLs() {
List<String> repos = new ArrayList<String>();
- Iterator<String> keySet = reposURLs.keySet().iterator();
-
- while (keySet.hasNext()) {
- repos.add(keySet.next());
+ for (Repository repo : reposURLs) {
+ repos.add(repo.getUri());
}
-
return repos;
}
+ public boolean modifyRepoURL(String url, String newUrl) {
+ for (Repository repo : reposURLs) {
+ if (repo.getUri().equals(url)) {
+ repo.setUri(newUrl);
+ return true;
+ }
+ }
+ return false;
+ }
+
public boolean addRepoURL(String url) {
if (RepoManager.isLocalUrl(url)) {
return addRepoURL(url, RepoManager.LOCAL_REPO_TYPE);
}
}
+ public boolean containRepository(String url) {
+ for (Repository repo : reposURLs) {
+ if (repo.getUri().equals(url)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public boolean addRepoURL(String url, String type) {
- boolean result = false;
if (type == null) {
type = RepoManager.REMOTE_REPO_TYPE;
}
- if (!reposURLs.containsKey(url)) {
- result = (reposURLs.put(url, type) != null) ? true : false;
+ for (Repository repo : reposURLs) {
+ if (repo.getUri().equals(url)) {
+ repo.setType(type);
+ return true;
+ }
}
- return result;
+ Repository newRepository = new Repository();
+ newRepository.setUri(url);
+ newRepository.setType(type);
+ reposURLs.add(newRepository);
+ return true;
}
- public boolean changeRepoURL(String fromUrl, String toUrl) {
- if (removeRepoURL(fromUrl)) {
- return addRepoURL(toUrl);
- } else {
- return false;
- }
+ public boolean removeRepoURL(String url) {
+ return removeRepoURL(url, RepoManager.getURLType(url));
}
- public boolean changeRepoURL(String fromUrl, String fromType, String toUrl, String toType) {
- if (removeRepoURL(fromUrl, fromType)) {
- return addRepoURL(toUrl, toType);
- } else {
- return false;
+ public Repository getRepository(String url) {
+ for (Repository repo : reposURLs) {
+ if (repo.getUri().equals(url)) {
+ return repo;
+ }
}
+ return null;
}
- public boolean changeRepoURL(String fromUrl, String toUrl, String toType) {
- if (removeRepoURL(fromUrl)) {
- return addRepoURL(toUrl, toType);
- } else {
+ public boolean moveupRepository(String url) {
+ int idx = 0;
+ Repository targetRepository = null;
+ for (Repository repo : reposURLs) {
+ if (url.equals(repo.getUri())) {
+ targetRepository = repo;
+ break;
+ }
+ idx++;
+ }
+ if (idx <= 0) {
return false;
}
+ reposURLs.add(idx - 1, targetRepository);
+ reposURLs.remove(idx + 1);
+ return true;
}
- public boolean removeRepoURL(String url) {
- return removeRepoURL(url, RepoManager.getURLType(url));
+ public boolean movedownRepository(String url) {
+ int idx = 0;
+ int maxIdx = reposURLs.size() - 1;
+ Repository targetRepository = null;
+ for (Repository repo : reposURLs) {
+ if (url.equals(repo.getUri())) {
+ targetRepository = repo;
+ break;
+ }
+ idx++;
+ }
+ if (idx >= maxIdx) {
+ return false;
+ }
+ reposURLs.add(idx + 2, targetRepository);
+ reposURLs.remove(idx);
+ return true;
}
public boolean removeRepoURL(String url, String type) {
- boolean result = false;
+ Repository targetRepo = null;
if (RepoManager.isLocalType(type)) {
if (LocalRepoMounter.umountLocalRepository(url, null)) {
- result = (reposURLs.remove(url) != null) ? true : false;
+ targetRepo = getRepository(url);
}
} else {
- result = (reposURLs.remove(url) != null) ? true : false;
+ targetRepo = getRepository(url);
+ }
+ if (targetRepo != null) {
+ reposURLs.remove(targetRepo);
+ } else {
+ return false;
}
- return result;
+ return true;
}
@Override
package org.tizen.nativeplatform.views.ui;
import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import org.tizen.nativeplatform.pkgmgr.ui.RPMPackageDialog;
import org.tizen.nativeplatform.repo.commander.LocalRepoMounter;
import org.tizen.nativeplatform.repo.commander.RepoManager;
+import org.tizen.nativeplatform.repo.model.Repository;
import org.tizen.nativeplatform.rootstrap.BaseFileSystemGenerator;
import org.tizen.nativeplatform.rootstrap.IRootstrapChangedListener;
import org.tizen.nativeplatform.rootstrap.RootstrapManager;
+import org.tizen.nativeplatform.util.CommandLauncher;
import org.tizen.nativeplatform.util.GBSArchitectureChecker;
import org.tizen.nativeplatform.util.PlatformProjectUtil;
import org.tizen.nativeplatform.views.model.PlatformRootstrap;
private IProject project;
private Shell shell;
+
+ private Map<String, Thread> threadMap = new HashMap<String, Thread>();
private static final String PLATFORM_PERSPECTIVE_ID = "org.tizen.nativeplatform.perspective";
}
private void showAddDialog() {
- // AddRootstrapDialog dlg = new AddRootstrapDialog(shell);
RootstrapGenDialog dlg = new RootstrapGenDialog(shell);
if (dlg.open() == RootstrapGenDialog.OK) {
String rootstrapName = dlg.getRootstrapName();
String arch = GBSArchitectureChecker.changeToSupportedArchitecture(dlg
.getSelectionTab().getArchitecture());
List<String> repositoryURLs = dlg.getSelectionTab().getRepositoryURLs();
- Map<String, String> repoURLs = RepoManager.createRepeHashMap(repositoryURLs);
+ List<Repository> repoURLs = RepoManager.createRepoList(repositoryURLs);
boolean immediateGen = dlg.getSelectionTab().isImmediateGenerateChecked();
IPath buildConfFile = dlg.getSelectionTab().getBuildConfFile();
}
private void genRootstrap(final String name, final String arch,
- final Map<String, String> repoURLs, final boolean immediateGen,
+ final List<Repository> repoURLs, final boolean immediateGen,
final IPath buildConfFile) {
// generate rootstrap here
resources.getString("GenRootDlg.Progress.Msg.Generating"),
-1);
if (!BaseFileSystemGenerator.generate(
- selected.getPath().toString(), selected.getArch(),
- selected.getJustRepoURLs(), selected.getConfFile(), monitor)) {
+ selected.getPath().toString(), selected.getJustRepoURLs(),
+ selected.getArch(), selected.getConfFile(), monitor)) {
throw new InterruptedException(
"Generating base file system failed!");
}