Skip to content

Commit

Permalink
CAUSEWAY-3409: simplify further
Browse files Browse the repository at this point in the history
  • Loading branch information
andi-huber committed Apr 17, 2023
1 parent aa3973d commit 77fab68
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 39 deletions.
Expand Up @@ -75,14 +75,11 @@ public ActionDomainEventFacet(

@Override
public void initWithMixee(final ObjectSpecification mixeeSpec) {
if(!getEventTypeOrigin().isDefault()) return; // skip if already set explicitly
mixeeSpec
.lookupFacet(ActionDomainEventDefaultFacetForDomainObjectAnnotation.class)
.ifPresent(facetOnMixee->{
if(facetOnMixee.getEventType() != ActionDomainEvent.Default.class
&& getEventTypeOrigin().isDefault()) {
super.updateEventType(facetOnMixee.getEventType(), EventTypeOrigin.ANNOTATED_OBJECT);
}
});
.ifPresent(facetOnMixee->
super.updateEventType(facetOnMixee.getEventType(), EventTypeOrigin.ANNOTATED_OBJECT));
}

@Override
Expand Down
Expand Up @@ -50,14 +50,11 @@ public CollectionDomainEventFacet(

@Override
public void initWithMixee(final ObjectSpecification mixeeSpec) {
if(!getEventTypeOrigin().isDefault()) return; // skip if already set explicitly
mixeeSpec
.lookupFacet(CollectionDomainEventDefaultFacetForDomainObjectAnnotation.class)
.ifPresent(facetOnMixee->{
if(facetOnMixee.getEventType() != CollectionDomainEvent.Default.class
&& getEventTypeOrigin().isDefault()) {
super.updateEventType(facetOnMixee.getEventType(), EventTypeOrigin.ANNOTATED_OBJECT);
}
});
.ifPresent(facetOnMixee->
super.updateEventType(facetOnMixee.getEventType(), EventTypeOrigin.ANNOTATED_OBJECT));
}

@Override
Expand Down
Expand Up @@ -34,9 +34,6 @@
import org.apache.causeway.applib.annotation.Nature;
import org.apache.causeway.applib.annotation.Property;
import org.apache.causeway.applib.annotation.Value;
import org.apache.causeway.applib.events.domain.ActionDomainEvent;
import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
import org.apache.causeway.applib.events.lifecycle.ObjectCreatedEvent;
import org.apache.causeway.applib.events.lifecycle.ObjectLoadedEvent;
import org.apache.causeway.applib.events.lifecycle.ObjectPersistedEvent;
Expand Down Expand Up @@ -528,9 +525,8 @@ private void processDomainEventAction(

domainObjectIfAny
.map(DomainObject::actionDomainEvent)
.filter(domainEvent -> domainEvent != ActionDomainEvent.Default.class)
.map(domainEvent -> new ActionDomainEventDefaultFacetForDomainObjectAnnotation(
holder, domainEvent))
.flatMap(domainEvent -> ActionDomainEventDefaultFacetForDomainObjectAnnotation
.create(domainEvent, holder))
.ifPresent(super::addFacet);

}
Expand All @@ -541,9 +537,8 @@ private void processDomainEventProperty(

domainObjectIfAny
.map(DomainObject::propertyDomainEvent)
.filter(domainEvent -> domainEvent != PropertyDomainEvent.Default.class)
.map(domainEvent -> new PropertyDomainEventDefaultFacetForDomainObjectAnnotation(
holder, domainEvent))
.flatMap(domainEvent -> PropertyDomainEventDefaultFacetForDomainObjectAnnotation
.create(domainEvent, holder))
.ifPresent(super::addFacet);
}

Expand All @@ -553,9 +548,8 @@ private void processDomainEventCollection(

domainObjectIfAny
.map(DomainObject::collectionDomainEvent)
.filter(domainEvent -> domainEvent != CollectionDomainEvent.Default.class)
.map(domainEvent -> new CollectionDomainEventDefaultFacetForDomainObjectAnnotation(
holder, domainEvent))
.flatMap(domainEvent -> CollectionDomainEventDefaultFacetForDomainObjectAnnotation
.create(domainEvent, holder))
.ifPresent(super::addFacet);
}

Expand Down
Expand Up @@ -18,6 +18,8 @@
*/
package org.apache.causeway.core.metamodel.facets.object.domainobject.domainevents;

import java.util.Optional;

import org.apache.causeway.applib.events.domain.ActionDomainEvent;
import org.apache.causeway.core.metamodel.facetapi.Facet;
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
Expand All @@ -31,13 +33,21 @@
public class ActionDomainEventDefaultFacetForDomainObjectAnnotation
extends DomainEventFacetAbstract<ActionDomainEvent<?>> {

public static Optional<ActionDomainEventDefaultFacetForDomainObjectAnnotation> create(
final Class<? extends ActionDomainEvent<?>> domainEvent,
final FacetHolder holder) {
return domainEvent != ActionDomainEvent.Default.class
? Optional.of(new ActionDomainEventDefaultFacetForDomainObjectAnnotation(domainEvent, holder))
: Optional.empty();
}

private static Class<? extends Facet> type() {
return ActionDomainEventDefaultFacetForDomainObjectAnnotation.class;
}

public ActionDomainEventDefaultFacetForDomainObjectAnnotation(
final FacetHolder holder,
final Class<? extends ActionDomainEvent<?>> value) {
private ActionDomainEventDefaultFacetForDomainObjectAnnotation(
final Class<? extends ActionDomainEvent<?>> value,
final FacetHolder holder) {
super(type(), value, EventTypeOrigin.ANNOTATED_OBJECT, holder);
}

Expand Down
Expand Up @@ -18,6 +18,8 @@
*/
package org.apache.causeway.core.metamodel.facets.object.domainobject.domainevents;

import java.util.Optional;

import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
import org.apache.causeway.core.metamodel.facetapi.Facet;
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
Expand All @@ -31,13 +33,21 @@
public class CollectionDomainEventDefaultFacetForDomainObjectAnnotation
extends DomainEventFacetAbstract<CollectionDomainEvent<?, ?>> {

public static Optional<CollectionDomainEventDefaultFacetForDomainObjectAnnotation> create(
final Class<? extends CollectionDomainEvent<?,?>> domainEvent,
final FacetHolder holder) {
return domainEvent != CollectionDomainEvent.Default.class
? Optional.of(new CollectionDomainEventDefaultFacetForDomainObjectAnnotation(domainEvent, holder))
: Optional.empty();
}

private static Class<? extends Facet> type() {
return CollectionDomainEventDefaultFacetForDomainObjectAnnotation.class;
}

public CollectionDomainEventDefaultFacetForDomainObjectAnnotation(
final FacetHolder holder,
final Class<? extends CollectionDomainEvent<?, ?>> value) {
private CollectionDomainEventDefaultFacetForDomainObjectAnnotation(
final Class<? extends CollectionDomainEvent<?, ?>> value,
final FacetHolder holder) {
super(type(), value, EventTypeOrigin.ANNOTATED_OBJECT, holder);
}

Expand Down
Expand Up @@ -18,6 +18,8 @@
*/
package org.apache.causeway.core.metamodel.facets.object.domainobject.domainevents;

import java.util.Optional;

import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
import org.apache.causeway.core.metamodel.facetapi.Facet;
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
Expand All @@ -31,13 +33,21 @@
public class PropertyDomainEventDefaultFacetForDomainObjectAnnotation
extends DomainEventFacetAbstract<PropertyDomainEvent<?, ?>> {

public static Optional<PropertyDomainEventDefaultFacetForDomainObjectAnnotation> create(
final Class<? extends PropertyDomainEvent<?,?>> domainEvent,
final FacetHolder holder) {
return domainEvent != PropertyDomainEvent.Default.class
? Optional.of(new PropertyDomainEventDefaultFacetForDomainObjectAnnotation(domainEvent, holder))
: Optional.empty();
}

private static Class<? extends Facet> type() {
return PropertyDomainEventDefaultFacetForDomainObjectAnnotation.class;
}

public PropertyDomainEventDefaultFacetForDomainObjectAnnotation(
final FacetHolder holder,
final Class<? extends PropertyDomainEvent<?,?>> value) {
private PropertyDomainEventDefaultFacetForDomainObjectAnnotation(
final Class<? extends PropertyDomainEvent<?,?>> value,
final FacetHolder holder) {
super(type(), value, EventTypeOrigin.ANNOTATED_OBJECT, holder);
}

Expand Down
Expand Up @@ -82,14 +82,11 @@ public PropertyDomainEventFacet(

@Override
public void initWithMixee(final ObjectSpecification mixeeSpec) {
if(!getEventTypeOrigin().isDefault()) return; // skip if already set explicitly
mixeeSpec
.lookupFacet(PropertyDomainEventDefaultFacetForDomainObjectAnnotation.class)
.ifPresent(facetOnMixee->{
if(facetOnMixee.getEventType() != PropertyDomainEvent.Default.class
&& getEventTypeOrigin().isDefault()) {
super.updateEventType(facetOnMixee.getEventType(), EventTypeOrigin.ANNOTATED_OBJECT);
}
});
.ifPresent(facetOnMixee->
super.updateEventType(facetOnMixee.getEventType(), EventTypeOrigin.ANNOTATED_OBJECT));
}

@Override
Expand Down

0 comments on commit 77fab68

Please sign in to comment.