Skip to content

Commit

Permalink
javadoc module-info info (#6897)
Browse files Browse the repository at this point in the history
  • Loading branch information
pethers authored Dec 24, 2024
1 parent 5c56de7 commit 38aa535
Show file tree
Hide file tree
Showing 19 changed files with 645 additions and 18 deletions.
40 changes: 39 additions & 1 deletion citizen-intelligence-agency/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
/**
* This module contains the main application code for the Citizen Intelligence Agency web application.
* CIA (Citizen Intelligence Agency) Web Module.
*
* <p>This module implements the web interface for the CIA application using Vaadin framework.
* It provides a comprehensive user interface for monitoring political figures, institutions,
* and analyzing political/financial trends.</p>
*
* <p>The module contains views and components for:</p>
* <ul>
* <li>Administrative operations and system management</li>
* <li>Parliament data visualization and analysis</li>
* <li>Political party information and statistics</li>
* <li>Government body and committee tracking</li>
* <li>Document management and ballot tracking</li>
* <li>Politician profiles and activities</li>
* </ul>
*
* <p>Key Features:</p>
* <ul>
* <li>Responsive web interface using Vaadin framework</li>
* <li>Security integration with Spring Security</li>
* <li>Data visualization with charts and grids</li>
* <li>PDF viewing capabilities</li>
* <li>QR code generation</li>
* <li>User agent parsing and analytics</li>
* </ul>
*
* <p>The module is organized into the following main packages:</p>
* <ul>
* <li>application - Core application infrastructure</li>
* <li>views.admin.* - Administrative interface components</li>
* <li>views.user.* - User-facing interface components</li>
* <li>views.common.* - Shared UI components and utilities</li>
* </ul>
*
* <p>This module requires and integrates with various CIA service modules and external
* data sources including Riksdagen (Swedish Parliament), Val (Elections), and World Bank data.</p>
*
* @see com.hack23.cia.service.api
* @see com.hack23.cia.web.widgets
*/
open module com.hack23.cia.web {
exports com.hack23.cia.web.impl.ui.application;
Expand Down
44 changes: 44 additions & 0 deletions model.common.api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
/**
* CIA (Citizen Intelligence Agency) Common Model API Module.
*
* <p>This module defines the core model interfaces and common data structures used
* throughout the CIA application. It provides the foundational API for all model
* implementations across the system.</p>
*
* <p>The module exports a single package:</p>
* <ul>
* <li>{@code com.hack23.cia.model.common.api} - Core model interfaces and common data structures</li>
* </ul>
*
* <p>Key Components:</p>
* <ul>
* <li>Base Model Interfaces
* <ul>
* <li>Entity definitions</li>
* <li>Data transfer objects</li>
* <li>Common model patterns</li>
* </ul>
* </li>
* <li>Shared Data Types
* <ul>
* <li>Common enumerations</li>
* <li>Base value objects</li>
* <li>Shared constants</li>
* </ul>
* </li>
* </ul>
*
* <p>This module serves as the foundation for all model implementations in the CIA
* application, ensuring consistency across:</p>
* <ul>
* <li>Political data models</li>
* <li>Financial metrics</li>
* <li>Institution profiles</li>
* <li>Performance indicators</li>
* </ul>
*
* <p>The API is designed to be minimal yet extensible, providing only the essential
* interfaces needed for model implementations while maintaining flexibility for
* different data types and sources.</p>
*
*/
open module com.hack23.model.common.api {
exports com.hack23.cia.model.common.api;
}
50 changes: 50 additions & 0 deletions model.common.impl/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,53 @@
/**
* CIA (Citizen Intelligence Agency) Common Model Implementation Module.
*
* <p>This module provides the concrete implementations of the common model interfaces
* defined in the API module. It includes base implementations for common data structures
* and XML handling utilities used throughout the CIA application.</p>
*
* <p>The module exports two packages:</p>
* <ul>
* <li>{@code com.hack23.cia.model.common.impl} - Core model implementations</li>
* <li>{@code com.hack23.cia.model.common.impl.xml} - XML binding and processing utilities</li>
* </ul>
*
* <p>Implementation Features:</p>
* <ul>
* <li>Base Model Implementation
* <ul>
* <li>Entity implementations</li>
* <li>Data transfer object implementations</li>
* <li>Common model patterns</li>
* </ul>
* </li>
* <li>XML Support
* <ul>
* <li>JAXB bindings</li>
* <li>XML serialization utilities</li>
* <li>Data format conversions</li>
* </ul>
* </li>
* <li>Utility Features
* <ul>
* <li>Logging integration</li>
* <li>String manipulation</li>
* <li>Common operations</li>
* </ul>
* </li>
* </ul>
*
* <p>This module implements the interfaces defined in {@code com.hack23.model.common.api}
* and provides the foundation for all model implementations in the CIA application. It
* ensures consistent handling of:</p>
* <ul>
* <li>Data persistence</li>
* <li>XML marshalling/unmarshalling</li>
* <li>Common operations</li>
* <li>Logging and error handling</li>
* </ul>
*
* @see com.hack23.model.common.api
*/
open module com.hack23.cia.model.common.impl {
requires com.hack23.model.common.api;
requires java.xml.bind;
Expand Down
7 changes: 7 additions & 0 deletions parent-pom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1581,6 +1581,13 @@
<detectJavaApiLink>false</detectJavaApiLink>
<detectOfflineLinks>false</detectOfflineLinks>
<linksource>false</linksource>
<additionalDependencies>
<additionalDependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>4.0.1</version>
</additionalDependency>
</additionalDependencies>
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
<dependencySourceInclude>com.hack23.cia:*</dependencySourceInclude>
Expand Down
49 changes: 49 additions & 0 deletions service.api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
/**
* CIA (Citizen Intelligence Agency) Service API Module.
*
* <p>This module defines the core service API for the CIA application, providing
* interfaces for all business operations and actions. It acts as the primary
* interface layer between the presentation tier and the business logic.</p>
*
* <p>The module exports the following packages:</p>
* <ul>
* <li>{@code com.hack23.cia.service.api} - Core service interfaces</li>
* <li>{@code com.hack23.cia.service.api.action.admin} - Administrative operations</li>
* <li>{@code com.hack23.cia.service.api.action.application} - Application-wide functionality</li>
* <li>{@code com.hack23.cia.service.api.action.common} - Shared action definitions</li>
* <li>{@code com.hack23.cia.service.api.action.user} - User-specific operations</li>
* <li>{@code com.hack23.cia.service.api.action.kpi} - Key Performance Indicators</li>
* </ul>
*
* <p>Functional Areas:</p>
* <ul>
* <li>Administrative Operations
* <ul>
* <li>System configuration and management</li>
* <li>User administration</li>
* <li>Security controls</li>
* </ul>
* </li>
* <li>Data Analysis
* <ul>
* <li>Political performance tracking</li>
* <li>Financial metrics analysis</li>
* <li>Institutional monitoring</li>
* </ul>
* </li>
* <li>Key Performance Indicators
* <ul>
* <li>Political efficiency metrics</li>
* <li>Financial performance indicators</li>
* <li>Trend analysis</li>
* </ul>
* </li>
* </ul>
*
* <p>The API utilizes validation constraints and supports operations across various
* data models including Swedish Parliament (Riksdagen), Election Authority (Val),
* and internal application data.</p>
*
* @see com.hack23.cia.service.data.api
* @see com.hack23.cia.model.internal.application.user.impl
*/
open module com.hack23.cia.service.api {

exports com.hack23.cia.service.api;
Expand Down
27 changes: 27 additions & 0 deletions service.component.agent.api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
/**
* CIA (Citizen Intelligence Agency) Agent API Module.
*
* <p>This module defines the public API for the CIA agent component, which is responsible
* for data collection and processing operations within the Citizen Intelligence Agency
* application. It provides interfaces and definitions for agent operations while maintaining
* a clear separation between the API and its implementation.</p>
*
* <p>The module exports a single package:</p>
* <ul>
* <li>{@code com.hack23.cia.service.component.agent.api} - Core agent interfaces and definitions</li>
* </ul>
*
* <p>Key Aspects:</p>
* <ul>
* <li>Defines contracts for data collection agents</li>
* <li>Specifies interfaces for processing political and financial data</li>
* <li>Supports OSINT (Open Source Intelligence) operations</li>
* <li>Integrates with internal user model for operation authentication and authorization</li>
* </ul>
*
* <p>This API module is designed to be lightweight, only requiring the internal application
* user model implementation for authentication and authorization purposes. It serves as the
* contract between the CIA application and various data collection implementations.</p>
*
* @see com.hack23.cia.model.internal.application.user.impl
*/
open module com.hack23.cia.service.component.agent.api {
exports com.hack23.cia.service.component.agent.api;

Expand Down
53 changes: 53 additions & 0 deletions service.component.agent.impl/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,56 @@
/**
* CIA (Citizen Intelligence Agency) Agent Implementation Module.
*
* <p>This module implements the data collection and processing agents for the CIA application.
* It provides implementations for retrieving and processing data from multiple sources including
* the Swedish Parliament (Riksdagen), Election Authority (Val), and World Bank.</p>
*
* <p>The module exports the following key packages:</p>
* <ul>
* <li>{@code com.hack23.cia.service.component.agent.impl.command} - Command processing implementations</li>
* <li>{@code com.hack23.cia.service.component.agent.impl.riksdagen} - Swedish Parliament data agents</li>
* <li>{@code com.hack23.cia.service.component.agent.impl.val} - Election data agents</li>
* <li>{@code com.hack23.cia.service.component.agent.impl.worldbank} - World Bank data agents</li>
* </ul>
*
* <p>Key Features:</p>
* <ul>
* <li>Automated data collection from multiple sources</li>
* <li>JMS-based message processing</li>
* <li>Spring-managed transaction handling</li>
* <li>Secure data processing with Spring Security integration</li>
* <li>Comprehensive data model support for various external sources</li>
* </ul>
*
* <p>Data Sources Integration:</p>
* <ul>
* <li>Swedish Parliament (Riksdagen)
* <ul>
* <li>Political documents and status</li>
* <li>Voting records</li>
* <li>Member information</li>
* <li>Committee proposals</li>
* </ul>
* </li>
* <li>Election Authority (Val)
* <ul>
* <li>Electoral district data</li>
* <li>Political party information</li>
* <li>Regional election data</li>
* </ul>
* </li>
* <li>World Bank
* <ul>
* <li>Economic indicators</li>
* <li>Country data</li>
* <li>Topic classifications</li>
* </ul>
* </li>
* </ul>
*
* @see com.hack23.cia.service.component.agent.api
* @see com.hack23.cia.service.external.common
*/
open module com.hack23.cia.service.component.agent.impl {


Expand Down
49 changes: 49 additions & 0 deletions service.data.api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
/**
* CIA (Citizen Intelligence Agency) Data Service API Module.
*
* <p>This module defines the data service API for the CIA application, providing
* interfaces for data persistence and retrieval operations. It serves as the primary
* contract for database operations across the application.</p>
*
* <p>The module exports a single package:</p>
* <ul>
* <li>{@code com.hack23.cia.service.data.api} - Core data service interfaces and definitions</li>
* </ul>
*
* <p>Data Model Integration:</p>
* <ul>
* <li>Internal Models:
* <ul>
* <li>User management and authentication</li>
* </ul>
* </li>
* <li>Swedish Parliament (Riksdagen) Models:
* <ul>
* <li>Voting records and lists</li>
* <li>Document content and status</li>
* <li>Person and member information</li>
* <li>Committee proposals</li>
* </ul>
* </li>
* <li>Election Authority (Val) Models:
* <ul>
* <li>Electoral districts (Riksdag, Kommune, Landsting)</li>
* <li>Political party information</li>
* </ul>
* </li>
* <li>World Bank Models:
* <ul>
* <li>Country information</li>
* <li>Topics and indicators</li>
* <li>Economic data</li>
* </ul>
* </li>
* </ul>
*
* <p>All model dependencies are marked as transitive to ensure availability
* throughout the application. The API integrates with JPA for persistence
* operations.</p>
*
* @see javax.persistence
* @see com.hack23.cia.model.internal.application.user.impl
*/
open module com.hack23.cia.service.data.api {
exports com.hack23.cia.service.data.api;

Expand Down
30 changes: 30 additions & 0 deletions service.data.impl/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
/**
* CIA (Citizen Intelligence Agency) Data Service Implementation Module.
*
* <p>This module provides the core data persistence and management implementation
* for the CIA application. It handles database operations, caching, search functionality,
* and audit tracking through various technology integrations.</p>
*
* <p>Key features include:</p>
* <ul>
* <li>Database persistence using Hibernate ORM and JPA</li>
* <li>Full-text search capabilities via Hibernate Search and Lucene</li>
* <li>Data auditing and versioning through Javers</li>
* <li>AWS Secrets Manager integration for secure credential management</li>
* <li>Caching support with EhCache</li>
* <li>Transaction management with Spring</li>
* </ul>
*
* <p>The module exports two packages:</p>
* <ul>
* <li>{@code com.hack23.cia.service.data.impl} - Main implementation classes</li>
* <li>{@code com.hack23.cia.service.data.impl.util} - Utility classes for data operations</li>
* </ul>
*
* <p>This module is part of the CIA (Citizen Intelligence Agency) project, which focuses on
* monitoring political figures and institutions while providing insights into financial
* performance, risk metrics, and political trends.</p>
*
* @provides com.hack23.cia.service.data.api Implementation of CIA data service API
* @see com.hack23.cia.service.data.api
*/
open module com.hack23.cia.service.data.impl {
exports com.hack23.cia.service.data.impl;
exports com.hack23.cia.service.data.impl.util;
Expand Down
Loading

0 comments on commit 38aa535

Please sign in to comment.