Search in sources :

Example 21 with SourceDocument

use of de.catma.document.source.SourceDocument in project catma by forTEXT.

the class GitProjectHandler method ensureDevBranches.

public void ensureDevBranches() throws Exception {
    logger.info(String.format("Ensuring dev branches for project %1$s", projectId));
    try (ILocalGitRepositoryManager localGitRepoManager = this.localGitRepositoryManager) {
        // tagsets
        GitTagsetHandler gitTagsetHandler = new GitTagsetHandler(localGitRepoManager, this.remoteGitServerManager, this.credentialsProvider);
        for (TagsetDefinition tagset : getTagsets()) {
            logger.info(String.format("Checking out dev branch for tagset \"%1$s\" with ID %2$s", tagset.getName(), tagset.getUuid()));
            gitTagsetHandler.checkout(projectId, tagset.getUuid(), ILocalGitRepositoryManager.DEFAULT_LOCAL_DEV_BRANCH, true);
        }
        // collections
        GitMarkupCollectionHandler collectionHandler = new GitMarkupCollectionHandler(localGitRepoManager, this.remoteGitServerManager, this.credentialsProvider);
        for (AnnotationCollectionReference collectionReference : getCollectionReferences()) {
            logger.info(String.format("Checking out dev branch for collection \"%1$s\" with ID %2$s", collectionReference.getName(), collectionReference.getId()));
            collectionHandler.checkout(projectId, collectionReference.getId(), ILocalGitRepositoryManager.DEFAULT_LOCAL_DEV_BRANCH, true);
        }
        // documents
        GitSourceDocumentHandler gitSourceDocumentHandler = new GitSourceDocumentHandler(localGitRepoManager, remoteGitServerManager, credentialsProvider);
        for (SourceDocument sourceDocument : getDocuments()) {
            logger.info(String.format("Checking out dev branch for document \"%s\" with ID %s", sourceDocument.getSourceContentHandler().getSourceDocumentInfo().getContentInfoSet().getTitle(), sourceDocument.getUuid()));
            gitSourceDocumentHandler.checkout(projectId, sourceDocument.getUuid(), ILocalGitRepositoryManager.DEFAULT_LOCAL_DEV_BRANCH, true);
        }
    }
}
Also used : ILocalGitRepositoryManager(de.catma.repository.git.interfaces.ILocalGitRepositoryManager) SourceDocument(de.catma.document.source.SourceDocument) AnnotationCollectionReference(de.catma.document.annotation.AnnotationCollectionReference)

Example 22 with SourceDocument

use of de.catma.document.source.SourceDocument in project catma by forTEXT.

the class TagDiffQuery method execute.

@Override
protected QueryResult execute() throws Exception {
    QueryOptions queryOptions = getQueryOptions();
    Project repository = queryOptions.getRepository();
    Indexer indexer = queryOptions.getIndexer();
    List<String> relevantUserMarkupCollIDs = queryOptions.getRelevantUserMarkupCollIDs();
    if (relevantUserMarkupCollIDs.isEmpty() && !queryOptions.getRelevantSourceDocumentIDs().isEmpty()) {
        relevantUserMarkupCollIDs = new ArrayList<String>();
        for (String sourceDocumentId : queryOptions.getRelevantSourceDocumentIDs()) {
            for (AnnotationCollectionReference umcRef : repository.getSourceDocument(sourceDocumentId).getUserMarkupCollectionRefs()) {
                relevantUserMarkupCollIDs.add(umcRef.getId());
            }
        }
        if (relevantUserMarkupCollIDs.isEmpty()) {
            return new QueryResultRowArray();
        }
    }
    QueryResult result = indexer.searchTagDiff(queryOptions.getQueryId(), relevantUserMarkupCollIDs, propertyName, tagPhrase);
    for (QueryResultRow row : result) {
        SourceDocument sd = repository.getSourceDocument(row.getSourceDocumentId());
        TagQueryResultRow tRow = (TagQueryResultRow) row;
        if (tRow.getRanges().size() > 1) {
            StringBuilder builder = new StringBuilder();
            String conc = "";
            for (Range range : tRow.getRanges()) {
                builder.append(conc);
                builder.append(sd.getContent(range));
                conc = "[...]";
            }
            row.setPhrase(builder.toString());
        } else {
            row.setPhrase(sd.getContent(row.getRange()));
        }
    }
    return result;
}
Also used : QueryResultRow(de.catma.queryengine.result.QueryResultRow) TagQueryResultRow(de.catma.queryengine.result.TagQueryResultRow) SourceDocument(de.catma.document.source.SourceDocument) AnnotationCollectionReference(de.catma.document.annotation.AnnotationCollectionReference) Range(de.catma.document.Range) Project(de.catma.project.Project) QueryResult(de.catma.queryengine.result.QueryResult) Indexer(de.catma.indexer.Indexer) TagQueryResultRow(de.catma.queryengine.result.TagQueryResultRow) QueryResultRowArray(de.catma.queryengine.result.QueryResultRowArray)

Example 23 with SourceDocument

use of de.catma.document.source.SourceDocument in project catma by forTEXT.

the class WildcardQuery method execute.

@Override
protected QueryResult execute() throws Exception {
    QueryOptions queryOptions = getQueryOptions();
    WildcardTermExtractor termExtractor = new WildcardTermExtractor(wildcardPhrase, queryOptions.getUnseparableCharacterSequences(), queryOptions.getUserDefinedSeparatingCharacters(), queryOptions.getLocale());
    List<String> termList = termExtractor.getOrderedTerms();
    Indexer indexer = queryOptions.getIndexer();
    QueryResult result = indexer.searchWildcardPhrase(queryOptions.getQueryId(), queryOptions.getRelevantSourceDocumentIDs(), termList, queryOptions.getLimit());
    Project repository = queryOptions.getRepository();
    for (QueryResultRow row : result) {
        SourceDocument sd = repository.getSourceDocument(row.getSourceDocumentId());
        row.setPhrase(sd.getContent(row.getRange()));
    }
    return result;
}
Also used : Project(de.catma.project.Project) QueryResult(de.catma.queryengine.result.QueryResult) Indexer(de.catma.indexer.Indexer) QueryResultRow(de.catma.queryengine.result.QueryResultRow) WildcardTermExtractor(de.catma.indexer.WildcardTermExtractor) SourceDocument(de.catma.document.source.SourceDocument)

Example 24 with SourceDocument

use of de.catma.document.source.SourceDocument in project catma by forTEXT.

the class TaggerView method initActions.

private void initActions() {
    btClearSearchHighlights.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            tagger.removeHighlights();
        }
    });
    cbTraceSelection.addClickListener(clickEvent -> {
        boolean traceSelection = (boolean) cbTraceSelection.getData();
        traceSelection = !traceSelection;
        cbTraceSelection.setData(traceSelection);
        tagger.setTraceSelection(traceSelection);
        if (traceSelection) {
            cbTraceSelection.addStyleName("tagger-trace-checkbox-selected");
        } else {
            cbTraceSelection.removeStyleName("tagger-trace-checkbox-selected");
        }
    });
    cbAutoShowComments.addClickListener(clickEvent -> {
        boolean autoShowComments = (boolean) cbAutoShowComments.getData();
        autoShowComments = !autoShowComments;
        cbAutoShowComments.setData(autoShowComments);
        if (autoShowComments) {
            cbAutoShowComments.setIcon(VaadinIcons.COMMENT);
            try {
                TaggerView.this.comments.clear();
                TaggerView.this.comments.addAll(TaggerView.this.project.getComments(sourceDocument.getUuid()));
                tagger.updateComments(comments);
            } catch (IOException e) {
                logger.log(Level.SEVERE, "unable to reload comments", e);
            }
        } else {
            cbAutoShowComments.setIcon(VaadinIcons.COMMENT_O);
        }
    });
    btAnalyze.addClickListener(new ClickListener() {

        public void buttonClick(ClickEvent event) {
            analyzeDocument();
        }
    });
    linesPerPageSlider.addValueChangeListener(new ValueChangeListener<Double>() {

        public void valueChange(ValueChangeEvent<Double> event) {
            Double perCentValue = (Double) linesPerPageSlider.getValue();
            int lines = (int) ((totalLineCount / 100.0) * perCentValue);
            List<ClientTagInstance> absoluteTagInstances = pager.getAbsoluteTagInstances();
            Page currentPage = null;
            if (pager.hasPages()) {
                currentPage = pager.getCurrentPage();
            }
            pager.setMaxPageLengthInLines(lines);
            if (pager.hasPages()) {
                // recalculate pages
                try {
                    pager.setText(sourceDocument.getContent(), comments);
                    int previousPageNumber = pager.getPageNumberFor(currentPage.getPageStart());
                    tagger.setPage(previousPageNumber);
                    tagger.setTagInstancesVisible(absoluteTagInstances, true);
                    pagerComponent.setPage(previousPageNumber);
                } catch (IOException e) {
                    errorHandler.showAndLogError("Error showing the Document!", e);
                }
            }
        }
    });
    resourcePanel.setSelectionListener(new ResourceSelectionListener() {

        @Override
        public void resourcesChanged() {
            AnnotationCollection selectedEditableCollection = annotationPanel.getSelectedEditableCollection();
            List<AnnotationCollectionReference> selectedAnnotationCollectionRefs = resourcePanel.getSelectedAnnotationCollectionReferences();
            for (AnnotationCollection collection : userMarkupCollectionManager.getUserMarkupCollections()) {
                userMarkupCollectionManager.remove(collection.getId());
                annotationPanel.removeCollection(collection.getId());
                tagger.setVisible(collection.getTagReferences(), false);
            }
            userMarkupCollectionManager.clear();
            for (AnnotationCollectionReference collectionReference : selectedAnnotationCollectionRefs) {
                try {
                    AnnotationCollection collection = project.getUserMarkupCollection(collectionReference);
                    setAnnotationCollectionSelected(new AnnotationCollectionReference(collection), true);
                } catch (IOException e) {
                    ((ErrorHandler) UI.getCurrent()).showAndLogError("error refreshing Annotation Collection!", e);
                }
            }
            if ((selectedEditableCollection != null) && (userMarkupCollectionManager.contains(selectedEditableCollection.getId()))) {
                annotationPanel.setSelectedEditableCollection(userMarkupCollectionManager.getUserMarkupCollection(selectedEditableCollection.getId()));
            }
            annotationPanel.clearTagsets();
            tagsetsSelected(resourcePanel.getSelectedTagsets());
        }

        @Override
        public void documentSelected(SourceDocument sourceDocument) {
            setSourceDocument(sourceDocument, null);
        }

        @Override
        public void annotationCollectionSelected(AnnotationCollectionReference collectionReference, boolean selected) {
            setAnnotationCollectionSelected(collectionReference, selected);
        }

        @Override
        public void tagsetsSelected(Collection<TagsetDefinition> tagsets) {
            try {
                annotationPanel.setTagsets(tagsets);
                if (taggerContextMenu != null) {
                    taggerContextMenu.setTagsets(tagsets);
                }
                for (AnnotationCollection collection : userMarkupCollectionManager.getUserMarkupCollections()) {
                    tagger.setVisible(collection.getTagReferences(), false);
                    List<TagReference> visibleRefs = annotationPanel.getVisibleTagReferences(collection.getTagReferences());
                    if (!visibleRefs.isEmpty()) {
                        tagger.setVisible(visibleRefs, true);
                    }
                }
            } catch (Exception e) {
                errorHandler.showAndLogError("Error handling Tagset!", e);
            }
        }
    });
    annotationPanel.setTagReferenceSelectionChangeListener((tagReferences, selected) -> {
        if (!tagReferences.isEmpty()) {
            tagger.setVisible(tagReferences, selected);
        }
    });
    kwicPanel.setExpansionListener(new ExpansionListener() {

        @Override
        public void expand() {
            // we hide on expand and on compress since both is considered a "close"
            hideKwicPanel();
        }

        @Override
        public void compress() {
            // we hide on expand and on compress since both is considered a "close"
            hideKwicPanel();
        }
    });
    kwicPanel.addItemClickListener(itemClick -> {
        if (itemClick.getMouseEventDetails().isDoubleClick()) {
            show(itemClick.getItem().getRange());
        }
    });
}
Also used : ErrorHandler(de.catma.ui.module.main.ErrorHandler) AnnotationCollection(de.catma.document.annotation.AnnotationCollection) ClickEvent(com.vaadin.ui.Button.ClickEvent) SourceDocument(de.catma.document.source.SourceDocument) AnnotationCollectionReference(de.catma.document.annotation.AnnotationCollectionReference) Page(de.catma.ui.module.annotate.pager.Page) IOException(java.io.IOException) ValueOutOfBoundsException(com.vaadin.ui.Slider.ValueOutOfBoundsException) IOException(java.io.IOException) URISyntaxException(java.net.URISyntaxException) TagsetDefinition(de.catma.tag.TagsetDefinition) ResourceSelectionListener(de.catma.ui.module.annotate.resourcepanel.ResourceSelectionListener) ArrayList(java.util.ArrayList) List(java.util.List) ExpansionListener(de.catma.ui.module.analyze.visualization.ExpansionListener) ClickListener(com.vaadin.ui.Button.ClickListener)

Example 25 with SourceDocument

use of de.catma.document.source.SourceDocument in project catma by forTEXT.

the class TaggerView method initComponents.

private void initComponents() {
    setSizeFull();
    VerticalLayout taggerPanel = new VerticalLayout();
    taggerPanel.setSizeFull();
    taggerPanel.setSpacing(true);
    taggerPanel.setMargin(new MarginInfo(true, true, true, false));
    boolean isRtl = sourceDocument == null ? false : sourceDocument.getSourceContentHandler().getSourceDocumentInfo().getIndexInfoSet().isRightToLeftWriting();
    pager = new Pager(taggerID, approxMaxLineLength, maxPageLengthInLines, isRtl);
    tagger = new Tagger(taggerID, pager, this, project);
    // $NON-NLS-1$
    tagger.addStyleName("tagger");
    // $NON-NLS-1$
    tagger.setWidth("100%");
    taggerPanel.addComponent(tagger);
    taggerPanel.setExpandRatio(tagger, 1.0f);
    HorizontalLayout actionPanel = new HorizontalLayout();
    actionPanel.setSpacing(false);
    taggerPanel.addComponent(actionPanel);
    pagerComponent = new PagerComponent(pager, new PageChangeListener() {

        public void pageChanged(int number) {
            tagger.setPage(number);
        }
    });
    actionPanel.addComponent(pagerComponent);
    linesPerPageSlider = new Slider(1, 100, 0);
    // $NON-NLS-1$
    linesPerPageSlider.setWidth("100px");
    actionPanel.addComponent(linesPerPageSlider);
    cbTraceSelection = new IconButton(VaadinIcons.TWIN_COL_SELECT);
    // state
    cbTraceSelection.setData(false);
    cbTraceSelection.setDescription("Allow multiple discontinuous selections");
    actionPanel.addComponent(cbTraceSelection);
    btClearSearchHighlights = new IconButton(VaadinIcons.ERASER);
    btClearSearchHighlights.setDescription("Clear all search highlights");
    actionPanel.addComponent(btClearSearchHighlights);
    cbAutoShowComments = new IconButton(VaadinIcons.COMMENT);
    cbAutoShowComments.setDescription("Toggle live Comments");
    // state
    cbAutoShowComments.setData(true);
    actionPanel.addComponent(cbAutoShowComments);
    btAnalyze = new Button("Analyze");
    // $NON-NLS-1$
    btAnalyze.addStyleName("primary-button");
    btAnalyze.setEnabled(project instanceof IndexedProject);
    actionPanel.addComponent(btAnalyze);
    rightSplitPanel = new VerticalSplitPanel();
    rightSplitPanel.setSizeFull();
    kwicPanel = new KwicPanel(eventBus, project, KwicProvider.buildKwicProviderByDocumentIdCache(project));
    kwicPanel.setExpandResource(VaadinIcons.CLOSE);
    kwicPanel.setCompressResource(VaadinIcons.CLOSE);
    rightSplitPanel.addComponent(kwicPanel);
    hideKwicPanel();
    annotationPanel = new AnnotationPanel(project, userMarkupCollectionManager, selectedAnnotationId -> tagger.setTagInstanceSelected(selectedAnnotationId), collection -> handleCollectionValueChange(collection), tag -> tagger.addTagInstanceWith(tag), () -> sourceDocument, eventBus);
    rightSplitPanel.addComponent(annotationPanel);
    splitPanel = new TaggerSplitPanel();
    splitPanel.addComponent(taggerPanel);
    splitPanel.addComponent(rightSplitPanel);
    splitPanel.setSplitPosition(initialSplitterPositionInPixels, Unit.PIXELS);
    // $NON-NLS-1$
    splitPanel.addStyleName("catma-tab-spacing");
    SplitterPositionChangedListener listener = new SplitterPositionChangedListener() {

        @Override
        public void positionChanged(SplitterPositionChangedEvent event) {
            float width = event.getPosition();
            // TODO: if it is PERCENTAGE, work out the splitter position in pixels
            if (event.getPositionUnit() != Unit.PIXELS) {
                // $NON-NLS-1$
                String message = "Must use PIXELS Unit for split position";
                errorHandler.showAndLogError(message, new IllegalArgumentException(message));
            }
            int approxMaxLineLength = getApproximateMaxLineLengthForSplitterPanel(width);
            List<ClientTagInstance> absoluteTagInstances = pager.getAbsoluteTagInstances();
            Page currentPage = null;
            if (pager.hasPages()) {
                currentPage = pager.getCurrentPage();
            }
            pager.setApproxMaxLineLength(approxMaxLineLength);
            if (pager.hasPages()) {
                // recalculate pages
                try {
                    pager.setText(sourceDocument.getContent(), comments);
                    int previousPageNumber = pager.getPageNumberFor(currentPage.getPageStart());
                    tagger.setPage(previousPageNumber);
                    tagger.setTagInstancesVisible(absoluteTagInstances, true);
                    pagerComponent.setPage(previousPageNumber);
                } catch (IOException e) {
                    // $NON-NLS-1$
                    errorHandler.showAndLogError("Error showing the Document!", e);
                }
            }
        }
    };
    splitPanel.addListener(SplitterPositionChangedEvent.class, listener, SplitterPositionChangedListener.positionChangedMethod);
    resourcePanel = new AnnotateResourcePanel(project, sourceDocument, eventBus);
    drawer = new SliderPanelBuilder(resourcePanel).mode(SliderMode.LEFT).expanded(sourceDocument == null).build();
    addComponent(drawer);
    addComponent(splitPanel);
    setExpandRatio(splitPanel, 1.0f);
}
Also used : BackgroundServiceProvider(de.catma.backgroundservice.BackgroundServiceProvider) ZonedDateTime(java.time.ZonedDateTime) VerticalSplitPanel(com.vaadin.ui.VerticalSplitPanel) EditAnnotationPropertiesDialog(de.catma.ui.module.annotate.annotationpanel.EditAnnotationPropertiesDialog) IndexedProject(de.catma.indexer.IndexedProject) ClientCommentReply(de.catma.ui.client.ui.tagger.shared.ClientCommentReply) KwicProvider(de.catma.indexer.KwicProvider) ValueOutOfBoundsException(com.vaadin.ui.Slider.ValueOutOfBoundsException) ExpansionListener(de.catma.ui.module.analyze.visualization.ExpansionListener) ExecutionListener(de.catma.backgroundservice.ExecutionListener) Slider(com.vaadin.ui.Slider) Set(java.util.Set) TagInstance(de.catma.tag.TagInstance) ClosableTab(de.catma.ui.component.tabbedview.ClosableTab) Pager(de.catma.ui.module.annotate.pager.Pager) Type(com.vaadin.ui.Notification.Type) PropertyChangeListener(java.beans.PropertyChangeListener) SliderMode(org.vaadin.sliderpanel.client.SliderMode) DefaultProgressCallable(de.catma.backgroundservice.DefaultProgressCallable) Range(de.catma.document.Range) TagManager(de.catma.tag.TagManager) VerticalLayout(com.vaadin.ui.VerticalLayout) SplitterPositionChangedListener(de.catma.ui.module.annotate.TaggerSplitPanel.SplitterPositionChangedListener) CommentMessage(de.catma.ui.events.CommentMessage) ArrayList(java.util.ArrayList) Pair(de.catma.util.Pair) SaveCancelListener(de.catma.ui.dialog.SaveCancelListener) ResourceSelectionListener(de.catma.ui.module.annotate.resourcepanel.ResourceSelectionListener) Property(de.catma.tag.Property) QueryResultRow(de.catma.queryengine.result.QueryResultRow) IOException(java.io.IOException) SourceDocument(de.catma.document.source.SourceDocument) AnnotationCollection(de.catma.document.annotation.AnnotationCollection) ValueChangeListener(com.vaadin.data.HasValue.ValueChangeListener) Annotation(de.catma.document.annotation.Annotation) TagManagerEvent(de.catma.tag.TagManager.TagManagerEvent) ClientTagInstance(de.catma.ui.client.ui.tagger.shared.ClientTagInstance) Button(com.vaadin.ui.Button) ChangeType(de.catma.project.event.ChangeType) TextRange(de.catma.ui.client.ui.tagger.shared.TextRange) HorizontalLayout(com.vaadin.ui.HorizontalLayout) AnnotateResourcePanel(de.catma.ui.module.annotate.resourcepanel.AnnotateResourcePanel) SplitterPositionChangedEvent(de.catma.ui.module.annotate.TaggerSplitPanel.SplitterPositionChangedEvent) Reply(de.catma.document.comment.Reply) ClientComment(de.catma.ui.client.ui.tagger.shared.ClientComment) URISyntaxException(java.net.URISyntaxException) UI(com.vaadin.ui.UI) ConfirmDialog(org.vaadin.dialogs.ConfirmDialog) RouteToAnalyzeEvent(de.catma.ui.events.routing.RouteToAnalyzeEvent) TaggerContextMenu(de.catma.ui.module.annotate.contextmenu.TaggerContextMenu) ErrorHandler(de.catma.ui.module.main.ErrorHandler) CatmaApplication(de.catma.ui.CatmaApplication) SliderPanel(org.vaadin.sliderpanel.SliderPanel) VaadinIcons(com.vaadin.icons.VaadinIcons) Version(de.catma.tag.Version) IconButton(de.catma.ui.component.IconButton) Collection(java.util.Collection) Logger(java.util.logging.Logger) Collectors(java.util.stream.Collectors) MarginInfo(com.vaadin.shared.ui.MarginInfo) TagReference(de.catma.document.annotation.TagReference) List(java.util.List) TaggerListener(de.catma.ui.module.annotate.Tagger.TaggerListener) Corpus(de.catma.document.corpus.Corpus) TagDefinition(de.catma.tag.TagDefinition) Optional(java.util.Optional) HazelCastService(de.catma.hazelcast.HazelCastService) SliderPanelBuilder(org.vaadin.sliderpanel.SliderPanelBuilder) ValueChangeEvent(com.vaadin.data.HasValue.ValueChangeEvent) KwicPanel(de.catma.ui.module.analyze.visualization.kwic.KwicPanel) ClickListener(com.vaadin.ui.Button.ClickListener) PagerComponent(de.catma.ui.module.annotate.pager.PagerComponent) AnnotationPanel(de.catma.ui.module.annotate.annotationpanel.AnnotationPanel) AnnotationCollectionManager(de.catma.document.annotation.AnnotationCollectionManager) PageChangeListener(de.catma.ui.module.annotate.pager.PagerComponent.PageChangeListener) UIMessageListener(de.catma.ui.UIMessageListener) User(de.catma.user.User) Level(java.util.logging.Level) HashSet(java.util.HashSet) EventBus(com.google.common.eventbus.EventBus) CommentChangeEvent(de.catma.project.event.CommentChangeEvent) Comment(de.catma.document.comment.Comment) Notification(com.vaadin.ui.Notification) Page(de.catma.ui.module.annotate.pager.Page) HazelcastConfiguration(de.catma.hazelcast.HazelcastConfiguration) TagsetDefinition(de.catma.tag.TagsetDefinition) IDGenerator(de.catma.util.IDGenerator) Subscribe(com.google.common.eventbus.Subscribe) TagLibrary(de.catma.tag.TagLibrary) PropertyChangeEvent(java.beans.PropertyChangeEvent) ClickEvent(com.vaadin.ui.Button.ClickEvent) AnnotationCollectionReference(de.catma.document.annotation.AnnotationCollectionReference) Project(de.catma.project.Project) RepositoryChangeEvent(de.catma.project.Project.RepositoryChangeEvent) ReplyChangeEvent(de.catma.project.event.ReplyChangeEvent) TabCaptionChangeListener(de.catma.ui.component.tabbedview.TabCaptionChangeListener) DateTimeFormatter(java.time.format.DateTimeFormatter) ITopic(com.hazelcast.core.ITopic) PagerComponent(de.catma.ui.module.annotate.pager.PagerComponent) Slider(com.vaadin.ui.Slider) ClientTagInstance(de.catma.ui.client.ui.tagger.shared.ClientTagInstance) VerticalSplitPanel(com.vaadin.ui.VerticalSplitPanel) Page(de.catma.ui.module.annotate.pager.Page) HorizontalLayout(com.vaadin.ui.HorizontalLayout) IconButton(de.catma.ui.component.IconButton) SplitterPositionChangedListener(de.catma.ui.module.annotate.TaggerSplitPanel.SplitterPositionChangedListener) Button(com.vaadin.ui.Button) IconButton(de.catma.ui.component.IconButton) KwicPanel(de.catma.ui.module.analyze.visualization.kwic.KwicPanel) MarginInfo(com.vaadin.shared.ui.MarginInfo) SliderPanelBuilder(org.vaadin.sliderpanel.SliderPanelBuilder) VerticalLayout(com.vaadin.ui.VerticalLayout) IndexedProject(de.catma.indexer.IndexedProject) PageChangeListener(de.catma.ui.module.annotate.pager.PagerComponent.PageChangeListener) AnnotateResourcePanel(de.catma.ui.module.annotate.resourcepanel.AnnotateResourcePanel) IOException(java.io.IOException) SplitterPositionChangedEvent(de.catma.ui.module.annotate.TaggerSplitPanel.SplitterPositionChangedEvent) AnnotationPanel(de.catma.ui.module.annotate.annotationpanel.AnnotationPanel) Pager(de.catma.ui.module.annotate.pager.Pager)

Aggregations

SourceDocument (de.catma.document.source.SourceDocument)48 AnnotationCollectionReference (de.catma.document.annotation.AnnotationCollectionReference)23 Project (de.catma.project.Project)17 AnnotationCollection (de.catma.document.annotation.AnnotationCollection)15 List (java.util.List)15 TagsetDefinition (de.catma.tag.TagsetDefinition)13 IOException (java.io.IOException)13 Collectors (java.util.stream.Collectors)13 UI (com.vaadin.ui.UI)12 IDGenerator (de.catma.util.IDGenerator)12 HashSet (java.util.HashSet)12 ErrorHandler (de.catma.ui.module.main.ErrorHandler)11 EventBus (com.google.common.eventbus.EventBus)10 Subscribe (com.google.common.eventbus.Subscribe)10 CollectionChangeEvent (de.catma.project.event.CollectionChangeEvent)10 TreeDataProvider (com.vaadin.data.provider.TreeDataProvider)9 ChangeType (de.catma.project.event.ChangeType)9 RBACPermission (de.catma.rbac.RBACPermission)9 Pair (de.catma.util.Pair)9 Indexer (de.catma.indexer.Indexer)8