git clone <repository-url>
cd NameOpsmvn clean installmvn spring-boot:runThe service will start on http://localhost:8080
curl http://localhost:8080/api/v1/nameops/healthcurl http://localhost:8080/api/v1/nameops/conventioncurl -X POST http://localhost:8080/api/v1/nameops/generate \
-H "Content-Type: application/json" \
-d '{
"area": "TB",
"specificArea": "01",
"device": "PS",
"position": "10"
}'curl -X POST http://localhost:8080/api/v1/nameops/validate \
-H "Content-Type: application/json" \
-d '{
"name": "TB:01-PS10.01_01-RB"
}'Access the interactive Swagger UI documentation:
http://localhost:8080/swagger-ui.html
Access the H2 console for database inspection:
http://localhost:8080/h2-console
Connection Details:
- JDBC URL:
jdbc:h2:mem:nameops - Username:
sa - Password: (leave empty)
NameOps/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── gov/bnl/eic/nameops/
│ │ │ ├── NameOpsApplication.java
│ │ │ └── controller/
│ │ │ └── NameController.java
│ │ └── resources/
│ │ └── application.properties
│ └── test/
│ └── java/
│ └── gov/bnl/eic/nameops/
│ └── NameOpsApplicationTests.java
├── resources/
│ ├── SWN_abbreviation_database(swn abv editable for EIC).csv
│ ├── es swn lattice(es_swn_lattice).csv
│ └── naming examples(Sheet1).csv
├── pom.xml
├── README.md
├── naming-convention.md
└── .gitignore
- Implement name generation logic in
NameController.generateName() - Implement validation logic in
NameController.validateName() - Load CSV data from resources directory
- Create service layer for business logic
- Add comprehensive unit and integration tests
If port 8080 is already in use, you can change it in application.properties:
server.port=8081Ensure you have Java 17 or higher:
java -versionCheck the logs for detailed error messages:
tail -f logs/spring-boot.log