77 lines
2.3 KiB
Java
Executable File
77 lines
2.3 KiB
Java
Executable File
package com.arsdigita.atoz.siteproxy;
|
|
|
|
import com.arsdigita.atoz.AtoZGenerator;
|
|
import com.arsdigita.atoz.AtoZProvider;
|
|
import com.arsdigita.categorization.Category;
|
|
import com.arsdigita.persistence.DataObject;
|
|
import com.arsdigita.persistence.DataQuery;
|
|
import com.arsdigita.persistence.OID;
|
|
import com.arsdigita.persistence.SessionManager;
|
|
import com.arsdigita.util.Assert;
|
|
|
|
public class SiteProxyProvider extends AtoZProvider {
|
|
|
|
public static final String BASE_DATA_OBJECT_TYPE =
|
|
"com.arsdigita.atoz.siteproxy.SiteProxyProvider";
|
|
|
|
public static final String CATEGORY = "category";
|
|
|
|
private static final String ATOMIC_SITEPROXY_ENTRIES_QUERY =
|
|
"com.arsdigita.atoz.getAtomicSiteProxyEntries";
|
|
|
|
public SiteProxyProvider() {
|
|
this(BASE_DATA_OBJECT_TYPE);
|
|
}
|
|
|
|
public SiteProxyProvider(String type) {
|
|
super(type);
|
|
}
|
|
|
|
public SiteProxyProvider(DataObject obj) {
|
|
super(obj);
|
|
}
|
|
|
|
public SiteProxyProvider(OID oid) {
|
|
super(oid);
|
|
}
|
|
|
|
public AtoZGenerator getGenerator() {
|
|
return new SiteProxyGenerator(this);
|
|
}
|
|
|
|
public static SiteProxyProvider create(String title,
|
|
String description,
|
|
Category category) {
|
|
SiteProxyProvider siteProxyProvider = new SiteProxyProvider();
|
|
siteProxyProvider.setup(title, description, category);
|
|
return siteProxyProvider;
|
|
}
|
|
|
|
protected void setup(String title, String description, Category category) {
|
|
super.setup(title, description);
|
|
setCategory(category);
|
|
}
|
|
|
|
public Category getCategory() {
|
|
if (get(CATEGORY) == null) {
|
|
return null;
|
|
} else {
|
|
return new Category((DataObject) get(CATEGORY));
|
|
}
|
|
}
|
|
|
|
public void setCategory(Category category) {
|
|
Assert.exists(category, Category.class);
|
|
set(CATEGORY, category);
|
|
}
|
|
|
|
public DataQuery getAtomicEntries(String letter) {
|
|
DataQuery items = SessionManager.getSession().retrieveQuery(
|
|
ATOMIC_SITEPROXY_ENTRIES_QUERY);
|
|
items.setParameter("providerID", getID());
|
|
items.setParameter("letter", letter + '%');
|
|
return items;
|
|
}
|
|
|
|
}
|