// Path: spring-integration-aws/src/main/java/org/springframework/integration/aws/Permission.java
// public class Permission {
// 
// 	/**
// 	 * The unique identification of the permission. See
// 	 * {@link com.amazonaws.services.sqs.model.AddPermissionRequest#setLabel(String)}
// 	 * for constraints.
// 	 */
// 	private String label;
// 
// 	/**
// 	 * AWS account numbers to be given the permission.
// 	 */
// 	private Set<String> awsAccountIds;
// 
// 	/**
// 	 * The actions to be allowed for the specified AWS accounts
// 	 */
// 	private Set<String> actions;
// 
// 	public Permission() {
// 	}
// 
// 	public Permission(String label, Set<String> aWSAccountIds,
// 			Set<String> actions) {
// 		this();
// 		this.label = label;
// 		this.awsAccountIds = aWSAccountIds;
// 		this.actions = actions;
// 	}
// 
// 	public String getLabel() {
// 		return label;
// 	}
// 
// 	public void setLabel(String label) {
// 		this.label = label;
// 	}
// 
// 	public Set<String> getAwsAccountIds() {
// 		return awsAccountIds;
// 	}
// 
// 	public void setAwsAccountIds(Set<String> awsAccountIds) {
// 		this.awsAccountIds = awsAccountIds;
// 	}
// 
// 	public Set<String> getActions() {
// 		return actions;
// 	}
// 
// 	public void setActions(Set<String> actions) {
// 		this.actions = actions;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result
// 				+ ((awsAccountIds == null) ? 0 : awsAccountIds.hashCode());
// 		result = prime * result + ((actions == null) ? 0 : actions.hashCode());
// 		result = prime * result + ((label == null) ? 0 : label.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		Permission other = (Permission) obj;
// 		if (awsAccountIds == null) {
// 			if (other.awsAccountIds != null)
// 				return false;
// 		} else if (!awsAccountIds.equals(other.awsAccountIds))
// 			return false;
// 		if (actions == null) {
// 			if (other.actions != null)
// 				return false;
// 		} else if (!actions.equals(other.actions))
// 			return false;
// 		if (label == null) {
// 			if (other.label != null)
// 				return false;
// 		} else if (!label.equals(other.label))
// 			return false;
// 		return true;
// 	}
// 
// }


import java.util.HashSet;
import java.util.Set;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.aws.Permission;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
package org.springframework.integration.aws.config;



/**
 * @author Sayantam Dey
 * @since 2.0.0
 * 
 */
public final class AwsParserUtils {

	private AwsParserUtils() {
	}

	public static void registerPermissions(Element element,
			BeanDefinitionBuilder executorBuilder,
			ParserContext parserContext) {

		Element permissionsElement = DomUtils.getChildElementByTagName(element,
				"permissions");
		if (permissionsElement != null) {
// Path: spring-integration-aws/src/main/java/org/springframework/integration/aws/Permission.java
// public class Permission {
// 
// 	/**
// 	 * The unique identification of the permission. See
// 	 * {@link com.amazonaws.services.sqs.model.AddPermissionRequest#setLabel(String)}
// 	 * for constraints.
// 	 */
// 	private String label;
// 
// 	/**
// 	 * AWS account numbers to be given the permission.
// 	 */
// 	private Set<String> awsAccountIds;
// 
// 	/**
// 	 * The actions to be allowed for the specified AWS accounts
// 	 */
// 	private Set<String> actions;
// 
// 	public Permission() {
// 	}
// 
// 	public Permission(String label, Set<String> aWSAccountIds,
// 			Set<String> actions) {
// 		this();
// 		this.label = label;
// 		this.awsAccountIds = aWSAccountIds;
// 		this.actions = actions;
// 	}
// 
// 	public String getLabel() {
// 		return label;
// 	}
// 
// 	public void setLabel(String label) {
// 		this.label = label;
// 	}
// 
// 	public Set<String> getAwsAccountIds() {
// 		return awsAccountIds;
// 	}
// 
// 	public void setAwsAccountIds(Set<String> awsAccountIds) {
// 		this.awsAccountIds = awsAccountIds;
// 	}
// 
// 	public Set<String> getActions() {
// 		return actions;
// 	}
// 
// 	public void setActions(Set<String> actions) {
// 		this.actions = actions;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result
// 				+ ((awsAccountIds == null) ? 0 : awsAccountIds.hashCode());
// 		result = prime * result + ((actions == null) ? 0 : actions.hashCode());
// 		result = prime * result + ((label == null) ? 0 : label.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		Permission other = (Permission) obj;
// 		if (awsAccountIds == null) {
// 			if (other.awsAccountIds != null)
// 				return false;
// 		} else if (!awsAccountIds.equals(other.awsAccountIds))
// 			return false;
// 		if (actions == null) {
// 			if (other.actions != null)
// 				return false;
// 		} else if (!actions.equals(other.actions))
// 			return false;
// 		if (label == null) {
// 			if (other.label != null)
// 				return false;
// 		} else if (!label.equals(other.label))
// 			return false;
// 		return true;
// 	}
// 
// }


// Path: spring-integration-aws/src/main/java/org/springframework/integration/aws/config/AwsParserUtils.java
import java.util.HashSet;
import java.util.Set;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.aws.Permission;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

package org.springframework.integration.aws.config;



/**
 * @author Sayantam Dey
 * @since 2.0.0
 * 
 */
public final class AwsParserUtils {

	private AwsParserUtils() {
	}

	public static void registerPermissions(Element element,
			BeanDefinitionBuilder executorBuilder,
			ParserContext parserContext) {

		Element permissionsElement = DomUtils.getChildElementByTagName(element,
				"permissions");
		if (permissionsElement != null) {
			Set<Permission> permissions = new HashSet<Permission>();