Old Initializer entfernt.
git-svn-id: https://svn.libreccm.org/ccm/trunk@721 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
dfc9636031
commit
ac7b44156c
|
|
@ -4,7 +4,7 @@ application context: [webapps]/ccm-ldn-rss.
|
|||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
If rss should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
|
|
@ -15,7 +15,7 @@ modifications are necessary:
|
|||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
operations, which had been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@ import com.arsdigita.persistence.SessionManager;
|
|||
import com.arsdigita.persistence.Session;
|
||||
import com.arsdigita.persistence.DataCollection;
|
||||
|
||||
|
||||
/**
|
||||
* Domain object for an RSS channel.
|
||||
* @author Simon Buckle (sbuckle@arsdigita.com)
|
||||
*/
|
||||
|
||||
public class Feed extends ACSObject {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public class Initializer extends CompoundInitializer {
|
|||
("ccm-ldn-rss.pdl.mf",
|
||||
new NameFilter(DbHelper.getDatabaseSuffix(database), "pdl"))));
|
||||
|
||||
add(new LegacyInitializer("com/arsdigita/london/rss/enterprise.init"));
|
||||
// add(new LegacyInitializer("com/arsdigita/london/rss/enterprise.init"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,12 +18,21 @@
|
|||
|
||||
package com.arsdigita.london.rss;
|
||||
|
||||
import com.arsdigita.categorization.CategoryPurpose;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import com.arsdigita.domain.DomainObject;
|
||||
import com.arsdigita.kernel.ACSObjectInstantiator;
|
||||
import com.arsdigita.kernel.Kernel;
|
||||
import com.arsdigita.kernel.KernelExcursion;
|
||||
import com.arsdigita.loader.PackageLoader;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.portal.PortletType;
|
||||
import com.arsdigita.runtime.ScriptContext;
|
||||
import com.arsdigita.london.rss.portlet.WorkspaceDirectoryPortlet;
|
||||
import com.arsdigita.web.Application;
|
||||
import com.arsdigita.web.ApplicationSetup;
|
||||
import com.arsdigita.web.ApplicationType;
|
||||
import com.arsdigita.web.URL;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
|
@ -43,11 +52,84 @@ public class Loader extends PackageLoader {
|
|||
public void excurse() {
|
||||
setEffectiveParty(Kernel.getSystemParty());
|
||||
|
||||
// CatgegoryPurpose is deprecated and replaced by terms in
|
||||
// some way. So this step may be ommitted.
|
||||
String catKey = RSS.getConfig().getCategoryKey();
|
||||
s_log.info("Setting RSS Category Key to " + catKey + ".");
|
||||
if (!CategoryPurpose.purposeExists(catKey)) {
|
||||
(new CategoryPurpose(catKey, "RSS Feed")).save();
|
||||
}
|
||||
|
||||
// load application type for admin application into database
|
||||
// (i.e. create application type)
|
||||
setupChannelControlCenter();
|
||||
|
||||
// Load local fveeds into database
|
||||
setupLocalFeeds();
|
||||
|
||||
// load portlet type into database
|
||||
loadWorkspaceDirectoryPortlet();
|
||||
}
|
||||
}.run();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the application type for the admin application as an
|
||||
* (old style) compatible applicaiton.
|
||||
*/
|
||||
public void setupChannelControlCenter() {
|
||||
ApplicationSetup setup = new ApplicationSetup(s_log);
|
||||
|
||||
setup.setApplicationObjectType(RSS.BASE_DATA_OBJECT_TYPE);
|
||||
setup.setKey("rss");
|
||||
setup.setTitle("RSS Channels");
|
||||
setup.setDescription("RSS Channels");
|
||||
setup.setSingleton(true);
|
||||
setup.setInstantiator(new ACSObjectInstantiator() {
|
||||
@Override
|
||||
public DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new RSS(dataObject);
|
||||
}
|
||||
});
|
||||
ApplicationType type = setup.run();
|
||||
type.save();
|
||||
|
||||
if (!Application.isInstalled(RSS.BASE_DATA_OBJECT_TYPE,
|
||||
"/channels/")) {
|
||||
Application app =
|
||||
Application.createApplication(type,
|
||||
"channels",
|
||||
"RSS",
|
||||
null);
|
||||
app.save();
|
||||
}
|
||||
}
|
||||
|
||||
public void setupLocalFeeds() {
|
||||
|
||||
URL external = URL.there("/channels/rss/external.rss", null);
|
||||
try {
|
||||
Feed feed = Feed.retrieve(external.getURL());
|
||||
} catch (DataObjectNotFoundException ex) {
|
||||
Feed feed = Feed.create(external.getURL(),
|
||||
"External feeds",
|
||||
"External rss content feeds",
|
||||
true);
|
||||
feed.save();
|
||||
}
|
||||
|
||||
URL index = URL.there("/channels/rss/index.rss", null);
|
||||
try {
|
||||
Feed feed = Feed.retrieve(index.getURL());
|
||||
} catch (DataObjectNotFoundException ex) {
|
||||
Feed feed = Feed.create(index.getURL(),
|
||||
"Local content feeds",
|
||||
"Local CMS content feeds",
|
||||
true);
|
||||
feed.save();
|
||||
}
|
||||
}
|
||||
|
||||
private void loadWorkspaceDirectoryPortlet() {
|
||||
PortletType type = PortletType.createPortletType("Workspace Directory",
|
||||
PortletType.WIDE_PROFILE,
|
||||
|
|
|
|||
|
|
@ -27,26 +27,24 @@ import org.apache.log4j.Logger;
|
|||
|
||||
/**
|
||||
* The file that contains all configuration information for
|
||||
* the RSS application
|
||||
* the RSS application.
|
||||
* @version $Id: RSSConfig.java 1319 2006-09-15 10:52:49Z apevec $
|
||||
*/
|
||||
public final class RSSConfig extends AbstractConfig {
|
||||
public static final String versionId =
|
||||
"$Id: RSSConfig.java 1319 2006-09-15 10:52:49Z apevec $" +
|
||||
"$Author: apevec $" +
|
||||
"$DateTime: 2003/11/27 11:55:32 $";
|
||||
|
||||
private static final Logger s_log = Logger.getLogger(RSSConfig.class);
|
||||
|
||||
private final Parameter m_categoryKey;
|
||||
private final Parameter m_processingInstruction_xslt;
|
||||
/** */
|
||||
private final Parameter m_categoryKey= new RSSCategoryKeyParameter
|
||||
("com.arsdigita.london.rss.categoryKey", Parameter.REQUIRED, "RSS");
|
||||
/** */
|
||||
private final Parameter m_processingInstruction_xslt= new StringParameter
|
||||
("com.arsdigita.london.rss.processingInstruction_xslt",
|
||||
Parameter.OPTIONAL, null);
|
||||
|
||||
public RSSConfig() {
|
||||
m_categoryKey = new RSSCategoryKeyParameter
|
||||
("com.arsdigita.london.rss.categoryKey", Parameter.REQUIRED, "RSS");
|
||||
register(m_categoryKey);
|
||||
|
||||
m_processingInstruction_xslt = new StringParameter
|
||||
("com.arsdigita.london.rss.processingInstruction_xslt", Parameter.OPTIONAL, null);
|
||||
register(m_categoryKey);
|
||||
register(m_processingInstruction_xslt);
|
||||
|
||||
loadInfo();
|
||||
|
|
|
|||
|
|
@ -35,11 +35,27 @@ import org.jdom.output.XMLOutputter;
|
|||
|
||||
public abstract class RSSDispatcher implements Dispatcher {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param actx
|
||||
* @return
|
||||
* @throws ServletException
|
||||
*/
|
||||
public abstract RSSChannel getChannel(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RequestContext actx)
|
||||
throws ServletException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param actx
|
||||
* @throws IOException
|
||||
* @throws ServletException
|
||||
*/
|
||||
public void dispatch(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RequestContext actx)
|
||||
|
|
|
|||
|
|
@ -30,10 +30,22 @@ public class SimpleRSSDispatcher extends RSSDispatcher {
|
|||
|
||||
private RSSChannel m_channel;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* @param channel
|
||||
*/
|
||||
public SimpleRSSDispatcher(RSSChannel channel) {
|
||||
m_channel = channel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation auf abstract method in parent class
|
||||
* @param request
|
||||
* @param response
|
||||
* @param actx
|
||||
* @return
|
||||
* @throws ServletException
|
||||
*/
|
||||
public RSSChannel getChannel(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RequestContext actx)
|
||||
|
|
|
|||
|
|
@ -21,15 +21,15 @@ package com.arsdigita.london.rss.installer;
|
|||
import com.arsdigita.initializer.Configuration;
|
||||
import com.arsdigita.initializer.InitializationException;
|
||||
|
||||
import com.arsdigita.persistence.TransactionContext;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
// import com.arsdigita.persistence.TransactionContext;
|
||||
//import com.arsdigita.persistence.SessionManager;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
import com.arsdigita.domain.DomainObject;
|
||||
import com.arsdigita.kernel.BaseInitializer;
|
||||
import com.arsdigita.kernel.ACSObjectInstantiator;
|
||||
|
||||
import com.arsdigita.categorization.CategoryPurpose;
|
||||
// import com.arsdigita.categorization.CategoryPurpose;
|
||||
import com.arsdigita.london.rss.RSS;
|
||||
import com.arsdigita.london.rss.Feed;
|
||||
|
||||
|
|
@ -68,21 +68,23 @@ public class Initializer extends BaseInitializer {
|
|||
**/
|
||||
protected void doStartup() throws InitializationException {
|
||||
|
||||
String catKey = RSS.getConfig().getCategoryKey();
|
||||
s_log.info("Setting RSS Category Key to " + catKey + ".");
|
||||
// Moved into loader
|
||||
// String catKey = RSS.getConfig().getCategoryKey();
|
||||
// s_log.info("Setting RSS Category Key to " + catKey + ".");
|
||||
|
||||
TransactionContext txn = SessionManager.getSession()
|
||||
.getTransactionContext();
|
||||
txn.beginTxn();
|
||||
// TransactionContext txn = SessionManager.getSession()
|
||||
// .getTransactionContext();
|
||||
// txn.beginTxn();
|
||||
|
||||
if (!CategoryPurpose.purposeExists(catKey)) {
|
||||
(new CategoryPurpose(catKey, "RSS Feed")).save();
|
||||
}
|
||||
// if (!CategoryPurpose.purposeExists(catKey)) {
|
||||
// (new CategoryPurpose(catKey, "RSS Feed")).save();
|
||||
// }
|
||||
|
||||
setupChannelControlCenter();
|
||||
// Moved into loader
|
||||
// setupChannelControlCenter();
|
||||
setupLocalFeeds();
|
||||
|
||||
txn.commitTxn();
|
||||
// txn.commitTxn();
|
||||
}
|
||||
|
||||
public void setupChannelControlCenter() {
|
||||
|
|
@ -120,8 +122,8 @@ public class Initializer extends BaseInitializer {
|
|||
|
||||
|
||||
public void setupLocalFeeds() {
|
||||
URL external = URL.there("/channels/rss/external.rss", null);
|
||||
|
||||
URL external = URL.there("/channels/rss/external.rss", null);
|
||||
try {
|
||||
Feed feed = Feed.retrieve(external.getURL());
|
||||
} catch (DataObjectNotFoundException ex) {
|
||||
Loading…
Reference in New Issue