making use of the new RegistationService methods
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Mon, 8 May 2017 07:50:36 +0000 (09:50 +0200)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Mon, 8 May 2017 07:50:36 +0000 (09:50 +0200)
src/main/java/eu/etaxonomy/cdm/mock/IRegistrationWorkingSetService.java
src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
src/main/java/eu/etaxonomy/cdm/mock/RegistrationWorkingSetService.java
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListPresenter.java
src/main/java/eu/etaxonomy/vaadin/mvp/AbstractCdmEditorPresenter.java

index 1e5675c958e2a72846bb7a2779a6a58f6cc3eb18..79e2d8975645697bc7e6ffab7f1e29b3cfb6551e 100644 (file)
@@ -10,6 +10,8 @@ package eu.etaxonomy.cdm.mock;
 
 import java.util.Collection;
 
+import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.name.RegistrationStatus;
 import eu.etaxonomy.cdm.vaadin.model.registration.RegistrationWorkingSet;
 import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationDTO;
 import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationValidationException;
@@ -30,6 +32,8 @@ public interface IRegistrationWorkingSetService {
 
     public Collection<RegistrationDTO> listDTOs();
 
+    public Collection<RegistrationDTO> listDTOsFor(User submitter, Collection<RegistrationStatus> includedStatus);
+
     /**
      * @param  id the CDM Entity id
      * @return
index 4ce2f2dd8c84b5b7edf7cd94219cab6d052dc70a..171172c6a3fe70890b5ea512e819790dd821b9f1 100644 (file)
@@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import eu.etaxonomy.cdm.api.application.CdmRepository;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.Registration;
 import eu.etaxonomy.cdm.model.name.RegistrationStatus;
@@ -221,5 +222,14 @@ public class RegistrationService implements IRegistrationWorkingSetService {
         return new RegistrationWorkingSet(registrationDTOsByCitationId.get(dto.getCitationID()));
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Collection<RegistrationDTO> listDTOsFor(User submitter, Collection<RegistrationStatus> includedStatus) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
 
 }
index 0adb8be53b78ca83728f5dc683353c5d29fe7a8e..93bdc5fd0132aa4324b046c73679a4f97d9e06fb 100644 (file)
@@ -13,6 +13,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
 import java.util.UUID;
 
@@ -37,10 +38,12 @@ import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.common.Extension;
 import eu.etaxonomy.cdm.model.common.ExtensionType;
+import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.name.Registration;
 import eu.etaxonomy.cdm.model.name.RegistrationStatus;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
+import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.vaadin.model.registration.RegistrationWorkingSet;
 import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationDTO;
@@ -87,6 +90,72 @@ public class RegistrationWorkingSetService implements IRegistrationWorkingSetSer
     }
 
 
+    /**
+     * @param id the CDM Entity id
+     * @return
+     */
+    @Override
+    public RegistrationDTO loadDtoById(Integer id) {
+        Registration reg = repo.getRegistrationService().find(id);
+        return new RegistrationDTO(reg);
+    }
+
+
+    @Override
+    public Collection<RegistrationDTO> listDTOs() {
+
+        List<Registration> regs = repo.getRegistrationService().list(null, 50, 0, null, null);
+
+        List<RegistrationDTO> dtos = makeDTOs(regs);
+        return dtos;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Collection<RegistrationDTO> listDTOsFor(User submitter, Collection<RegistrationStatus> includedStatus) {
+
+        Pager<Registration> pager = repo.getRegistrationService().page(submitter, includedStatus, null, null, null, null);
+        return makeDTOs(pager.getRecords());
+    }
+
+    /**
+     * @param  id the CDM Entity id
+     * @return
+     * @throws RegistrationValidationException
+     */
+    @Override
+    public RegistrationWorkingSet loadWorkingSetByRegistrationID(Integer id) throws RegistrationValidationException {
+
+        RegistrationDTO dto = loadDtoById(id);
+
+        Pager<Registration> pager = repo.getRegistrationService().page(Optional.of((Reference)dto.getCitation()), null, null, null, null);
+
+        return new RegistrationWorkingSet(makeDTOs(pager.getRecords()));
+    }
+
+
+    /**
+     * @param regs
+     * @return
+     */
+    private List<RegistrationDTO> makeDTOs(List<Registration> regs) {
+        List<RegistrationDTO> dtos = new ArrayList<>(regs.size());
+        regs.forEach(reg -> {dtos.add(new RegistrationDTO(reg));});
+        return dtos;
+    }
+
+    // ==================== Registration creation ======================= //
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void onApplicationEvent(ContextRefreshedEvent event) {
+        executeSuppliedCommands();
+    }
+
     /**
      *
      */
@@ -203,6 +272,7 @@ public class RegistrationWorkingSetService implements IRegistrationWorkingSetSer
         }
     }
 
+
     /**
      * @param office
      * @return
@@ -226,72 +296,6 @@ public class RegistrationWorkingSetService implements IRegistrationWorkingSetSer
     }
 
 
-    int minTypeDesignationCount = 1;
-
-
-    @Override
-    public Collection<RegistrationDTO> listDTOs() {
-
-        List<Registration> regs = repo.getRegistrationService().list(null, 50, 0, null, null);
-
-        List<RegistrationDTO> dtos = makeDTOs(regs);
-        return dtos;
-    }
-
-
-    /**
-     * @param regs
-     * @return
-     */
-    private List<RegistrationDTO> makeDTOs(List<Registration> regs) {
-        List<RegistrationDTO> dtos = new ArrayList<>(regs.size());
-        regs.forEach(reg -> {dtos.add(new RegistrationDTO(reg));});
-        return dtos;
-    }
-
-    /**
-     * @param id the CDM Entity id
-     * @return
-     */
-    @Override
-    public RegistrationDTO loadDtoById(Integer id) {
-        Registration reg = repo.getRegistrationService().find(id);
-        return new RegistrationDTO(reg);
-    }
-
-    /**
-     * @param  id the CDM Entity id
-     * @return
-     * @throws RegistrationValidationException
-     */
-    @Override
-    public RegistrationWorkingSet loadWorkingSetByRegistrationID(Integer id) throws RegistrationValidationException {
-
-        RegistrationDTO dto = loadDtoById(id);
-
-        Pager<Registration> pager = null;
-
-        List<Registration> workingSetRegs;
-
-        if (pager == null){
-            //FIXME remove below mock function once the service if fully working
-            workingSetRegs = new ArrayList<>();
-            workingSetRegs.add(dto.registration());
-        } else {
-            pager = repo.getRegistrationService().page(null, null, dto.getCitation(), null, null, null);
-            workingSetRegs = pager.getRecords();
-        }
-
-        return new RegistrationWorkingSet(makeDTOs(workingSetRegs));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void onApplicationEvent(ContextRefreshedEvent event) {
-        executeSuppliedCommands();
-    }
 
 
 }
index e06eb5d17ea016cdcf6b0e71b415f3318f5f392b..4414db61dc70cbdb43c8ced1a8c60844cea39df4 100644 (file)
@@ -13,7 +13,6 @@ import java.util.Collection;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.event.EventListener;
-import org.springframework.transaction.TransactionStatus;
 
 import com.vaadin.spring.annotation.SpringComponent;
 import com.vaadin.spring.annotation.ViewScope;
@@ -39,9 +38,9 @@ public class ListPresenter extends AbstractPresenter<ListView> {
 
     @Override
     public void handleViewEntered() {
-        TransactionStatus tx = getRepo().startTransaction();
+        // TransactionStatus tx = getRepo().startTransaction(); // no longer needed since AbstractPresenter is caring for tranactions in this case
         getView().populate(listRegistrations());
-        getRepo().commitTransaction(tx);
+        // getRepo().commitTransaction(tx);
     }
 
     /**
index 3fe43cab4a1c2cfb6177f04f512c8cf77a5961e2..b41597d653672e30e26f3c3d0c1e70f6c9049ffc 100644 (file)
@@ -34,7 +34,7 @@ public abstract class AbstractCdmEditorPresenter<DTO extends CdmBase> extends Ab
     public void onEditorPreSaveEvent(EditorPreSaveEvent preSaveEvent){
         tx = getRepo().startTransaction(true);
         // merge the bean and update the fieldGroup with the merged bean, so that updating
-        // of field values in turn of the commit are can not cause LazyInitializytionExeptions
+        // of field values in turn of the commit are can not cause LazyInitializationExeptions
         // the bean still has the original values at this point
         mergedBean(preSaveEvent.getCommitEvent());