Java tutorial
/* * Copyright Siemens AG, 2014-2015. Part of the SW360 Portal Project. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License Version 2.0 as published by the * Free Software Foundation with classpath exception. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2.0 for * more details. * * You should have received a copy of the GNU General Public License along with * this program (please see the COPYING file); if not, write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ package com.siemens.sw360.datahandler.permissions; import com.google.common.collect.Sets; import com.siemens.sw360.datahandler.common.CommonUtils; import com.siemens.sw360.datahandler.thrift.components.Release; import com.siemens.sw360.datahandler.thrift.users.RequestedAction; import com.siemens.sw360.datahandler.thrift.users.User; import java.util.Map; import java.util.Set; import static com.siemens.sw360.datahandler.common.CommonUtils.toSingletonSet; /** * Created by bodet on 16/02/15. * * @author cedric.bodet@tngtech.com */ public class ReleasePermissions extends DocumentPermissions<Release> { private final Set<String> moderators; private final Set<String> contributors; protected ReleasePermissions(Release document, User user) { super(document, user); moderators = Sets.union(toSingletonSet(document.createdBy), CommonUtils.nullToEmptySet(document.moderators)); contributors = Sets.union(moderators, CommonUtils.nullToEmptySet(document.contacts)); } @Override public void fillPermissions(Release other, Map<RequestedAction, Boolean> permissions) { other.permissions = permissions; } @Override public boolean isActionAllowed(RequestedAction action) { return getStandardPermissions(action); } @Override protected Set<String> getContributors() { return contributors; } @Override protected Set<String> getModerators() { return moderators; } }