MovementMapperImpl.java

package org.openwms.wms.movements.impl;

import javax.annotation.processing.Generated;
import org.openwms.common.transport.Barcode;
import org.openwms.wms.movements.api.MovementVO;
import org.openwms.wms.movements.commands.MovementMO;
import org.openwms.wms.movements.spi.DefaultMovementState;
import org.springframework.stereotype.Component;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor"
)
@Component
public class MovementMapperImpl extends MovementMapper {

    @Override
    public MovementVO convertToVO(MovementMO mo) {
        if ( mo == null ) {
            return null;
        }

        MovementVO.MovementVOBuilder movementVO = MovementVO.builder();

        movementVO.initiator( mo.getInitiator() );
        movementVO.target( mo.getTarget() );

        return movementVO.build();
    }

    @Override
    public MovementVO convertToVO(Movement eo) {
        if ( eo == null ) {
            return null;
        }

        MovementVO.MovementVOBuilder movementVO = MovementVO.builder();

        if ( eo.hasPersistentKey() ) {
            movementVO.persistentKey( eo.getPersistentKey() );
        }
        movementVO.transportUnitBk( eoTransportUnitBkValue( eo ) );
        movementVO.target( eo.getTargetLocationGroup() );
        movementVO.type( eo.getType() );
        movementVO.startMode( eo.getMode() );
        movementVO.startedAt( eo.getStartDate() );
        movementVO.finishedAt( eo.getEndDate() );
        movementVO.initiator( eo.getInitiator() );
        movementVO.sku( eo.getSku() );
        if ( eo.getState() != null ) {
            movementVO.state( eo.getState().name() );
        }
        movementVO.sourceLocation( eo.getSourceLocation() );
        movementVO.sourceLocationGroupName( eo.getSourceLocationGroupName() );
        movementVO.targetLocationGroup( eo.getTargetLocationGroup() );
        movementVO.latestDueDate( eo.getLatestDueDate() );

        movementVO.priority( convertFrom(eo.getPriority()) );
        movementVO.createdAt( java.time.LocalDateTime.now().atZone(java.time.ZoneOffset.UTC) );

        return movementVO.build();
    }

    @Override
    public Movement convertTo(MovementVO vo) {
        if ( vo == null ) {
            return null;
        }

        Movement movement = new Movement();

        movement.setPersistentKey( vo.getPersistentKey() );
        if ( vo.hasTarget() ) {
            movement.setTargetLocationGroup( vo.getTarget() );
        }
        movement.setType( vo.getType() );
        movement.setMode( vo.getStartMode() );
        movement.setStartDate( vo.getStartedAt() );
        movement.setEndDate( vo.getFinishedAt() );
        movement.setInitiator( vo.getInitiator() );
        movement.setSku( vo.getSku() );
        if ( vo.getState() != null ) {
            movement.setState( Enum.valueOf( DefaultMovementState.class, vo.getState() ) );
        }
        movement.setSourceLocation( vo.getSourceLocation() );
        movement.setSourceLocationGroupName( vo.getSourceLocationGroupName() );

        movement.setTransportUnitBk( Barcode.of(vo.getTransportUnitBk()) );
        movement.setPriority( convertTo(vo.getPriority()) );

        return movement;
    }

    private String eoTransportUnitBkValue(Movement movement) {
        Barcode transportUnitBk = movement.getTransportUnitBk();
        if ( transportUnitBk == null ) {
            return null;
        }
        return transportUnitBk.getValue();
    }
}