Projet

Général

Profil

Télécharger (17,9 ko) Statistiques
| Branche: | Tag: | Révision:
/*
* This program is a part of the IoTa project.
*
* Copyright © 2008-2012 Université de Caen Basse-Normandie, GREYC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* 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 for more details.
* <http://www.gnu.org/licenses/>
*
* See AUTHORS for a list of contributors.
*/
package fr.unicaen.iota.xacml.pep;

import com.sun.xacml.ctx.RequestCtx;
import com.sun.xacml.ctx.ResponseCtx;
import com.sun.xacml.ctx.Result;
import fr.unicaen.iota.utils.MapSessions;
import fr.unicaen.iota.xacml.policy.Module;
import fr.unicaen.iota.xacml.request.EventRequest;
import java.util.Iterator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
*
*/
public class DSPEP implements MethodNamesAdmin {

private static final Log log = LogFactory.getLog(DSPEP.class);

//####################################################
//################## Authentication ##################
//####################################################
@Override
public int hello(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "hello", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int userLookup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "userLookup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int userCreate(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "userCreate", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int userInfo(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "userInfo", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int userUpdate(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "userUpdate", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int userDelete(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "userDelete", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int partnerInfo(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "partnerInfo", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int partnerUpdate(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "partnerUpdate", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int partnerDelete(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "partnerDelete", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

//####################################################
//############## Admin Module Section ################
//####################################################
public int superadmin(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "superadmin", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

public int allAdminMethods(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "allAdminMethods", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

public int allQueryMethods(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "allQueryMethods", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

public int allCaptureMethods(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "allCaptureMethods", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int createAdminPartnerGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "createAdminPartnerGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int deleteAdminPartnerGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "deleteAdminPartnerGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addAdminPartnerToGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addAdminPartnerToGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeAdminPartnerFromGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeAdminPartnerFromGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int switchAdminUserPermissionPolicy(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "switchAdminUserPermissionPolicy", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeAdminUserPermission(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeAdminUserPermission", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addAdminUserPermission(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addAdminUserPermission", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int updateAdminGroupName(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "updateAdminGroupName", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int saveAdminPolicyPartner(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "saveAdminPolicyPartner", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

//####################################################
//################# Modules Section ##################
//####################################################
@Override
public int createPartnerGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "createPartnerGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int deletePartnerGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "deletePartnerGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addPartnerToGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addPartnerToGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removePartnerFromGroup(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removePartnerFromGroup", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addBizStepRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addBizStepRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeBizStepRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeBizStepRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addEPCRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addEPCRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeEPCRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeEPCRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addEPCClassRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addEPCClassRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeEPCClassRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeEPCClassRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addTimeRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addTimeRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeTimeRestriction(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeTimeRestriction", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int switchBizStepPolicy(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "switchBizStepPolicy", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int switchEPCPolicy(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "switchEPCPolicy", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int switchEPCClassPolicy(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "switchEPCClassPolicy", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int switchTimePolicy(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "switchTimePolicy", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int switchUserPermissionPolicy(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "switchUserPermissionPolicy", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int removeUserPermission(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "removeUserPermission", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int addUserPermission(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "addUserPermission", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int updateGroupName(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "updateGroupName", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

@Override
public int savePolicyPartner(String user, String partner) {
EventRequest eventRequest = new EventRequest(user, "savePolicyPartner", partner, Module.administrationModule.getValue());
RequestCtx request = eventRequest.createRequest();
ResponseCtx result = MapSessions.APM.evaluate(request);
return processResult(result);
}

private int processResult(ResponseCtx result) {
Iterator it = result.getResults().iterator();
while (it.hasNext()) {
Result res = (Result) it.next();
if (res != null) {
return res.getDecision();
}
}
return Result.DECISION_DENY;
}
}
    (1-1/1)