Java tutorial
/* *Copyright 2016 Dominik Szalai (emptulik@gmail.com) * *Licensed under the Apache License, Version 2.0 (the "License"); *you may not use this file except in compliance with the License. *You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * *Unless required by applicable law or agreed to in writing, software *distributed under the License is distributed on an "AS IS" BASIS, *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *See the License for the specific language governing permissions and *limitations under the License. */ package cz.muni.fi.editor.services.api.requests.approve; import cz.muni.fi.editor.database.dao.OrganizationDAO; import cz.muni.fi.editor.database.dao.RequestDAO; import cz.muni.fi.editor.database.domain.requests.Request; import cz.muni.fi.editor.database.domain.requests.RequestState; import cz.muni.fi.editor.database.domain.user.Organization; import cz.muni.fi.editor.services.api.requests.AbstractRequestWorker; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; /** * Created by Dominik Szalai - emptulik at gmail.com on 27.10.2016. */ @Log4j2 public class RequestApproverOgranizationJoin extends AbstractRequestWorker implements RequestApprover { @Autowired private RequestDAO requestDAO; @Autowired private OrganizationDAO organizationDAO; @Override @Transactional public void approve(Request request) { log.info("Approving request {} with operation organization join", request.getId()); request.setState(RequestState.ACCEPTED); request.setApprover(getPrincipal()); request.setChangeStateDate(LocalDateTime.now()); requestDAO.update(request); Organization org = organizationDAO.getById(request.getTargetId()); org.getMembers().add(request.getRequestor()); organizationDAO.update(org); super.notifyApprove(request); } }