Update of
/cvsroot/metamorphosis/ruper2/src/java/eclipse/org/krysalis/ruper2/eclipse/plugin/ui/browser
In directory
sc8-pr-cvs1:/tmp/cvs-serv28552/src/java/eclipse/org/krysalis/ruper2/eclipse/plugin/ui/browser
Modified Files:
Downloader.java RuperView.java
Log Message:
Browser action
Index: Downloader.java
===================================================================
RCS file:
/cvsroot/metamorphosis/ruper2/src/java/eclipse/org/krysalis/ruper2/eclipse/plugin/ui/browser/Downloader.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Downloader.java 24 Oct 2003 20:52:37 -0000 1.1
--- Downloader.java 27 Oct 2003 21:50:20 -0000 1.2
***************
*** 6,12 ****
--- 6,20 ----
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
+ import java.util.Iterator;
+ import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.operation.IRunnableWithProgress;
+ import org.krysalis.ruper2.RuperException;
+ import org.krysalis.ruper2.eclipse.EclipseFileUpdater;
+ import org.krysalis.ruper2.eclipse.util.RuperEclipseHelper;
+ import org.krysalis.ruper2.impl.RepositoryObject;
+ import org.krysalis.ruper2.impl.RepositoryResourceObject;
+ import org.krysalis.version.log.Logger;
/**
***************
*** 15,19 ****
--- 23,29 ----
public class Downloader implements IRunnableWithProgress {
+ private EclipseFileUpdater m_eclipseRuper;
private ArrayList m_resourcesToDownload;
+ private String m_targetRepository;
/**
***************
*** 22,26 ****
public Downloader() {
super();
! // TODO Auto-generated constructor stub
}
--- 32,48 ----
public Downloader() {
super();
! getFileUpdater();
! }
!
! private void getFileUpdater(){
! if(this.m_eclipseRuper == null){
!
! try {
! m_eclipseRuper =
EclipseFileUpdater.getEclipseFileUpdater();
! }
! catch (RuperException e) {
! Logger.getLogger().error("Couldn't get Eclipse
file upader", e);
! }
! }
}
***************
*** 28,34 ****
throws InvocationTargetException, InterruptedException
{
! // TODO download concept
}
/**
* @param list
--- 50,94 ----
throws InvocationTargetException, InterruptedException
{
! // Get the groups info from the ResourceObjets
! List resources = getResources();
!
! // set the target repository
!
m_eclipseRuper.setDefaultTargetRepository(this.m_targetRepository);
!
! try {
! m_eclipseRuper.downloadResources(resources);
! }
! catch (RuperException e) {
! Logger.getLogger().error("Error downloading the
resources", e);
! }
!
}
+ private List getResources(){
+
+ List resources = null;
+
+ if(m_resourcesToDownload != null){
+
+ resources = new ArrayList();
+
+ for(Iterator iterator=m_resourcesToDownload.iterator();
iterator.hasNext();){
+ // loop through and get the info
+ RepositoryObject repositoryObject =
(RepositoryObject)iterator.next();
+
+ int type = repositoryObject.getType();
+
+ if(type == RepositoryObject.RESOURCE){
+ RepositoryResourceObject resourceObject
= (RepositoryResourceObject)repositoryObject;
+
+
resources.add(resourceObject.getResource());
+ }
+ }
+
+ }
+ return resources;
+ }
+
+
/**
* @param list
***************
*** 36,39 ****
--- 96,120 ----
public void setResourcesToDownload(ArrayList list) {
m_resourcesToDownload = list;
+ }
+
+ /**
+ * @return
+ */
+ public ArrayList getResourcesToDownload() {
+ return m_resourcesToDownload;
+ }
+
+ /**
+ * @return
+ */
+ public String getTargetRepository() {
+ return m_targetRepository;
+ }
+
+ /**
+ * @param string
+ */
+ public void setTargetRepository(String string) {
+ m_targetRepository = string;
}
Index: RuperView.java
===================================================================
RCS file:
/cvsroot/metamorphosis/ruper2/src/java/eclipse/org/krysalis/ruper2/eclipse/plugin/ui/browser/RuperView.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** RuperView.java 24 Oct 2003 20:52:37 -0000 1.3
--- RuperView.java 27 Oct 2003 21:50:20 -0000 1.4
***************
*** 9,22 ****
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.Action;
- import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
! import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
- import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.ICheckStateListener;
- import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
--- 9,19 ----
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
! import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
***************
*** 26,30 ****
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
- import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.ISharedImages;
--- 23,26 ----
***************
*** 34,39 ****
import org.krysalis.ruper2.eclipse.EclipseFileUpdater;
import org.krysalis.ruper2.eclipse.plugin.RuperPlugin;
import org.krysalis.ruper2.repository.IRepository;
- import org.krysalis.ruper2.repository.RepositoryObject;
import org.krysalis.version.log.Logger;
--- 30,36 ----
import org.krysalis.ruper2.eclipse.EclipseFileUpdater;
import org.krysalis.ruper2.eclipse.plugin.RuperPlugin;
+ import org.krysalis.ruper2.eclipse.util.RuperEclipseHelper;
+ import org.krysalis.ruper2.impl.RepositoryObject;
import org.krysalis.ruper2.repository.IRepository;
import org.krysalis.version.log.Logger;
***************
*** 63,67 ****
private RepositoryObject m_rootInput;
! private Action downloadAction;
class ViewContentProvider implements ITreeContentProvider {
--- 60,64 ----
private RepositoryObject m_rootInput;
! private Action m_downloadAction;
class ViewContentProvider implements ITreeContentProvider {
***************
*** 88,96 ****
public Object[] getChildren(Object parent) {
try {
if (parent instanceof RepositoryObject) {
! return ((RepositoryObject)
parent).getChildrenArray();
}
else if
(parent.equals(ResourcesPlugin.getWorkspace())) {
! return m_rootInput.getChildrenArray();
}
}
--- 85,113 ----
public Object[] getChildren(Object parent) {
try {
+ Object[] children;
+
if (parent instanceof RepositoryObject) {
! // get cached children
! children = ((RepositoryObject)
parent).getCachedChildrenArray();
! if(children != null){
! return children;
! }
!
! LoadingThread loader = new
LoadingThread("LOADER");
!
loader.setRepositoryObject((RepositoryObject) parent);
! loader.start();
! return new Object[]{"Loading ... "};
}
else if
(parent.equals(ResourcesPlugin.getWorkspace())) {
! // get cached children
! children =
m_rootInput.getCachedChildrenArray();
! if(children != null){
! return children;
! }
! LoadingThread loader = new
LoadingThread("LOADER");
! loader.setRepositoryObject(m_rootInput);
! loader.start();
! return new Object[]{"Loading ... "};
!
}
}
***************
*** 183,193 ****
m_viewer.addCheckStateListener(this);
makeActions();
- hookContextMenu();
- hookDoubleClickAction();
contributeToActionBars();
}
private void makeActions(){
! this.downloadAction = new Action()
{
public void run()
--- 200,208 ----
m_viewer.addCheckStateListener(this);
makeActions();
contributeToActionBars();
}
private void makeActions(){
! m_downloadAction = new Action()
{
public void run()
***************
*** 209,219 ****
downloader.setResourcesToDownload(resourcesToDownload);
ProgressMonitorDialog monitorDlg = new
ProgressMonitorDialog(RuperPlugin.getShell());
IProgressMonitor progressMonitor =
monitorDlg.getProgressMonitor();
- // TODO run
-
try {
monitorDlg.run(true, true, downloader);
}
catch (InvocationTargetException e) {
--- 224,238 ----
downloader.setResourcesToDownload(resourcesToDownload);
+ // show an input dialog to let the user enter
target rep
+ String targetRepository =
RuperEclipseHelper.directoryBrowse();
+
downloader.setTargetRepository(targetRepository);
+
ProgressMonitorDialog monitorDlg = new
ProgressMonitorDialog(RuperPlugin.getShell());
IProgressMonitor progressMonitor =
monitorDlg.getProgressMonitor();
try {
monitorDlg.run(true, true, downloader);
+ RuperEclipseHelper.messageDialog("Files
are downloaded, refresh " + targetRepository +" to see the files");
+
}
catch (InvocationTargetException e) {
***************
*** 224,256 ****
}
}
};
}
! private void hookContextMenu() {
! MenuManager menuMgr = new MenuManager("#PopupMenu");
! menuMgr.setRemoveAllWhenShown(true);
! menuMgr.addMenuListener(new IMenuListener() {
! public void menuAboutToShow(IMenuManager manager) {
! // RuperView.this.fillContextMenu(manager);
! }
! });
! Menu menu = menuMgr.createContextMenu(m_viewer.getControl());
! m_viewer.getControl().setMenu(menu);
! getSite().registerContextMenu(menuMgr, m_viewer);
! }
! private void contributeToActionBars() {
! IActionBars bars = getViewSite().getActionBars();
! }
! private void hookDoubleClickAction() {
! m_viewer.addDoubleClickListener(new IDoubleClickListener() {
! public void doubleClick(DoubleClickEvent event) {
! // doubleClickAction.run();
! }
! });
! }
private void showMessage(String message) {
--- 243,271 ----
}
}
+
};
+ m_downloadAction.setText("Download");
+ m_downloadAction.setToolTipText("Ruper2 Download");
+ m_downloadAction.setImageDescriptor(
+
PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
+ ISharedImages.IMG_OBJS_TASK_TSK));
+
}
! private void contributeToActionBars() {
! IActionBars bars = getViewSite().getActionBars();
! fillLocalPullDown(bars.getMenuManager());
! fillLocalToolBar(bars.getToolBarManager());
! }
! private void fillLocalPullDown(IMenuManager manager) {
! manager.add(this.m_downloadAction);
! }
! private void fillLocalToolBar(IToolBarManager manager) {
! manager.add(this.m_downloadAction);
! }
private void showMessage(String message) {
***************
*** 327,331 ****
RepositoryObject childElement=
(RepositoryObject)children[i];
! if (elementState){
if (! m_viewer.getChecked(childElement)){
if(i != 0 )
--- 342,346 ----
RepositoryObject childElement=
(RepositoryObject)children[i];
! if (checked){
if (! m_viewer.getChecked(childElement)){
if(i != 0 )
***************
*** 337,341 ****
}
! if (! elementState){
if (m_viewer.getChecked(childElement)){
if(i != 0 )
--- 352,356 ----
}
! if (! checked){
if (m_viewer.getChecked(childElement)){
if(i != 0 )
***************
*** 371,373 ****
--- 386,418 ----
}
+ class LoadingThread extends Thread {
+
+ RepositoryObject repositoryObject;
+ Object[] result;
+
+ public LoadingThread(String name){
+ super(name);
+ }
+
+ public void setRepositoryObject(RepositoryObject repoObj){
+ repositoryObject = repoObj;
+ }
+
+ public Object[] getResult(){
+ return result;
+ }
+
+ public void run(){
+ try {
+ result = repositoryObject.getChildrenArray();
+ m_viewer.refresh(repositoryObject);
+ }
+ catch (RuperException e) {
+
+ Logger.getLogger().error("Error loading from
repository, "
+ +
repositoryObject.getName());
+ result = new Object[]{"Error loading..."};
+ }
+ }
+ }
}
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
|