// -------------------------------------------------------------------------------- private void drawItem(String parentFieldName, TreeItem parentItem, List data, boolean expand) { for (int i = 0; i < data.size(); ++i) { TreeItem newItem = new TreeItem(parentItem, SWT.NONE); Object value = data.get(i); newItem.setText(1, getClassName(value)); String fieldName = parentFieldName + "." + i; if (fieldName.startsWith(".")) { fieldName = fieldName.substring(1); } newItem.setData("fieldName", fieldName); newItem.setData("value", value); fieldNameTreeItemMap.put(fieldName, newItem); if (value instanceof Map) { newItem.setText("[" + i + "]"); newItem.setImage(mapImage); drawItem(fieldName, newItem, (Map) value, expand); } else if (value instanceof List) { newItem.setText("[" + i + "]"); newItem.setImage(listImage); drawItem(fieldName, newItem, (List) value, expand); } else { setItemInfo(newItem, "[" + i + "]", value); } if (expand) { parentItem.setExpanded(expand); newItem.setExpanded(expand); } } }
public AuthenticatorWindow() { SESecurityManager.addPasswordListener(this); // System.out.println( "AuthenticatorWindow"); Map cache = COConfigurationManager.getMapParameter(CONFIG_PARAM, new HashMap()); try { Iterator it = cache.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); String key = (String) entry.getKey(); Map value = (Map) entry.getValue(); String user = new String((byte[]) value.get("user"), "UTF-8"); char[] pw = new String((byte[]) value.get("pw"), "UTF-8").toCharArray(); auth_cache.put(key, new authCache(key, new PasswordAuthentication(user, pw), true)); } } catch (Throwable e) { COConfigurationManager.setParameter(CONFIG_PARAM, new HashMap()); Debug.printStackTrace(e); } }
// -------------------------------------------------------------------------------- private void drawItem(String parentFieldName, TreeItem parentItem, Map data, boolean expand) { Iterator p = data.keySet().iterator(); while (p.hasNext()) { String key = (String) p.next(); if (!data.containsKey(key)) { continue; } Object value = data.get(key); TreeItem newItem = new TreeItem(parentItem, SWT.NONE); newItem.setText(1, getClassName(value)); String fieldName = parentFieldName + "." + key; if (fieldName.startsWith(".")) { fieldName = fieldName.substring(1); } newItem.setData("fieldName", fieldName); newItem.setData("value", value); fieldNameTreeItemMap.put(fieldName, newItem); if (value == null) { newItem.setText(key + " : null"); newItem.setImage(nullImage); } else if (value instanceof Map) { newItem.setText(key); newItem.setImage(mapImage); drawItem(fieldName, newItem, (Map) value, expand); } else if (value instanceof List) { newItem.setText(key); newItem.setImage(listImage); drawItem(fieldName, newItem, (List) value, expand); } else { setItemInfo(newItem, key, value); } if (expand) { parentItem.setExpanded(expand); newItem.setExpanded(expand); } } }
// -------------------------------------------------------------------------------- private void drawTreeRoot(Tree _tree, DBObject data) { // reset tree _tree.removeAll(); if (data != null) { TreeItem root = new TreeItem(_tree, SWT.NONE); root.setText(data.get("_id") + ""); root.setImage(documentImage); root.setData("fieldName", ""); root.setData("value", data.get("_id")); fieldNameTreeItemMap.put("", root); boolean expand = (data.keySet().size() < 35); drawItem("", root, data.toMap(), expand); } nameText.setText(""); typeCombo.select(0); typeCombo.setEnabled(false); valueText.setText(""); updateButton.setEnabled(false); }
// -------------------------------------------------------------------------------- public void init2() { parent.setLayout(new FormLayout()); sashForm = new SashForm(parent, SWT.SMOOTH | SWT.VERTICAL); FormData fd_sashForm1 = new FormData(); fd_sashForm1.top = new FormAttachment(0, 1); fd_sashForm1.left = new FormAttachment(0, 1); fd_sashForm1.right = new FormAttachment(100, -1); fd_sashForm1.bottom = new FormAttachment(100, -1); sashForm.setLayoutData(fd_sashForm1); tree = new Tree(sashForm, SWT.BORDER | SWT.FULL_SELECTION); tree.setHeaderVisible(true); FormData d1 = new FormData(); d1.top = new FormAttachment(0, 1); d1.left = new FormAttachment(0, 1); d1.right = new FormAttachment(100, -1); d1.bottom = new FormAttachment(100, -1); tree.setLayoutData(d1); TreeColumn column1 = new TreeColumn(tree, SWT.LEFT); TreeColumn column2 = new TreeColumn(tree, SWT.LEFT); column2.setText("Data Type"); editorComposite = new Composite(sashForm, SWT.BORDER); editorComposite.addControlListener( new ControlAdapter() { public void controlResized(ControlEvent e) { onSashResize(); } }); FormData fd_composite1 = new FormData(); fd_composite1.top = new FormAttachment(0, 1); fd_composite1.bottom = new FormAttachment(0, 35); fd_composite1.right = new FormAttachment(100, -1); fd_composite1.left = new FormAttachment(0, 1); editorComposite.setLayoutData(fd_composite1); editorComposite.setLayout(new FormLayout()); Label nameLabel = new Label(editorComposite, SWT.NONE); FormData fd_nameLabel = new FormData(); fd_nameLabel.right = new FormAttachment(0, 66); fd_nameLabel.bottom = new FormAttachment(0, 32); fd_nameLabel.top = new FormAttachment(0, 12); fd_nameLabel.left = new FormAttachment(0, 10); nameLabel.setLayoutData(fd_nameLabel); nameLabel.setText("Name :"); Label valueLabel = new Label(editorComposite, SWT.NONE); FormData fd_valueLabel = new FormData(); fd_valueLabel.top = new FormAttachment(nameLabel, 15); fd_valueLabel.left = new FormAttachment(0, 10); fd_valueLabel.bottom = new FormAttachment(nameLabel, 34, SWT.BOTTOM); fd_valueLabel.right = new FormAttachment(nameLabel, 0, SWT.RIGHT); valueLabel.setLayoutData(fd_valueLabel); valueLabel.setText("Value :"); valueText = new Text( editorComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CANCEL | SWT.MULTI); valueText.addModifyListener( new ModifyListener() { public void modifyText(ModifyEvent e) { verifyData(); } }); valueText.setEnabled(false); valueText.setEditable(false); FormData fd_valueText = new FormData(); fd_valueText.top = new FormAttachment(nameLabel, 5); fd_valueText.bottom = new FormAttachment(100, -80); fd_valueText.right = new FormAttachment(100, -20); fd_valueText.left = new FormAttachment(valueLabel, 0, SWT.RIGHT); valueText.setLayoutData(fd_valueText); updateButton = new Button(editorComposite, SWT.NONE); updateButton.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { onUpdateButtonSelect(); } }); updateButton.setEnabled(false); FormData fd_updateButton = new FormData(); fd_updateButton.left = new FormAttachment(100, -120); fd_updateButton.right = new FormAttachment(valueText, 0, SWT.RIGHT); updateButton.setLayoutData(fd_updateButton); updateButton.setText("Update"); typeCombo = new Combo(editorComposite, SWT.READ_ONLY); fd_updateButton.top = new FormAttachment(typeCombo, 10); typeCombo.setEnabled(false); FormData fd_typeList = new FormData(); fd_typeList.left = new FormAttachment(valueText, 0, SWT.LEFT); fd_typeList.top = new FormAttachment(valueText, 5, SWT.BOTTOM); // fd_typeList.bottom = new FormAttachment(valueText, 30, SWT.BOTTOM); fd_typeList.right = new FormAttachment(valueText, 170, SWT.LEFT); typeCombo.setLayoutData(fd_typeList); typeCombo.add("Double"); typeCombo.add("Integer"); typeCombo.add("Long"); typeCombo.add("String"); typeCombo.add("List (BasicDBList)"); typeCombo.add("Map (BasicDBObject)"); typeCombo.add("Date"); typeCombo.add("ObjectId"); typeCombo.add("JavaScript code"); typeCombo.add("Binary data"); typeCombo.add("Boolean"); typeCombo.add("Null"); typeCombo.add("Regular expression"); typeCombo.add("Symbol"); typeCombo.add("JavaScript code with scope"); typeCombo.add("Timestamp"); typeCombo.add("Min key"); typeCombo.add("Max key"); typeCombo.addListener(SWT.Selection, this); typeComboIndexMap.put(Double.class, new Integer(0)); typeComboIndexMap.put(Integer.class, new Integer(1)); typeComboIndexMap.put(Long.class, new Integer(2)); typeComboIndexMap.put(String.class, new Integer(3)); typeComboIndexMap.put(com.mongodb.BasicDBList.class, new Integer(4)); typeComboIndexMap.put(com.mongodb.BasicDBObject.class, new Integer(5)); typeComboIndexMap.put(java.util.Date.class, new Integer(6)); typeComboIndexMap.put(org.bson.types.ObjectId.class, new Integer(7)); typeComboIndexMap.put(org.bson.types.Code.class, new Integer(8)); typeComboIndexMap.put(byte[].class, new Integer(9)); typeComboIndexMap.put(Boolean.class, new Integer(10)); typeComboIndexMap.put(java.util.regex.Pattern.class, new Integer(12)); typeComboIndexMap.put(org.bson.types.Symbol.class, new Integer(13)); typeComboIndexMap.put(org.bson.types.CodeWScope.class, new Integer(14)); typeComboIndexMap.put(org.bson.types.BSONTimestamp.class, new Integer(15)); typeComboIndexMap.put(org.bson.types.MinKey.class, new Integer(16)); typeComboIndexMap.put(org.bson.types.MaxKey.class, new Integer(17)); Label typeLabel = new Label(editorComposite, SWT.NONE); FormData fd_typeLabel = new FormData(); fd_typeLabel.top = new FormAttachment(typeCombo, 3, SWT.TOP); fd_typeLabel.left = new FormAttachment(nameLabel, 0, SWT.LEFT); typeLabel.setLayoutData(fd_typeLabel); typeLabel.setText("Type :"); nameText = new Text(editorComposite, SWT.READ_ONLY); nameText.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); FormData fd_nameText = new FormData(); fd_nameText.top = new FormAttachment(nameLabel, -2, SWT.TOP); fd_nameText.left = new FormAttachment(valueText, 0, SWT.LEFT); fd_nameText.right = new FormAttachment(valueText, 0, SWT.RIGHT); nameText.setLayoutData(fd_nameText); MSwtUtil.getTreeColumnWidthFromProperties("documentTree", tree, prop, new int[] {150, 150}); // listeners tree.addListener(SWT.MouseDoubleClick, this); tree.addListener(SWT.Selection, this); tree.addListener(SWT.KeyDown, this); MSwtUtil.addListenerToTreeColumns2(tree, this); documentImage = MUtil.getImage(parent.getShell().getDisplay(), "table.png"); oidImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_star.png"); intImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_blue.png"); longImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_red.png"); doubleImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_orange.png"); stringImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_green.png"); dateImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_white.png"); boolImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_yellow.png"); listImage = MUtil.getImage(parent.getShell().getDisplay(), "stop_blue.png"); mapImage = MUtil.getImage(parent.getShell().getDisplay(), "stop_green.png"); nullImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_black.png"); jsImage = MUtil.getImage(parent.getShell().getDisplay(), "bullet_right.png"); if (prop.containsKey(DOCUMENT_COMPOSITE_WEIGHT)) { (new Thread() { public void run() { // System.out.println( "e" ); MSystemUtil.sleep(0); // System.out.println( "a" ); shell .getDisplay() .asyncExec( new Runnable() { public void run() { // ---- // debug( "--" + prop.getIntArrayProperty( DOCUMENT_COMPOSITE_WEIGHT )[ 0 // ] ); sashForm.setWeights(prop.getIntArrayProperty(DOCUMENT_COMPOSITE_WEIGHT)); } }); // ---- } }) .start(); } else { sashForm.setWeights(new int[] {70, 30}); } initializedTime = System.currentTimeMillis(); }
public PasswordAuthentication getAuthentication( String realm, String protocol, String host, int port) { try { this_mon.enter(); String tracker = protocol + "://" + host + ":" + port + "/"; InetAddress bind_ip = NetworkAdmin.getSingleton().getSingleHomedServiceBindAddress(); String self_addr; // System.out.println( "auth req for " + realm + " - " + tracker ); if (bind_ip == null || bind_ip.isAnyLocalAddress()) { self_addr = "127.0.0.1"; } else { self_addr = bind_ip.getHostAddress(); } // when the tracker is connected to internally we don't want to prompt // for the password. Here we return a special user and the password hash // which is picked up in the tracker auth code - search for "<internal>"! // also include the tracker IP as well as for scrapes these can occur on // a raw torrent which hasn't been modified to point to localhost if (host.equals(self_addr) || host.equals(COConfigurationManager.getStringParameter("Tracker IP", ""))) { try { byte[] pw = COConfigurationManager.getByteParameter("Tracker Password", new byte[0]); String str_pw = new String(Base64.encode(pw)); return (new PasswordAuthentication("<internal>", str_pw.toCharArray())); } catch (Throwable e) { Debug.printStackTrace(e); } } String auth_key = realm + ":" + tracker; authCache cache = (authCache) auth_cache.get(auth_key); if (cache != null) { PasswordAuthentication auth = cache.getAuth(); if (auth != null) { return (auth); } } String[] res = getAuthenticationDialog(realm, tracker); if (res == null) { return (null); } else { PasswordAuthentication auth = new PasswordAuthentication(res[0], res[1].toCharArray()); boolean save_pw = res[2].equals("true"); boolean old_entry_existed = auth_cache.put(auth_key, new authCache(auth_key, auth, save_pw)) != null; if (save_pw || old_entry_existed) { saveAuthCache(); } return (auth); } } finally { this_mon.exit(); } }