2011-09-05 60 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

我正在嘗試開發具有值和標籤的約束,並將標籤轉換爲已登錄的語言環境。 –