/** * tree에 새로운 항목 추가 * * @param userDB * @param defaultOpen default editor open */ public void addUserDB(UserDBDAO userDB, boolean defaultOpen) { for (ManagerListDTO dto : treeList) { if (dto.getName().equals(userDB.getGroup_name())) { dto.addLogin(userDB); if (defaultOpen) { selectAndOpenView(userDB); treeViewer.expandToLevel(userDB, 2); } return; } // end if(dto.getname().... } // end for // 신규 그룹이면... ManagerListDTO managerDto = new ManagerListDTO(userDB.getGroup_name()); managerDto.addLogin(userDB); treeList.add(managerDto); if (defaultOpen) { selectAndOpenView(userDB); treeViewer.expandToLevel(userDB, 2); } }
// MapReduceOutput mrOutput = null; private void goMapReduce( final DBCollection dbCol, final BasicDBObject basicObj, final MapReduceCommand.OutputType mrOType) { Job job = new Job("MapReduce search job") { // $NON-NLS-1$ @Override public IStatus run(IProgressMonitor monitor) { monitor.beginTask("Starting JSON query...", IProgressMonitor.UNKNOWN); // $NON-NLS-1$ try { // if(mrOType == MapReduceCommand.OutputType.INLINE) { // cmdResult = dbCol.getDB().command(basicObj, dbCol.getOptions()); // cmdResult.throwOnError(); // mrOutput = new MapReduceOutput(dbCol, basicObj, cmdResult); // } else { cmdResult = dbCol.getDB().command(basicObj); // cmdResult.throwOnError(); // mrOutput = new MapReduceOutput(dbCol, basicObj, cmdResult); // } if (!cmdResult.ok()) { throw cmdResult.getException(); } } catch (Exception e) { logger.error("mapreduce exception", e); // $NON-NLS-1$ return new Status( Status.WARNING, Activator.PLUGIN_ID, "mapreduce " + e.getMessage()); // $NON-NLS-1$ } finally { monitor.done(); } return Status.OK_STATUS; } }; // job의 event를 처리해 줍니다. job.addJobChangeListener( new JobChangeAdapter() { public void done(IJobChangeEvent event) { final IJobChangeEvent jobEvent = event; getSite() .getShell() .getDisplay() .asyncExec( new Runnable() { public void run() { if (jobEvent.getResult().isOK()) { try { Iterable<DBObject> iteResult = (Iterable<DBObject>) cmdResult.get("results"); compositeResult.refreshDBView(iteResult, 0); compositeResult.setResult(); } catch (Exception e) { logger.error("MapReduce Error", e); // $NON-NLS-1$ Status errStatus = new Status( IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); //$NON-NLS-1$ ExceptionDetailsErrorDialog.openError( null, "Error", "MapReduce execute exception", errStatus); //$NON-NLS-1$ //$NON-NLS-2$ } } else { // compositeResult.errorView(jobEvent.getResult().getMessage()); } } }); // end display.asyncExec } // end done }); // end job job.setName(userDB.getDisplay_name()); job.setUser(true); job.schedule(); }