use of cz.metacentrum.perun.core.api.exceptions.WrongAttributeAssignmentException in project perun by CESNET.
the class AttributesManagerBlImpl method removeAllAttributes.
public void removeAllAttributes(PerunSession sess, Vo vo) throws InternalErrorException, WrongAttributeValueException, WrongReferenceAttributeValueException {
List<Attribute> attributes = getAttributes(sess, vo);
getAttributesManagerImpl().removeAllAttributes(sess, vo);
getPerunBl().getAuditer().log(sess, "All attributes removed for {}", vo);
for (Attribute attribute : attributes) attribute.setValue(null);
try {
checkAttributesValue(sess, vo, attributes);
this.checkAttributesDependencies(sess, vo, null, attributes);
} catch (WrongAttributeAssignmentException ex) {
throw new ConsistencyErrorException(ex);
}
for (Attribute attribute : attributes) {
try {
getAttributesManagerImpl().changedAttributeHook(sess, vo, new Attribute(attribute));
} catch (WrongAttributeValueException ex) {
//TODO better exception here
throw new InternalErrorException(ex);
} catch (WrongReferenceAttributeValueException ex) {
//TODO better exception here
throw new InternalErrorException(ex);
}
}
}
use of cz.metacentrum.perun.core.api.exceptions.WrongAttributeAssignmentException in project perun by CESNET.
the class AttributesManagerBlImpl method removeAllAttributes.
public void removeAllAttributes(PerunSession sess, Resource resource, Group group) throws InternalErrorException, WrongAttributeValueException, WrongAttributeAssignmentException, WrongReferenceAttributeValueException {
this.checkGroupIsFromTheSameVoLikeResource(sess, group, resource);
List<Attribute> attributes = getAttributes(sess, resource, group);
getAttributesManagerImpl().removeAllAttributes(sess, resource, group);
getPerunBl().getAuditer().log(sess, "All attributes removed for {} and {}", group, resource);
for (Attribute attribute : attributes) attribute.setValue(null);
try {
checkAttributesValue(sess, resource, group, attributes);
this.checkAttributesDependencies(sess, resource, group, attributes);
} catch (WrongAttributeAssignmentException ex) {
throw new ConsistencyErrorException(ex);
}
for (Attribute attribute : attributes) {
try {
getAttributesManagerImpl().changedAttributeHook(sess, resource, group, new Attribute(attribute));
} catch (WrongAttributeValueException ex) {
//TODO better exception here
throw new InternalErrorException(ex);
} catch (WrongReferenceAttributeValueException ex) {
//TODO better exception here
throw new InternalErrorException(ex);
}
}
}
use of cz.metacentrum.perun.core.api.exceptions.WrongAttributeAssignmentException in project perun by CESNET.
the class AttributesManagerBlImpl method removeAllAttributes.
public void removeAllAttributes(PerunSession sess, Facility facility) throws InternalErrorException, WrongAttributeValueException, WrongReferenceAttributeValueException {
List<Attribute> attributes = getAttributes(sess, facility);
getAttributesManagerImpl().removeAllAttributes(sess, facility);
getPerunBl().getAuditer().log(sess, "All attributes removed for {}", facility);
for (Attribute attribute : attributes) attribute.setValue(null);
try {
checkAttributesValue(sess, facility, attributes);
this.checkAttributesDependencies(sess, facility, null, attributes);
} catch (WrongAttributeAssignmentException ex) {
throw new ConsistencyErrorException(ex);
}
for (Attribute attribute : attributes) {
try {
getAttributesManagerImpl().changedAttributeHook(sess, facility, new Attribute(attribute));
} catch (WrongAttributeValueException ex) {
//TODO better exception here
throw new InternalErrorException(ex);
} catch (WrongReferenceAttributeValueException ex) {
//TODO better exception here
throw new InternalErrorException(ex);
}
}
}
use of cz.metacentrum.perun.core.api.exceptions.WrongAttributeAssignmentException in project perun by CESNET.
the class AttributesManagerBlImpl method setAttributeWithoutCheck.
public boolean setAttributeWithoutCheck(PerunSession sess, Vo vo, Attribute attribute) throws InternalErrorException, WrongAttributeAssignmentException, WrongAttributeValueException, WrongReferenceAttributeValueException {
getAttributesManagerImpl().checkNamespace(sess, attribute, AttributesManager.NS_VO_ATTR);
if (getAttributesManagerImpl().isCoreAttribute(sess, attribute))
throw new WrongAttributeAssignmentException(attribute);
boolean changed = true;
if (isVirtAttribute(sess, attribute)) {
//TODO
throw new InternalErrorException("Virtual attribute can't be set this way yet. Please set physical attribute.");
} else {
changed = getAttributesManagerImpl().setAttribute(sess, vo, attribute);
}
if (changed) {
getPerunBl().getAuditer().log(sess, "{} set for {}.", attribute, vo);
getAttributesManagerImpl().changedAttributeHook(sess, vo, attribute);
}
return changed;
}
use of cz.metacentrum.perun.core.api.exceptions.WrongAttributeAssignmentException in project perun by CESNET.
the class AttributesManagerBlImpl method fillAttributes.
@Override
public List<Attribute> fillAttributes(PerunSession sess, Member member, Group group, List<Attribute> attributes, boolean workWithUserAttributes) throws InternalErrorException, WrongAttributeAssignmentException {
if (!workWithUserAttributes) {
List<Attribute> filledAttributes = new ArrayList<>();
for (Attribute attribute : attributes) {
getAttributesManagerImpl().checkNamespace(sess, attribute, NS_MEMBER_GROUP_ATTR);
if (attribute.getValue() == null) {
filledAttributes.add(getAttributesManagerImpl().fillAttribute(sess, member, group, attribute));
} else {
//skip non-empty attribute
filledAttributes.add(attribute);
}
}
return filledAttributes;
}
User user = getPerunBl().getUsersManagerBl().getUserByMember(sess, member);
List<Attribute> filledAttributes = new ArrayList<>();
for (Attribute attribute : attributes) {
if (attribute.getValue() == null) {
if (getAttributesManagerImpl().isFromNamespace(sess, attribute, AttributesManager.NS_MEMBER_GROUP_ATTR)) {
filledAttributes.add(getAttributesManagerImpl().fillAttribute(sess, member, group, attribute));
} else if (getAttributesManagerImpl().isFromNamespace(sess, attribute, AttributesManager.NS_USER_ATTR)) {
filledAttributes.add(getAttributesManagerImpl().fillAttribute(sess, user, attribute));
} else if (getAttributesManagerImpl().isFromNamespace(sess, attribute, AttributesManager.NS_MEMBER_ATTR)) {
filledAttributes.add(getAttributesManagerImpl().fillAttribute(sess, member, attribute));
} else {
throw new WrongAttributeAssignmentException(attribute);
}
} else {
//skip non-empty attribute
filledAttributes.add(attribute);
}
}
return filledAttributes;
}
Aggregations