Converted the codebase from Bergen-specific to a generic, municipality-independent implementation.
- Old:
no.bergenkommune.matrikkel.* - New:
no.matrikkel.* - Impact: All Java source files, imports, and package declarations updated
- Updated
groupIdin pom.xml:no.bergenkommune→no.matrikkel - Updated generated SOAP package:
no.bergenkommune.matrikkel.client.generated.nedlastning→no.matrikkel.client.generated.nedlastning - Updated project description to emphasize generic nature
- Updated all
application*.ymlfiles with new package names - Removed Bergen-specific references in comments
- Updated API credentials documentation to use
[municipality]placeholder
- Updated
.github/copilot-instructions.mdwith generic municipality references - Replaced
bergenaktivkommunewith[municipality]in examples - Updated README.md to emphasize municipality-independence
- All API credentials now shown as configurable per municipality
- All 23 Java files refactored with new package structure
- Fully qualified class names updated in comments and method signatures
- Removed Bergen-specific hardcoded values
- All operations now accept
kommunenummeras parameter
pom.xml- groupId and SOAP package names- All
.ymlconfiguration files - logging package names - All Java source files (23 files) - package declarations and imports
.github/copilot-instructions.md- documentationREADME.md- user-facing documentation- All
*.mdfiles - Bergen references genericized
✅ Project compiles successfully (mvn clean compile)
✅ WSDL generation works with new package structure
✅ Import command tested with kommune 4601 (Bergen)
✅ Database operations functional
✅ Eierforhold mapping working correctly
The application is now fully generic. To use with any municipality:
-
Set credentials in
.env:MATRIKKEL_USERNAME=[your_municipality]_test MATRIKKEL_PASSWORD=your_password -
Run import with any kommune:
mvn spring-boot:run \ -Dspring-boot.run.arguments="--import --kommune=<kommunenummer> --limit=200"
- Package names changed - any external references to
no.bergenkommune.matrikkelmust be updated - Generated SOAP classes now in
no.matrikkel.client.generated.nedlastningpackage
- No municipality-specific logic remains in source code
- All municipality-specific configuration is externalized to environment variables
- Code structure promotes reusability across all Norwegian municipalities
- Database schema is municipality-agnostic
- Test with multiple municipalities (different kommunenummer values)
- Verify coordinate system handling for different regions (koordinatsystemKodeId)
- Test with various batch sizes
- Verify eierforhold data for different ownership patterns