package org.cloudgraph.web.model.profile;
import org.cloudgraph.web.sdo.personalization.Role;
import org.cloudgraph.web.sdo.personalization.RoleName;
import org.cloudgraph.web.sdo.personalization.User;
import org.cloudgraph.web.sdo.personalization.UserRole;
import org.plasma.query.model.From;
import org.plasma.query.model.Path;
import org.plasma.query.model.Property;
import org.plasma.query.model.Query;
import org.plasma.query.model.Select;
import org.plasma.query.model.Where;
public class RoleQuery {
public static Query createQueryByRoleName(RoleName roleName) {
Select select = new Select(new String[] {
"*",
});
From from = new From(Role.TYPE_NAME_ROLE, Role.NAMESPACE_URI);
Where where = new Where();
where.addExpression(Property.forName(Role.PROPERTY.name.name()).eq(
roleName.getInstanceName()));
Query query = new Query(select, from, where);
return query;
}
public static Query createQueryByUserName(String username) {
Select select = new Select(new String[] {
"*",
});
From from = new From(Role.TYPE_NAME_ROLE, Role.NAMESPACE_URI);
Where where = new Where();
where.addExpression(Property.forName(User.PROPERTY.username.name(),
new Path(Role.PROPERTY.userRole.name(),
UserRole.PROPERTY.user.name())).eq(
username));
Query query = new Query(select, from, where);
return query;
}
}