Skip to content

Commit

Permalink
Expose registerDefaultTransformer in CrudHelper
Browse files Browse the repository at this point in the history
  • Loading branch information
Idane committed Aug 16, 2021
1 parent 79f07d0 commit 0b4169e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.antelopesystem.crudframework.crud.decorator.ObjectDecorator;
import com.antelopesystem.crudframework.crud.hooks.interfaces.CRUDHooks;
import com.antelopesystem.crudframework.crud.model.EntityMetadataDTO;
import com.antelopesystem.crudframework.fieldmapper.transformer.base.FieldTransformer;
import com.antelopesystem.crudframework.model.BaseCrudEntity;
import com.antelopesystem.crudframework.modelfilter.DynamicModelFilter;
import com.antelopesystem.crudframework.modelfilter.FilterField;
Expand Down Expand Up @@ -63,4 +64,8 @@ public interface CrudHelper {
<Entity> Long getTotalFromPagingCache(Class<Entity> entityClazz, DynamicModelFilter filter);

<ID extends Serializable, Entity extends BaseCrudEntity<ID>> CrudDao getCrudDaoForEntity(Class<Entity> entityClazz);

void registerDefaultTransformer(FieldTransformer transformer);

void registerDefaultTransformer(FieldTransformer transformer, Class<?> fromType, Class<?> toType);
}
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,16 @@ public <ID extends Serializable, Entity extends BaseCrudEntity<ID>> CrudDao getC
});
}

@Override
public void registerDefaultTransformer(FieldTransformer transformer) {
fieldMapper.registerDefaultTransformer(transformer);
}

@Override
public void registerDefaultTransformer(FieldTransformer transformer, Class<?> fromType, Class<?> toType) {
fieldMapper.registerDefaultTransformer(transformer, fromType, toType);
}

private void initFieldMapper() {
for(Map.Entry<String, FieldTransformer> entry : fieldTransformers.entrySet()) {
fieldMapper.registerTransformer(entry.getKey(), entry.getValue());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,13 @@ public void registerDefaultTransformer(FieldTransformer transformer) {
}

public void registerDefaultTransformer(FieldTransformer transformer, Class<?> fromType, Class<?> toType) {
if(transformer.isDefault()) {
Pair key = new Pair<>(fromType, toType);
FieldTransformer existing = defaultTransformers.get(key);
if(existing != null) {
throw new IllegalStateException("Cannot register default transformer for pair [ " + key + " ] - already registered by [ " + existing.getClass().getName() + " ]");
}

defaultTransformers.put(key, transformer);
Pair key = new Pair<>(fromType, toType);
FieldTransformer existing = defaultTransformers.get(key);
if(existing != null) {
throw new IllegalStateException("Cannot register default transformer for pair [ " + key + " ] - already registered by [ " + existing.getClass().getName() + " ]");
}

defaultTransformers.put(key, transformer);
}

public <T> T processMappedFields(Object object, Class<T> toClazz) {
Expand Down

0 comments on commit 0b4169e

Please sign in to comment.