Alfresco 如何在露天场地内确定场地

Alfresco 如何在露天场地内确定场地,alfresco,Alfresco,我有一个java类表示值列表,我需要在其中强制使用区域设置 如何确定区域设置 以下类显示内容模型的约束值/标签 package com.ds.ui.constraints; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.ResourceBundle; import javax.faces.context.FacesContext; import

我有一个java类表示值列表,我需要在其中强制使用区域设置

如何确定区域设置

以下类显示内容模型的约束值/标签

package com.ds.ui.constraints;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;  
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint;
import org.apache.log4j.Logger;
import com.ds.ui.bean.dialog.util.BeanUtil;

public class PositionPermissionsConstraints extends ListOfValuesConstraint
    implements Serializable {

public void initialize(){
    LOG.debug("PositionPermissionsConstraints Initializer");
    super.setCaseSensitive(false);
    preparePermissionList();
}

public void preparePermissionList(){
    ResourceBundle bundle = null;   
    if(FacesContext.getCurrentInstance() != null){
        if(FacesContext.getCurrentInstance().getExternalContext().getRequestLocale() != null)
        bundle = ResourceBundle.getBundle(BeanUtil.RESOURECE_BUNDLE,
                FacesContext.getCurrentInstance().getExternalContext().getRequestLocale());
    }
    else
        bundle = ResourceBundle.getBundle(BeanUtil.RESOURECE_BUNDLE);

    List<String> av = new ArrayList<String>();
    av
    .add(PositionPermissionsConstraints.
            CREATE_ORGANIZATION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(CREATE_ORGANIZATION_PERMISSION));
    av
        .add(PositionPermissionsConstraints.
                UPDATE_ORGANIZATION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(UPDATE_ORGANIZATION_PERMISSION));         
    av
        .add(PositionPermissionsConstraints.
                DELETE_ORGANIZATION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(DELETE_ORGANIZATION_PERMISSION));         
    av
        .add(PositionPermissionsConstraints.
                CREATE_ROOT_POSITION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(CREATE_ROOT_POSITION_PERMISSION));            
    av
        .add(PositionPermissionsConstraints.
                MANAGE_ROOT_POSITION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(MANAGE_ROOT_POSITION_PERMISSION));
    av
    .add(PositionPermissionsConstraints.
            CREATE_SUBORDINATE_POSITION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(CREATE_SUBORDINATE_POSITION_PERMISSION));         
    av
        .add(PositionPermissionsConstraints.
                UPDATE_SUBORDINATE_POSITION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(UPDATE_SUBORDINATE_POSITION_PERMISSION));         
    av
        .add(PositionPermissionsConstraints.
                DELETE_SUBORDINATE_POSITION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(DELETE_SUBORDINATE_POSITION_PERMISSION));         
    av
        .add(PositionPermissionsConstraints.
                MANAGE_POSITION_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(MANAGE_POSITION_PERMISSION));         
    av
        .add(PositionPermissionsConstraints.
                ASSIGN_POSITION_TO_USER_PERMISSION);
    this.allowedLabels
    .add(bundle.getString(ASSIGN_POSITION_TO_USER_PERMISSION));
    this.setAllowedValues(av);
    this.setAllowedLabels(allowedLabels);   
}

public List<SelectItem> prepareSelectItemsList(){
    ResourceBundle bundle = ResourceBundle.getBundle(BeanUtil.RESOURECE_BUNDLE);
    List<SelectItem> selectItems = new ArrayList<SelectItem>();
    for(String value : getAllowedValues()){
        SelectItem selectItem = new SelectItem(value,bundle.getString(value));
        selectItems.add(selectItem);
    }
    return selectItems;
}

private static final String CREATE_ORGANIZATION_PERMISSION = "CREATE_ORGANIZATION";
private static final String UPDATE_ORGANIZATION_PERMISSION = "UPDATE_ORGANIZATION";
private static final String DELETE_ORGANIZATION_PERMISSION = "DELETE_ORGANIZATION";
private static final String CREATE_ROOT_POSITION_PERMISSION = "CREATE_ROOT_POSITION";
private static final String MANAGE_ROOT_POSITION_PERMISSION = "MANAGE_ROOT_POSITION";
private static final String CREATE_SUBORDINATE_POSITION_PERMISSION = "CREATE_SUBORDINATE_POSITION";
private static final String UPDATE_SUBORDINATE_POSITION_PERMISSION = "UPDATE_SUBORDINATE_POSITION";
private static final String DELETE_SUBORDINATE_POSITION_PERMISSION = "DELETE_SUBORDINATE_POSITION";
private static final String MANAGE_POSITION_PERMISSION = "MANAGE_POSITION";
private static final String ASSIGN_POSITION_TO_USER_PERMISSION = "ASSIGN_POSITION_TO_USER";

private List<String> allowedLabels = new ArrayList<String>();
private static final long serialVersionUID = 1L;
private static Logger LOG = Logger.getLogger(PositionPermissionsConstraints.class);

public List<String> getAllowedLabels() {
    return allowedLabels;
}
public void setAllowedLabels(List<String> allowedLabels) {
    this.allowedLabels = allowedLabels;
}
包com.ds.ui.constraints;
导入java.io.Serializable;
导入java.util.ArrayList;
导入java.util.List;
导入java.util.ResourceBundle;
导入javax.faces.context.FacesContext;
导入javax.faces.model.SelectItem;
导入org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint;
导入org.apache.log4j.Logger;
导入com.ds.ui.bean.dialog.util.BeanUtil;
public class PositionPermissionsConstraints扩展了ValuesConstraint列表
实现可序列化{
公共无效初始化(){
LOG.debug(“PositionPermissionsConstraints初始值设定项”);
super.setCaseSensitive(false);
preparePermissionList();
}
公共作废准备许可列表(){
ResourceBundle=null;
如果(FacesContext.getCurrentInstance()!=null){
如果(FacesContext.getCurrentInstance().getExternalContext().getRequestLocale()!=null)
bundle=ResourceBundle.getBundle(BeanUtil.resourcerece_bundle,
FacesContext.getCurrentInstance().getExternalContext().getRequestLocale());
}
其他的
bundle=ResourceBundle.getBundle(BeanUtil.resourcerece_bundle);
List av=新的ArrayList();
影音
.添加(位置)权限约束。
创建组织(权限);
这是允许的
.add(bundle.getString(创建组织权限));
影音
.添加(位置)权限约束。
更新(组织)(权限);;
这是允许的
.add(bundle.getString(更新组织权限));
影音
.添加(位置)权限约束。
删除组织(权限);
这是允许的
.add(bundle.getString(删除组织权限));
影音
.添加(位置)权限约束。
创建\u根目录\u位置\u权限);
这是允许的
.add(bundle.getString(创建根目录位置权限));
影音
.添加(位置)权限约束。
管理(根)(位)(权限);;
这是允许的
.add(bundle.getString(管理根目录位置权限));
影音
.添加(位置)权限约束。
创建_下属_职位_权限);
这是允许的
.add(bundle.getString(创建下级职位权限));
影音
.添加(位置)权限约束。
更新(下级职位权限);
这是允许的
.add(bundle.getString(更新下级位置权限));
影音
.添加(位置)权限约束。
删除下级职位权限);
这是允许的
.add(bundle.getString(删除下级位置权限));
影音
.添加(位置)权限约束。
管理职位(权限);
这是允许的
.add(bundle.getString(管理位置权限));
影音
.添加(位置)权限约束。
将位置分配给用户权限);
这是允许的
.add(bundle.getString(将位置分配给用户权限));
此参数设置允许值(av);
此.setAllowedLabels(allowedLabels);
}
公共列表准备SelectItemsList(){
ResourceBundle=ResourceBundle.getBundle(BeanUtil.ResourceRece_bundle);
List selectItems=new ArrayList();
for(字符串值:getAllowedValues()){
SelectItem SelectItem=newselectItem(值,bundle.getString(值));
选择项目。添加(选择项目);
}
返回选定的项目;
}
私有静态最终字符串CREATE\u ORGANIZATION\u PERMISSION=“CREATE\u ORGANIZATION”;
私有静态最终字符串UPDATE\u ORGANIZATION\u PERMISSION=“UPDATE\u ORGANIZATION”;
私有静态最终字符串DELETE\u ORGANIZATION\u PERMISSION=“DELETE\u ORGANIZATION”;
私有静态最终字符串CREATE\u ROOT\u POSITION\u PERMISSION=“CREATE\u ROOT\u POSITION”;
私有静态最终字符串MANAGE\u ROOT\u POSITION\u PERMISSION=“MANAGE\u ROOT\u POSITION”;
私有静态最终字符串创建下级职位权限=“创建下级职位”;
私有静态最终字符串更新下级职位权限=“更新下级职位”;
私有静态最终字符串DELETE_subsible_POSITION_PERMISSION=“DELETE_subsible_POSITION”;
私有静态最终字符串MANAGE\u POSITION\u PERMISSION=“MANAGE\u POSITION”;
私有静态最终字符串ASSIGN_POSITION_TO_USER_PERMISSION=“ASSIGN_POSITION_TO_USER”;
私有列表allowedLabels=new ArrayList();
私有静态最终长serialVersionUID=1L;
私有静态记录器LOG=Logger.getLogger(PositionPermissionsConstraints.class);
公共列表getAllowedLabels(){
返回允许的标签;
}
公共void setAllowedLabels(列出allowedLabels){
this.allowedLabels=allowedLabels;
}
}


谢谢

如果您在WebScript中运行,那么这就是您想要的。方法>代码>公共静态区域GETROLALE()/<代码>它将返回当前运行的WebScript < /P>的区域设置,谢谢,使用java基金会APII尝试开发一个具有值和标签的约束,并将标签翻译成登录的区域。是什么触发了代码的运行?如果它是作为webscript运行的,那么您知道用户的当前区域设置(从他们浏览器的请求中),但是如果您运行的是async,那么您需要做一些事情来存储用户最后看到的区域设置,这样您就可以使用它(Alfresco不会在请求之间跟踪它)我的代码通过使用Alfresco自定义生成器触发,在所有情况下,我都认为我找到了一个解决方案,生成器createComponenet反过来调用constraint.prepareSelectItemsList(),后者反过来使用I18NUtil.getLocale()来准备选择项的列表。