Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

decouple mmm and cleanup #18

Merged
merged 8 commits into from
Oct 29, 2018
Merged

Conversation

hohwille
Copy link
Member

@hohwille hohwille commented Oct 4, 2018

sorry for mixing multiple issues into one PR but whilst working on #14 I hit compile errors in deprecated classes so I removed them to avoid pointless work what is however #13. Same thing happened for oasp/oasp4j#684 on my way.

Summary:

  • modules like base or jpa* do not depend on mmm any more.
  • Therefore I had to introduce GenericEntity, RevisionedEntity, PersistenceEntity and RevisionedPersistentEntity into devon4j (first 2 in basic other 2 in jpa-basic).
  • Also I had to introduce UserSessionAccess with some more stuff as a bridge to spring-security.
  • I copied lots of the JavaDocs for all this from mmm but adjusted it to devon4j.
  • I removed all deprecated types including the entire devon4j-jpa module.
  • I added JacksonUtil and removed AbstractJsonDeserializer (see Expose exception handling to AbstractJsonDeserializer API oasp/oasp4j#684).
  • The modules cxf-client and service still have explicit dependency on mmm (currently mmm-util-core). But all they need/use is the Exception/UUID/I18N stuff. I have no further plans to remove this as well. With mmm-util-core: further modularization m-m-m/util#250 we could even reduce the dependency to mmm-exception and then namespace/classpath is not "polluted" with StringUtil, etc. anymore.

@hohwille hohwille mentioned this pull request Oct 4, 2018
@hohwille hohwille changed the title Feature 14 decouple mmm decouple mmm and cleanup Oct 5, 2018
@hohwille
Copy link
Member Author

hohwille commented Oct 5, 2018

My personal suggestion is to include this PR into our first release 3.0.0. I am dying for your feedback about this idea.

@hohwille
Copy link
Member Author

hohwille commented Oct 5, 2018

Potential implication for CobiGen:
In case some project is using Envers via RevisionedPersistenceEntity, then CobiGen templates would have to be reworked:

  • If an ETO is generated from an entity that implements RevisionedPersistenceEntity (or RevisionedEntity) then the generated ETO has to derive from RevisionedEto rather than AbstractEto.

@maybeec
Copy link
Member

maybeec commented Oct 5, 2018

Fine for me.

@jdiazgon can you keep track of that? Pleaes create an issue for that in Cobigen referencing this PR?
Anyhow, lets first create a working set of templates for oasp4j 3.0.0 before starting with that. Then afterwards start working on a version of devon4j 3.0.0 as we messed up here. Anyhow, we should be able to deliver working sets of both. Maybe we even have to release different versions of template sets to maven central.
After supporting oasp4j 3.0.0 once, we will continue just supporting devon4j ongoing.

@jdiazgon
Copy link
Member

jdiazgon commented Oct 5, 2018

Done :)

…on support we would lose valuable features and making it optional seems to be overcomplicated.
@hohwille
Copy link
Member Author

For the record: please do not merge this yet. A review is very welcome. However, I missed some changes/fixes in bean-mapping that I am currently working on. Further I am going to update to mmm-util:7.6.1 so we can reduce further dependencies.

…also to basic for simplicity, decoupled web component, upgraded to modularized mmm-util and reduced dependency to mmm-util-exception)
@hohwille
Copy link
Member Author

now ready.

@hohwille
Copy link
Member Author

[INFO] [INFO] Downloading from apache-snapshots: https://repository.apache.org/snapshots/com/devonfw/java/modules/devon4j-beanmapping/3.0.0-SNAPSHOT/maven-metadata.xml
[INFO] [WARNING] Could not transfer metadata com.devonfw.java.modules:devon4j-beanmapping:3.0.0-SNAPSHOT/maven-metadata.xml from/to apache-snapshots (https://repository.apache.org/snapshots/): Connect to repository.apache.org:443 [repository.apache.org/207.244.88.140] failed: Connection timed out (Connection timed out)
[INFO] [WARNING] Failure to transfer com.devonfw.java.modules:devon4j-beanmapping:3.0.0-SNAPSHOT/maven-metadata.xml from https://repository.apache.org/snapshots/ was cached in the local repository, resolution will not be reattempted until the update interval of apache-snapshots has elapsed or updates are forced. Original error: Could not transfer metadata com.devonfw.java.modules:devon4j-beanmapping:3.0.0-SNAPSHOT/maven-metadata.xml from/to apache-snapshots (https://repository.apache.org/snapshots/): Connect to repository.apache.org:443 [repository.apache.org/207.244.88.140] failed: Connection timed out (Connection timed out)

Currently travis is unfortunately not serving its prupose as a reliable CI tool. I contacted the support and hope they are going to fix this asap. Meanwhile we have to ignore such travis errors what makes us a little blind for real build errors. However, I can confirm that I successfully ran mvn clean install on my local machine before pushing the latest changes.

@hohwille
Copy link
Member Author

I asked everywhere for reviews on this. @maybeec gave his go - thanks for that. However, we do not have a formal review and no other feedback. I will have to merge this PR in the next days. It would be awesome to have more feedback and a review, but time for release is running out...

@hohwille hohwille merged commit c8f25cb into devonfw:develop Oct 29, 2018
@hohwille hohwille mentioned this pull request Oct 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants