How koder95/emetrykant works
eMetrykant is a desktop application for reading and searching parish-register records. Its main workflow presents personal-data search suggestions and results from indexed records; a separate management workflow validates and edits index entries, then saves or discards changes. The graph also shows index loading and GitHub-based release checking/update as distinct capabilities. Source excerpts establish the query, persistence, startup, and release-check relationships; UI internals and update-task wiring are not sampled, so those connections are kept limited.
Main entry points: App.java JavaFX app · InMemoryIndexRepository.java In-memory index repository · PersonalDataQueryService.java Personal-data query · PersonalDataView.java Personal-data view
Components 22
Desktop presentation
- JavaFX app
src/main/java/pl/koder95/eme/App.java - Personal-data view
src/main/java/pl/koder95/eme/fx/PersonalDataView.java - Index management UI
src/main/java/pl/koder95/eme/fx/DataManagementView.java - Management view factory
src/main/java/pl/koder95/eme/fx/DataManagementViewFactory.java
Application services
- Personal-data query
src/main/java/pl/koder95/eme/application/PersonalDataQueryService.java - Index management
src/main/java/pl/koder95/eme/application/IndexManagementService.java - Index reload
src/main/java/pl/koder95/eme/application/IndexReloadService.java - Application context
src/main/java/pl/koder95/eme/bootstrap/ApplicationContext.java
Index and records
- Cabinet analyzer
src/main/java/pl/koder95/eme/core/SimpleCabinetAnalyzer.java - Index list source
src/main/java/pl/koder95/eme/core/IndexListDataSource.java - In-memory index repository
src/main/java/pl/koder95/eme/io/InMemoryIndexRepository.java - Index loader
src/main/java/pl/koder95/eme/io/IndexLoader.java - Index writer
src/main/java/pl/koder95/eme/io/IndexWriter.java - XML index source
src/main/java/pl/koder95/eme/io/FileXmlIndexDataSource.java - XML index target
src/main/java/pl/koder95/eme/io/FileXmlIndexDataTarget.java - Index records and books
src/main/java/pl/koder95/eme/domain/index/Index.java
Release updates
- Release information
src/main/java/pl/koder95/eme/git/RepositoryInfo.java - GitHub repository access
src/main/java/pl/koder95/eme/git/GitHubRepositoryController.java - Self-update task
src/main/java/pl/koder95/eme/au/SelfUpdateTask.java
Other components
- User
- GitHub
- Index XML files
Connections 28
- User → Personal-data view: searches and views
- User → Index management UI: manages records
- JavaFX app → Application context: initializes
- JavaFX app → Personal-data view: loads view
- JavaFX app → Personal-data query: provides service
- JavaFX app → Index reload: provides service
- JavaFX app → Management view factory: provides factory
- Management view factory → Index management UI: creates view
- Personal-data view → Personal-data query: queries records
- Personal-data view → Index reload: requests reload
- Index management UI → Index management: edits records
- Personal-data query → Cabinet analyzer: queries and converts
- Personal-data query → In-memory index repository: reads indices
- Personal-data query → Index list source: sets source
- Index list source → In-memory index repository: reads indices
- Index reload → In-memory index repository: reloads indices
- Index management → In-memory index repository: edits and persists
- In-memory index repository → Index loader: loads records
- In-memory index repository → Index writer: saves records
- Index loader → XML index source: reads XML
- Index writer → XML index target: writes XML
- XML index source → Index XML files: reads
- XML index target → Index XML files: writes
- In-memory index repository → Index records and books: holds records
- JavaFX app → Release information: checks release
- Release information → GitHub repository access: selects repository
- GitHub repository access → GitHub: fetches release data
- JavaFX app → Self-update task: starts update