当前位置: 首页>>代码示例>>Java>>正文


Java ACLRule类代码示例

本文整理汇总了Java中net.floodlightcontroller.accesscontrollist.ACLRule的典型用法代码示例。如果您正苦于以下问题:Java ACLRule类的具体用法?Java ACLRule怎么用?Java ACLRule使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ACLRule类属于net.floodlightcontroller.accesscontrollist包,在下文中一共展示了ACLRule类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: store

import net.floodlightcontroller.accesscontrollist.ACLRule; //导入依赖的package包/类
/**
 * parse a JSON string into a ACL rule instance, then add it to the ACL
 * @return A string status message
 */
@Post
public String store(String json) {
	IACLService aclService = (IACLService) getContext().getAttributes().get(
			IACLService.class.getCanonicalName());
	
	ACLRule newRule;
	try {
		newRule = jsonToRule(json);
	} catch (Exception e) {
		log.error("Error parsing ACL rule: " + json, e);
		return "{\"status\" : \"Failed! " + e.getMessage() + "\"}";
	}
	
	String status = null;
	
	String nw_src = newRule.getNw_src();
	String nw_dst = newRule.getNw_dst();
	if (nw_src == null && nw_dst == null){
		status = "Failed! Either nw_src or nw_dst must be specified.";
		return ("{\"status\" : \"" + status + "\"}");
	}
	
	if(aclService.addRule(newRule)){
		status = "Success! New rule added.";
	}else{
		status = "Failed! The new ACL rule matches an existing rule.";
	}
		
	return ("{\"status\" : \"" + status + "\"}");
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:35,代码来源:ACLRuleResource.java

示例2: remove

import net.floodlightcontroller.accesscontrollist.ACLRule; //导入依赖的package包/类
/**
 * parse a JSON string into a ACL rule instance, then remove it from the ACL
 * @return A string status message
 */
@Delete
public String remove(String json) {
	IACLService ACL = (IACLService) getContext().getAttributes().get(
			IACLService.class.getCanonicalName());

	ACLRule rule;
	try {
		rule = jsonToRule(json);
	} catch (Exception e) {
		log.error("Error parsing ACL rule: " + json, e);
		return "{\"status\" : \"Failed! " + e.getMessage() + "\"}";
	}
	
	// check whether the rule exists
	boolean exists = false;
	Iterator<ACLRule> iter = ACL.getRules().iterator();
	while (iter.hasNext()) {
		ACLRule r = iter.next();
		if (r.getId() == rule.getId()) {
			exists = true;
			break;
		}
	}
	
	String status = null;
	if (!exists) {
		status = "Failed! a rule with this ID doesn't exist.";
		log.error(status);
	} else {
		ACL.removeRule(rule.getId());
		status = "Success! Rule deleted";
	}
	
	return ("{\"status\" : \"" + status + "\"}");
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:40,代码来源:ACLRuleResource.java

示例3: store

import net.floodlightcontroller.accesscontrollist.ACLRule; //导入依赖的package包/类
/**
 * parse a JSON string into a ACL rule instance, then add it to the ACL
 * @return A string status message
 */
@Post
public String store(String json) {
	IACLService aclService = (IACLService) getContext().getAttributes().get(
			IACLService.class.getCanonicalName());

	ACLRule newRule;
	try {
		newRule = jsonToRule(json);
	} catch (Exception e) {
		log.error("Error parsing ACL rule: " + json, e);
		return "{\"status\" : \"Failed! " + e.getMessage() + "\"}";
	}

	String status = null;

	String nw_src = newRule.getNw_src();
	String nw_dst = newRule.getNw_dst();
	if (nw_src == null && nw_dst == null){
		status = "Failed! Either nw_src or nw_dst must be specified.";
		return ("{\"status\" : \"" + status + "\"}");
	}

	if(aclService.addRule(newRule)){
		status = "Success! New rule added.";
	}else{
		status = "Failed! The new ACL rule matches an existing rule.";
	}

	return ("{\"status\" : \"" + status + "\"}");
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:35,代码来源:ACLRuleResource.java

示例4: remove

import net.floodlightcontroller.accesscontrollist.ACLRule; //导入依赖的package包/类
/**
 * parse a JSON string into a ACL rule instance, then remove it from the ACL
 * @return A string status message
 */
@Delete
public String remove(String json) {
	IACLService ACL = (IACLService) getContext().getAttributes().get(
			IACLService.class.getCanonicalName());

	ACLRule rule;
	try {
		rule = jsonToRule(json);
	} catch (Exception e) {
		log.error("Error parsing ACL rule: " + json, e);
		return "{\"status\" : \"Failed! " + e.getMessage() + "\"}";
	}

	// check whether the rule exists
	boolean exists = false;
	Iterator<ACLRule> iter = ACL.getRules().iterator();
	while (iter.hasNext()) {
		ACLRule r = iter.next();
		if (r.getId() == rule.getId()) {
			exists = true;
			break;
		}
	}

	String status = null;
	if (!exists) {
		status = "Failed! a rule with this ID doesn't exist.";
		log.error(status);
	} else {
		ACL.removeRule(rule.getId());
		status = "Success! Rule deleted";
	}

	return ("{\"status\" : \"" + status + "\"}");
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:40,代码来源:ACLRuleResource.java


注:本文中的net.floodlightcontroller.accesscontrollist.ACLRule类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。