private void ListSubDirectorySizes(File file) { File[] files; files = file.listFiles( new FileFilter() { @Override public boolean accept(File file) { // if (!file.isDirectory()){ // return false; //To change body of implemented methods use // File | Settings | File Templates. // }else{ // return true; // } return true; } }); Map<String, Long> dirListing = new HashMap<String, Long>(); for (File dir : files) { DiskUsage diskUsage = new DiskUsage(); diskUsage.accept(dir); // long size = diskUsage.getSize() / (1024 * 1024); long size = diskUsage.getSize(); dirListing.put(dir.getName(), size); } ValueComparator bvc = new ValueComparator(dirListing); TreeMap<String, Long> sorted_map = new TreeMap<String, Long>(bvc); sorted_map.putAll(dirListing); PrettyPrint(file, sorted_map); }
/** * Update the dialog contents. * * @param jheader The job portion of the dialog header. * @param job The queue job. * @param info The current job status information. */ public void updateContents( String jheader, QueueJob job, QueueJobInfo info, SubProcessExecDetails details) { ActionAgenda agenda = job.getActionAgenda(); QueueJobResults results = info.getResults(); String dir = "-"; if ((agenda != null) && (info.getOsType() != null)) dir = agenda.getTargetPath(info.getOsType()).toString(); String hostname = ""; if (info.getHostname() != null) hostname = (" [" + info.getHostname() + "]"); String command = "-"; if (details != null) command = details.getCommand(); TreeMap<String, String> env = new TreeMap<String, String>(); if (details != null) env = details.getEnvironment(); setHeader("Execution Details -" + jheader + hostname); pWorkingDirField.setText(dir); BaseAction action = job.getAction(); pCommandLineLabel.setText( "Action Command: " + action.getName() + " (v" + action.getVersionID() + ")"); pCommandLineArea.setText(command); { Component comps[] = UIFactory.createTitledPanels(); { JPanel tpanel = (JPanel) comps[0]; JPanel vpanel = (JPanel) comps[1]; if (!env.isEmpty()) { String last = env.lastKey(); for (String key : env.keySet()) { String value = env.get(key); JTextField field = UIFactory.createTitledTextField(tpanel, key + ":", sTSize, vpanel, value, sVSize); field.setHorizontalAlignment(JLabel.LEFT); if (!key.equals(last)) UIFactory.addVerticalSpacer(tpanel, vpanel, 3); } } else { tpanel.add(Box.createRigidArea(new Dimension(sTSize, 0))); vpanel.add(Box.createHorizontalGlue()); } } pEnvLabel.setText("Toolset Environment: " + agenda.getToolset()); pEnvScroll.setViewportView(comps[2]); } }
/** Replace working files with the selected checked-in files. */ @Override public void doApply() { super.doApply(); if (pIsFrozen) return; TreeMap<String, VersionID> files = new TreeMap<String, VersionID>(); for (JFileSeqPanel panel : pFileSeqPanels.values()) files.putAll(panel.getFilesToRevert()); RevertTask task = new RevertTask(files); task.start(); }
public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; bg.paintIcon(this, g2, 0, 0); TreeMap<Integer, FactoryObject> to = (TreeMap<Integer, FactoryObject>) fos.clone(); for (Integer i : to.keySet()) { FactoryObject t = to.get(i); if (t.getIsLine()) { g2.setColor(Color.WHITE); g2.drawLine(t.getPositionX(), t.getPositionY(), t.getPositionXF(), t.getPositionYF()); } else { if (t.getImageIndex() >= 0) { ImageIcon tmp = images.getIcon(t.getImageIndex()); tmp.paintIcon(this, g2, t.getPositionX(), t.getPositionY()); } } } }
private void PrettyPrint(File file, TreeMap<String, Long> sortedMap) { // Long size = 0L; // ArrayList<Long> values = new ArrayList<Long>(sortedMap.values()); Long total = 0L; for (Long value : sortedMap.values()) { total = total + value; // Can also be done by total += value; } log.append(file.getName() + ": " + readableFileSize(total) + "\n\n"); for (Map.Entry<String, Long> entry : sortedMap.entrySet()) { log.append("[ " + readableFileSize(entry.getValue()) + " ]"); log.append(" --> " + entry.getKey() + "\n"); } // log.append(sortedMap + "\n"); }
public void syncChanges(ArrayList<TreeMap<Integer, FactoryObject>> dataArray) { if (dataArray.size() == 1) { TreeMap<Integer, FactoryObject> changeData = dataArray.get(0); fos.clear(); fos = changeData; } else { System.out.println("Warning: Corrupt frame data"); } repaint(); }
/** Code completion. */ private void complete() { if (selected()) return; // find first character final int caret = editor.pos(), startPos = editor.completionStart(); final String prefix = string(substring(editor.text(), startPos, caret)); if (prefix.isEmpty()) return; // find insertion candidates final TreeMap<String, String> tmp = new TreeMap<>(); for (final Entry<String, String> entry : REPLACE.entrySet()) { final String key = entry.getKey(); if (key.startsWith(prefix)) tmp.put(key, entry.getValue()); } if (tmp.size() == 1) { // insert single candidate complete(tmp.values().iterator().next(), startPos); } else if (!tmp.isEmpty()) { // show popup menu final JPopupMenu pm = new JPopupMenu(); final ActionListener al = new ActionListener() { @Override public void actionPerformed(final ActionEvent ae) { complete(ae.getActionCommand().replaceAll("^.*?\\] ", ""), startPos); } }; for (final Entry<String, String> entry : tmp.entrySet()) { final JMenuItem mi = new JMenuItem("[" + entry.getKey() + "] " + entry.getValue()); pm.add(mi); mi.addActionListener(al); } pm.addSeparator(); final JMenuItem mi = new JMenuItem(Text.INPUT + Text.COLS + prefix); mi.setEnabled(false); pm.add(mi); final int[] cursor = rend.cursor(); pm.show(this, cursor[0], cursor[1]); // highlight first entry final MenuElement[] me = {pm, (JMenuItem) pm.getComponent(0)}; MenuSelectionManager.defaultManager().setSelectedPath(me); } }
// client specific public void mergeChanges( ArrayList<TreeMap<Integer, Boolean>> mapArray, ArrayList<TreeMap<Integer, FactoryObject>> dataArray) { if (mapArray.size() == 1) { TreeMap<Integer, Boolean> changeMap = mapArray.get(0); TreeMap<Integer, FactoryObject> changeData = dataArray.get(0); // iterate over all the keys present in changeMap // after this loop is complete, the frameAnimationData map will be accurately synced with the // server copy Set<Integer> t = changeMap.keySet(); for (Integer i : t) { if (changeMap.get(i)) { fos.put(i, changeData.get(i)); } else { fos.remove(i); } } } else { System.out.println("Warning: Corrupt frame data"); } repaint(); }
@Override public void run() { UIMaster master = UIMaster.getInstance(); MasterMgrClient client = master.acquireMasterMgrClient(); long monitorID = -1L; try { DoubleMap<String, VersionID, Long> data = null; long opID = master.beginDialogOp("Calculating File Sizes..."); master.setDialogOpCancelClient(opID, client); monitorID = client.addMonitor(new DialogOpMonitor(opID)); try { data = client.getArchivedSizes(pVersions); } catch (PipelineException ex) { showErrorDialog(ex); } finally { master.endDialogOp(opID, "File Sizes Calculated."); } /* merge existing and new sizes */ if (data != null) { for (String name : pData.keySet()) { TreeMap<VersionID, Long> oversions = pData.get(name); TreeMap<VersionID, Long> versions = data.get(name); if (versions == null) { data.put(name, oversions); } else { for (VersionID vid : oversions.keySet()) { if (versions.get(vid) == null) versions.put(vid, oversions.get(vid)); } } } UpdateSizesTask task = new UpdateSizesTask(data); SwingUtilities.invokeLater(task); } } finally { client.removeMonitor(monitorID); master.releaseMasterMgrClient(client); } }
/** Add the UI components for the given file sequence to the panel. */ private void addFileSeqPanel(FileSeq fseq) { boolean isPresentInWorking = false; if ((pStatus != null) && pStatus.hasLightDetails()) { NodeDetailsLight details = pStatus.getLightDetails(); NodeMod mod = details.getWorkingVersion(); if (mod != null) { if (mod.getPrimarySequence().equals(fseq)) isPresentInWorking = true; else { for (FileSeq sfseq : mod.getSecondarySequences()) { if (sfseq.equals(fseq)) { isPresentInWorking = true; break; } } } } } /* collate the row information */ ArrayList<VersionID> vids = new ArrayList<VersionID>(); ArrayList<FileSeq> singles = new ArrayList<FileSeq>(); TreeSet<FileSeq> enabled = new TreeSet<FileSeq>(); TreeMap<FileSeq, FileState> fstates = new TreeMap<FileSeq, FileState>(); TreeMap<FileSeq, NativeFileInfo> finfos = new TreeMap<FileSeq, NativeFileInfo>(); TreeMap<FileSeq, QueueState> qstates = new TreeMap<FileSeq, QueueState>(); TreeMap<FileSeq, Boolean[]> novel = new TreeMap<FileSeq, Boolean[]>(); { TreeMap<FileSeq, Integer> wsingles = new TreeMap<FileSeq, Integer>(); if ((pStatus != null) && pStatus.hasLightDetails()) { if (isPresentInWorking) { if (pStatus.hasHeavyDetails()) { NodeDetailsHeavy details = pStatus.getHeavyDetails(); FileState[] fs = details.getFileStates(fseq); QueueState[] qs = details.getQueueStates(); NativeFileInfo[] infos = details.getFileInfos(fseq); if ((fs != null) && (qs != null) && (infos != null)) { int wk; for (wk = 0; wk < fs.length; wk++) { FileSeq sfseq = new FileSeq(fseq, wk); wsingles.put(sfseq, wk); fstates.put(sfseq, fs[wk]); finfos.put(sfseq, infos[wk]); qstates.put(sfseq, qs[wk]); if (fs[wk] != FileState.CheckedIn) enabled.add(sfseq); } } } else { NodeDetailsLight details = pStatus.getLightDetails(); int wk; for (wk = 0; wk < fseq.numFrames(); wk++) { FileSeq sfseq = new FileSeq(fseq, wk); wsingles.put(sfseq, wk); if (details.getVersionState() == VersionState.CheckedIn) { fstates.put(sfseq, FileState.CheckedIn); qstates.put(sfseq, QueueState.Undefined); } else { enabled.add(sfseq); } } } } { vids.addAll(pNovelty.keySet()); Collections.reverse(vids); int idx = 0; for (VersionID vid : vids) { TreeMap<FileSeq, boolean[]> table = pNovelty.get(vid); for (FileSeq nfseq : table.keySet()) { if (fseq.similarTo(nfseq)) { boolean[] flags = table.get(nfseq); int wk; for (wk = 0; wk < flags.length; wk++) { FileSeq sfseq = new FileSeq(nfseq, wk); if (!wsingles.containsKey(sfseq)) wsingles.put(sfseq, null); Boolean[] rflags = novel.get(sfseq); if (rflags == null) { rflags = new Boolean[pNovelty.size()]; novel.put(sfseq, rflags); } rflags[idx] = new Boolean(flags[wk]); } break; } } idx++; } } } TreeMap<Integer, FileSeq> order = new TreeMap<Integer, FileSeq>(); for (FileSeq sfseq : wsingles.keySet()) { int frame = -1; if (sfseq.hasFrameNumbers()) frame = sfseq.getFrameRange().getStart(); order.put(frame, sfseq); } singles.addAll(order.values()); } /* add the panel */ { JFileSeqPanel panel = new JFileSeqPanel( this, pManagerPanel, pStatus, pPrivilegeDetails, fseq, vids, pOffline, singles, fstates, finfos, qstates, enabled, novel, pIsListLayout); if (pIsListLayout) pFileSeqsBox.add(panel); else pFileSeqsTab.addTab(fseq.getFilePattern().toString(), sTabIcon, panel); pFileSeqPanels.put(fseq, panel); } }
/** * Update the UI components to reflect the current per-file status. * * @param status The current node status. * @param novelty The per-file novelty flags. * @param offline The revision numbers of the offline checked-in versions. */ protected synchronized void updateNodeStatus( NodeStatus status, TreeMap<VersionID, TreeMap<FileSeq, boolean[]>> novelty, TreeSet<VersionID> offline) { super.updateNodeStatus(status, false); pNovelty = novelty; pOffline = offline; NodeDetailsLight details = null; if (pStatus != null) details = pStatus.getLightDetails(); /* files */ { pFileSeqsTab.removeAll(); pFileSeqsBox.removeAll(); pFileSeqPanels.clear(); if ((pNovelty != null) && (details != null)) { NodeMod mod = details.getWorkingVersion(); NodeVersion vsn = details.getLatestVersion(); NodeCommon com = null; if (mod != null) com = mod; else if (vsn != null) com = vsn; else assert (false); /* get the primary and unique secondary file sequences */ FileSeq primary = com.getPrimarySequence(); TreeSet<FileSeq> secondary = new TreeSet<FileSeq>(); { secondary.addAll(com.getSecondarySequences()); TreeSet<FileSeq> unique = new TreeSet<FileSeq>(); for (TreeMap<FileSeq, boolean[]> table : pNovelty.values()) unique.addAll(table.keySet()); for (FileSeq ufseq : unique) { boolean found = false; if (ufseq.similarTo(primary)) found = true; else { for (FileSeq fseq : secondary) { if (ufseq.similarTo(fseq)) { found = true; break; } } } if (!found) secondary.add(ufseq); } } /* add the file sequence UI components */ addFileSeqPanel(primary); for (FileSeq fseq : secondary) addFileSeqPanel(fseq); if (pIsListLayout) pFileSeqsBox.add(UIFactory.createFiller(sSize)); } } pFileSeqsTab.setVisible(!pIsListLayout); pFileSeqsScroll.setVisible(pIsListLayout); if (pIsListLayout) pFileSeqsScroll.revalidate(); else pFileSeqsTab.revalidate(); }