if (m.isWriteAccess() || m.isReadAccess()) { run.run(); } else {
public void execute(Runnable command) { boolean ea = false; assert ea = true; if (ea) { Mutex mutex = getPMMutex(); if (mutex != null && (mutex.isReadAccess() || mutex.isWriteAccess())) { throw new IllegalStateException("Should not acquire Children.MUTEX while holding ProjectManager.mutex()"); } } command.run(); }
notifyLater = Children.MUTEX.isReadAccess(); if (LOG_ENABLED) { LOGGER.finer("notifyAll for " + this + " on " + Thread.currentThread() + " notifyLater: " + notifyLater); // NOI18N if (Children.MUTEX.isReadAccess() || Children.MUTEX.isWriteAccess() || (initThread == Thread.currentThread())) { LOGGER.log(Level.FINER, "cannot initialize better " + this + " on " + Thread.currentThread() + " read access: " + Children.MUTEX.isReadAccess() + " write access: " + Children.MUTEX.isWriteAccess() + " initThread: " + initThread);
Children.PR.exitReadAccess(); if (Children.MUTEX.isReadAccess()) { return tmpNodes;
if (Children.MUTEX.isReadAccess()) { Children.MUTEX.postWriteRequest(notify); } else { if (Children.MUTEX.isReadAccess() || Children.MUTEX.isWriteAccess() || (state.initThread() == Thread.currentThread())) { if (LOG_ENABLED) { LOGGER.log(Level.FINER, "Cannot wait for finished initialization " + this + " on " + Thread.currentThread() + " read access: " + Children.MUTEX.isReadAccess() + " write access: " + Children.MUTEX.isWriteAccess() + " initThread: " + state.initThread());
@Override public Node getNodeAt(int index) { if (!checkInit()) { return null; } Node node = null; while (true) { try { Children.PR.enterReadAccess(); EntrySupportLazyState state = internal.get(); List<Entry> e = notNull(state.getVisibleEntries()); if (index >= e.size()) { return node; } Entry entry = e.get(index); EntryInfo info = state.getEntryToInfo().get(entry); node = info.getNode(); if (!isDummyNode(node)) { return node; } hideEmpty(null, entry); } finally { Children.PR.exitReadAccess(); } if (Children.MUTEX.isReadAccess()) { return node; } } }
@Override public boolean isReadAccess() { return owner.MUTEX.isReadAccess(); }
private final void collectNodes(Node n, Map<Node,?> collect) { assert Children.MUTEX.isReadAccess(); while (n != null && n != rootContext) { collect.put(n, null); n = n.getParentNode(); } }
/** * Checks whether the current thread has a read or a write access granted. * @return true if a read or a write access is granted */ public boolean isAccess () { return mutex.isReadAccess () || mutex.isWriteAccess (); }
/** * @return true if it is safe to wait (our thread is * not in Children.MUTEX.readAccess */ private static boolean checkChildrenMutex() { return !Children.MUTEX.isReadAccess() && !Children.MUTEX.isWriteAccess (); }
/** * Check whether this project is currently modified including modifications * to <code>project.xml</code>. * Access from GeneratedFilesHelper. */ boolean isProjectXmlModified() { assert ProjectManager.mutex().isReadAccess() || ProjectManager.mutex().isWriteAccess(); return modifiedMetadataPaths.contains(PROJECT_XML_PATH); }
public void setEmpty() { menuAvaliable.set(false); updateButtons(); final Children children = root.getChildren(); if (!Children.MUTEX.isReadAccess()){ Children.MUTEX.writeAccess(new Runnable(){ @Override public void run() { children.remove(children.getNodes()); } }); } }
public void setEmpty() { menuAvaliable.set(false); updateButtons(); final Children children = root.getChildren(); if (!Children.MUTEX.isReadAccess()){ Children.MUTEX.writeAccess(new Runnable(){ @Override public void run() { children.remove(children.getNodes()); refreshTask.cancel(); } }); } }
public GuardedActions(int type, Object p1) { this.type = type; this.p1 = p1; if (Children.MUTEX.isReadAccess() || Children.MUTEX.isWriteAccess()) { ret = run(); } else { ret = Children.MUTEX.readAccess(this); } }
public GuardedActions(int type, Object p1) { this.type = type; this.p1 = p1; if (Children.MUTEX.isReadAccess() || Children.MUTEX.isWriteAccess()) { ret = run(); } else { ret = Children.MUTEX.readAccess(this); } }
@SuppressWarnings({"OverridableMethodCallInConstructor", "LeakingThisInConstructor"}) public GuardedActions(int type, Object p1) { this.type = type; this.p1 = p1; if (Children.MUTEX.isReadAccess() || Children.MUTEX.isWriteAccess()) { ret = run(); } else { ret = Children.MUTEX.readAccess(this); } }
/** * Load <references> from project.xml. * @return can return null if there are no references stored yet */ private Element loadReferences() { assert ProjectManager.mutex().isReadAccess() || ProjectManager.mutex().isWriteAccess(); Element references = aux.getConfigurationFragment(REFS_NAME, REFS_NS2, true); if (references == null) { references = aux.getConfigurationFragment(REFS_NAME, REFS_NS, true); } return references; }
private void fireChangeIndex(final RepositoryInfo repo) { if (getRepoMutex(repo).isWriteAccess()) { RequestProcessor.getDefault().post(new Runnable() { @Override public void run() { fireChangeIndex(repo); } }); return; } assert !getRepoMutex(repo).isWriteAccess() && !getRepoMutex(repo).isReadAccess(); repo.fireChangeIndex(); }
private void repaintSelection() { if (Children.MUTEX.isReadAccess() || Children.MUTEX.isWriteAccess()) { int[] idx = getSelectedIndices(); if (idx.length == 0) { return; } for (int i = 0; i < idx.length; i++) { Rectangle r = getCellBounds(idx[i], idx[i]); repaint(r.x, r.y, r.width, r.height); } } else { new GuardedActions(3, null); } }