ruper2/src/java/eclipse/org/krysalis/ruper2/eclipse/plugin/ui/browser Downloader.java,1.1,1.2 RuperView.java,1.3,1.4

[email protected]
Newsgroups gmane.comp.krysalis.metamorphosis.cvs
Message-ID <[email protected]>
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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.