package de.dal33t.powerfolder.task; import java.util.logging.Logger; import de.dal33t.powerfolder.clientserver.ServerClient; import de.dal33t.powerfolder.light.AccountInfo; import de.dal33t.powerfolder.light.FolderInfo; import de.dal33t.powerfolder.security.FolderPermission; import de.dal33t.powerfolder.util.Reject; /** * @author sprajc */ public class FolderObtainPermissionTask extends ServerRemoteCallTask { private static final long serialVersionUID = 100L; private static final Logger LOG = Logger .getLogger(FolderObtainPermissionTask.class.getName()); private FolderInfo foInfo; public FolderObtainPermissionTask(AccountInfo aInfo, FolderInfo foInfo) { super(aInfo, DEFAULT_DAYS_TO_EXIPRE); Reject.ifNull(foInfo, "FolderInfo"); this.foInfo = foInfo; } @Override public void executeRemoteCall(ServerClient client) throws Exception { if (!getController().getFolderRepository().hasJoinedFolder(foInfo)) { remove(); return; } if (getController().getOSClient().getServer().isMySelf()) { remove(); return; } FolderPermission fp = client.getSecurityService() .obtainFolderPermission(foInfo); LOG.fine("Obtained permission on " + foInfo + ": " + fp); remove(); } }