package com.idega.user.presentation;
import java.util.HashMap;
import java.util.Map;
import com.idega.idegaweb.IWApplicationContext;
import com.idega.presentation.IWContext;
import com.idega.presentation.TabbedPropertyPanel;
import com.idega.presentation.Table;
import com.idega.presentation.text.Text;
import com.idega.user.business.GroupBusiness;
import com.idega.user.business.UserBusiness;
import com.idega.util.datastructures.Collectable;
/**
* Title: User
* Description:
* Copyright: Copyright (c) 2001
* Company: idega.is
* @author 2000 - idega team - <a href="mailto:gummi@idega.is">Gu�mundur �g�st S�mundsson</a>
* @version 1.0
*/
public abstract class UserGroupTab extends Table implements Collectable {
private int groupId = -1;
private int selectedParentGroupId = -1;
protected Text proxyText;
protected Map fieldValues;
private TabbedPropertyPanel panel;
public UserGroupTab() {
super();
//business = new UserBusiness();
this.setCellpadding(0);
this.setCellspacing(0);
this.setWidth(Table.HUNDRED_PERCENT); //changed from 370
this.setStyleClass("main");
this.fieldValues = new HashMap();
init();
}
/**
* Calls all the "necessary" setup methods.<br>
* The calling order goes like this: <br>
* 1. initializeFieldNames();<br>
* 2. initializeFields();<br>
* 3. initializeTexts();<br>
* 4. initializeFieldValues();<br>
* 5. lineUpFields();<br>
*
*/
public void init(){
initializeFieldNames();
initializeFields();
initializeTexts();
initializeFieldValues();
lineUpFields();
}
public abstract void initializeFieldNames();
public abstract void initializeFieldValues();
public abstract void updateFieldsDisplayStatus();
public abstract void initializeFields();
public abstract void initializeTexts();
public abstract void lineUpFields();
public abstract boolean collect(IWContext iwc);
public abstract boolean store(IWContext iwc);
public abstract void initFieldContents();
// public abstract String getLocalizedLabel(IWContext iwc);
public void setPanel(TabbedPropertyPanel panel) {
this.panel = panel;
}
public TabbedPropertyPanel getPanel() {
return this.panel;
}
/** Sets group id and id of the selected parent group.
*
* @param groupId
* @param selectedParentGroupId
*/
public void setGroupIds(int groupId, int selectedParentGroupId) {
this.selectedParentGroupId = selectedParentGroupId;
setGroupId(groupId);
}
public void setGroupId(int id){
this.groupId = id;
initFieldContents();
}
public int getGroupId(){
return this.groupId;
}
public int getSelectedParentGroupId() {
return this.selectedParentGroupId;
}
public UserBusiness getUserBusiness(IWApplicationContext iwc){
UserBusiness business = null;
if(business == null){
try{
business = (UserBusiness)com.idega.business.IBOLookup.getServiceInstance(iwc,UserBusiness.class);
}
catch(java.rmi.RemoteException rme){
throw new RuntimeException(rme.getMessage());
}
}
return business;
}
public GroupBusiness getGroupBusiness(IWApplicationContext iwc){
GroupBusiness business = null;
if(business == null){
try{
business = (GroupBusiness)com.idega.business.IBOLookup.getServiceInstance(iwc,GroupBusiness.class);
}
catch(java.rmi.RemoteException rme){
throw new RuntimeException(rme.getMessage());
}
}
return business;
}
}