Step 1
The first step is to remove the code generation. This will take you less than 10 minutes.
a) In the maven pom.xml you remove the following:
- plugin fornax-oaw-m2-plugin
- plugin maven-clean-plugin
- plugin fornax-checksum-m2-plugin
- dependency fornax-cartridges-sculptor-generator
- model files, .btdesign, .guidesign
- sculptor-generator.properties
- templates/SpecialCases.xpt
- extensions/SpecialCases.ext
- src/generated/java -> src/main/java
- src/generated/resources -> src/main/resources
- src/test/generated/java -> src/test/java
- src/test/generated/resources -> src/test/resources
Step 2
You don't need to do more right away, but later you would probably like to refactor the gap classes. Separation of generated and manually written code is done by a generated base class and manually written subclass. E.g. Person and PersonBase. You would probably like to collapse those into one class. To do this you can use the 'Push Down' refactoring in Eclipse, or simply copy paste the code from the base class to the subclass, and remove the extension.
This takes a few minutes per class, so you should be able to do a whole project within a few hours. It is a trivial and safe refactoring.
Step 3
You don't need to do more right away, but later you would probably like to refactor the gap classes. Separation of generated and manually written code is done by a generated base class and manually written subclass. E.g. Person and PersonBase. You would probably like to collapse those into one class. To do this you can use the 'Push Down' refactoring in Eclipse, or simply copy paste the code from the base class to the subclass, and remove the extension.
This takes a few minutes per class, so you should be able to do a whole project within a few hours. It is a trivial and safe refactoring.
Step 3
Sculptor is a development tool, but it also has a small runtime library, with classes of utility and general character. This blog post explains why we have a runtime library. You can continue to use those classes as is. If you feel uncomfortable with that you can copy the source and remove classes that you don't use. The runtime library is not advanced at all, and you will have no problems to understan, maintain and change it as you need.
No comments:
Post a Comment