3.4.替換部門

2023-07-03 17:04 更新
BDF2中允許用戶替換其中的用戶、部門及崗位信息,而且這種替換可以根據(jù)需要只替換其中的用戶信息或只替換其中的部門信息或只替換其中的崗位信息,或者全部替換掉。替換后的用戶、部門及崗位信息可以來自用戶定義的任何源,比如其它數(shù)據(jù)庫、LDAP、WebService或其它系統(tǒng)。接下來我們就來介紹如何替換系統(tǒng)中采用的部門信息。
替換部門與替換用戶的操作基本一樣,不同的地方是替換部門需要實(shí)現(xiàn)IDept與IDeptService兩個接口,而替換用戶則需要實(shí)現(xiàn)兩個接口與一個抽象類(IUserService,IFrameworkService與AbstractUser),這里實(shí)現(xiàn)IDept接口,實(shí)現(xiàn)上相當(dāng)于之前實(shí)現(xiàn)AbstractUser功能是一樣的,都是為了實(shí)現(xiàn)一個我們自己的部門實(shí)體對象,這里要實(shí)現(xiàn)的IDeptService相當(dāng)于我們在用戶當(dāng)中實(shí)現(xiàn)的IUserService接口作用是一樣的,我們來看看IDept接口內(nèi)容:
IDept接口源碼
public interface IDept extends ICompany{
 String getId();
 String getName();
 String getParentId();
 IDept getParent();
 List<IUser> getUsers();
}
相比AbstractUser類,IDept接口定義的方法較少,再來看看IDeptService接口:
IDeptService
public interface IDeptService {
 IDept newDeptInstance(String deptId);
 List<IDept> loadUserDepts(String username);
 IDept loadDeptById(String deptId);
 List<IDept> loadDeptsByParentId(String parentId,String companyId);
}
定義的幾個方法都比較簡單,這里就不再多解釋了,需要注意的是,無論我們實(shí)現(xiàn)IDept接口還是實(shí)現(xiàn)IDeptService接口,要保證所有方法都不返回null,否則可能會產(chǎn)生錯誤。寫好這兩個接口的實(shí)現(xiàn)類后,接下同樣是配置到我們的datasources.xml當(dāng)中,配置示例如下:
IDeptService實(shí)現(xiàn)類配置
<bean id="demoDeptService" class="ext.DemoDeptService"></bean>
 <bdf:dept-service ref="demoDeptService"/>
同樣,上述的兩行配置也可以被下面的一行配置取代:
IDeptService實(shí)現(xiàn)類另一種配置
<bean id="bdf2.deptService" class="ext.DemoDeptService"></bean>
需要注意的是,上述配置當(dāng)中,bean的ID只能是bdf2.deptService。

這些工作完成后,替換系統(tǒng)中部門的工作也就完成了。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號