2011-09-05 191 views
1

我有一个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; 
} 

}

感谢

回答

0

如果你在一个WebScript运行,那么I18NUtil是你想要的。方法public static Locale getLocale()它将返回当前正在运行的webscript的区域设置

+0

谢谢,使用Java基础API怎么样 –

+0

取决于什么触发了您的代码运行? – Gagravarr

+0

我正在尝试开发具有值和标签的约束,并将标签转换为已登录的语言环境。 –