@Override public void setDocumentPartitioner(String partitioning, IDocumentPartitioner partitioner) { if (partitioner == null) { if (fDocumentPartitioners != null) { fDocumentPartitioners.remove(partitioning); if (fDocumentPartitioners.size() == 0) fDocumentPartitioners= null; } } else { if (fDocumentPartitioners == null) fDocumentPartitioners= new HashMap<>(); fDocumentPartitioners.put(partitioning, partitioner); } DocumentPartitioningChangedEvent event= new DocumentPartitioningChangedEvent(this); event.setPartitionChange(partitioning, 0, getLength()); fireDocumentPartitioningChanged(event); }
@Override public void setDocumentPartitioner(String partitioning, IDocumentPartitioner partitioner) { if (partitioner == null) { if (fDocumentPartitioners != null) { fDocumentPartitioners.remove(partitioning); if (fDocumentPartitioners.size() == 0) fDocumentPartitioners= null; } } else { if (fDocumentPartitioners == null) fDocumentPartitioners= new HashMap<>(); fDocumentPartitioners.put(partitioning, partitioner); } DocumentPartitioningChangedEvent event= new DocumentPartitioningChangedEvent(this); event.setPartitionChange(partitioning, 0, getLength()); fireDocumentPartitioningChanged(event); }
/** * Stops the given rewrite session. * * @param session the rewrite session * @since 3.1 */ protected final void stopRewriteSessionOnPartitioners(DocumentRewriteSession session) { if (fDocumentPartitioners != null) { DocumentPartitioningChangedEvent event= new DocumentPartitioningChangedEvent(this); Iterator<String> e= fDocumentPartitioners.keySet().iterator(); while (e.hasNext()) { String partitioning= e.next(); IDocumentPartitioner partitioner= fDocumentPartitioners.get(partitioning); if (partitioner instanceof IDocumentPartitionerExtension3) { IDocumentPartitionerExtension3 extension= (IDocumentPartitionerExtension3) partitioner; extension.stopRewriteSession(session); event.setPartitionChange(partitioning, 0, getLength()); } } if (!event.isEmpty()) fireDocumentPartitioningChanged(event); } }
/** * Stops the given rewrite session. * * @param session the rewrite session * @since 3.1 */ protected final void stopRewriteSessionOnPartitioners(DocumentRewriteSession session) { if (fDocumentPartitioners != null) { DocumentPartitioningChangedEvent event= new DocumentPartitioningChangedEvent(this); for (Entry<String, IDocumentPartitioner> entry : fDocumentPartitioners.entrySet()) { String partitioning = entry.getKey(); IDocumentPartitioner partitioner= entry.getValue(); if (partitioner instanceof IDocumentPartitionerExtension3) { IDocumentPartitionerExtension3 extension= (IDocumentPartitionerExtension3) partitioner; extension.stopRewriteSession(session); event.setPartitionChange(partitioning, 0, getLength()); } } if (!event.isEmpty()) fireDocumentPartitioningChanged(event); } }
/** * Checks the state for the given partitioner and stops the * active rewrite session. * * @param partitioner the document partitioner to be checked * @param partitioning the document partitioning the partitioner is registered for * @since 3.1 */ protected final void checkStateOfPartitioner(IDocumentPartitioner partitioner, String partitioning) { if (!(partitioner instanceof IDocumentPartitionerExtension3)) return; IDocumentPartitionerExtension3 extension= (IDocumentPartitionerExtension3) partitioner; DocumentRewriteSession session= extension.getActiveRewriteSession(); if (session != null) { extension.stopRewriteSession(session); if (DEBUG) System.out.println("AbstractDocument: Flushing rewrite session for partition type: " + partitioning); //$NON-NLS-1$ DocumentPartitioningChangedEvent event= new DocumentPartitioningChangedEvent(this); event.setPartitionChange(partitioning, 0, getLength()); fireDocumentPartitioningChanged(event); } }
/** * Checks the state for the given partitioner and stops the * active rewrite session. * * @param partitioner the document partitioner to be checked * @param partitioning the document partitioning the partitioner is registered for * @since 3.1 */ protected final void checkStateOfPartitioner(IDocumentPartitioner partitioner, String partitioning) { if (!(partitioner instanceof IDocumentPartitionerExtension3)) return; IDocumentPartitionerExtension3 extension= (IDocumentPartitionerExtension3) partitioner; DocumentRewriteSession session= extension.getActiveRewriteSession(); if (session != null) { extension.stopRewriteSession(session); if (DEBUG) System.out.println("AbstractDocument: Flushing rewrite session for partition type: " + partitioning); //$NON-NLS-1$ DocumentPartitioningChangedEvent event= new DocumentPartitioningChangedEvent(this); event.setPartitionChange(partitioning, 0, getLength()); fireDocumentPartitioningChanged(event); } }
fDocumentPartitioningChangedEvent= null; if (p != null && !p.isEmpty()) fireDocumentPartitioningChanged(p);
fDocumentPartitioningChangedEvent= null; if (p != null && !p.isEmpty()) fireDocumentPartitioningChanged(p);