[Yanel-commits] rev 20212 - in public/yanel/trunk: conf src/build
src/core/java/org/wyona/yanel/cmdl
src/core/java/org/wyona/yanel/core
src/core/java/org/wyona/yanel/servlet
david at wyona.com
david at wyona.com
Wed Nov 22 14:34:25 CET 2006
Author: david
Date: 2006-11-22 14:34:24 +0100 (Wed, 22 Nov 2006)
New Revision: 20212
Added:
public/yanel/trunk/conf/spring-yanel-config.xml
Modified:
public/yanel/trunk/src/build/build.xml
public/yanel/trunk/src/build/dependencies.xml
public/yanel/trunk/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java
public/yanel/trunk/src/core/java/org/wyona/yanel/core/Yanel.java
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
added spring config to yanel
Added: public/yanel/trunk/conf/spring-yanel-config.xml
===================================================================
--- public/yanel/trunk/conf/spring-yanel-config.xml 2006-11-22 13:28:21 UTC (rev 20211)
+++ public/yanel/trunk/conf/spring-yanel-config.xml 2006-11-22 13:34:24 UTC (rev 20212)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
+
+<beans>
+ <bean id="repositoryFactory" class="org.wyona.yarep.core.RepositoryFactory">
+ <!-- this is just an example so far, it's not really used -->
+ <!-- <property name="someProperty"><value>someValue</value></property> -->
+ </bean>
+</beans>
Modified: public/yanel/trunk/src/build/build.xml
===================================================================
--- public/yanel/trunk/src/build/build.xml 2006-11-22 13:28:21 UTC (rev 20211)
+++ public/yanel/trunk/src/build/build.xml 2006-11-22 13:34:24 UTC (rev 20212)
@@ -307,6 +307,7 @@
<fileset dir="${yanel.home.dir}/conf/entities"/>
</copy>
+ <copy file="${yanel.home.dir}/conf/spring-yanel-config.xml" todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/classes" overwrite="false"/>
<copy file="${yanel.home.dir}/conf/realms.xml" todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/classes" overwrite="false"/>
<copy file="${yanel.home.dir}/conf/log4j.properties" todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/classes" overwrite="false"/>
<copy file="${yanel.home.dir}/conf/yanel-rti-yarep.properties" todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/classes" overwrite="false"/>
Modified: public/yanel/trunk/src/build/dependencies.xml
===================================================================
--- public/yanel/trunk/src/build/dependencies.xml 2006-11-22 13:28:21 UTC (rev 20211)
+++ public/yanel/trunk/src/build/dependencies.xml 2006-11-22 13:34:24 UTC (rev 20212)
@@ -55,6 +55,9 @@
version="2.7.0"/>
<dependency groupId="wyona-org-security" artifactId="wyona-org-security-impl"
version="0.0.1-dev-r15775"/>
+
+ <dependency groupId="spring" artifactId="spring"
+ version="2.0"/>
</artifact:dependencies>
<property name="maven2.cp" refid="maven2.classpath"/>
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java 2006-11-22 13:28:21 UTC (rev 20211)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java 2006-11-22 13:34:24 UTC (rev 20212)
@@ -20,6 +20,7 @@
import org.wyona.yanel.core.Resource;
import org.wyona.yanel.core.ResourceTypeDefinition;
import org.wyona.yanel.core.ResourceTypeRegistry;
+import org.wyona.yanel.core.Yanel;
import org.wyona.yanel.core.api.attributes.CreatableV1;
import org.wyona.yanel.core.api.attributes.CreatableV2;
import org.wyona.yanel.core.api.attributes.ModifiableV1;
@@ -47,9 +48,10 @@
/**
*
*/
- static public void main(String[] args) {
+ static public void main(String[] args) throws Exception {
System.out.println("Welcome to the Yanel command line interface!\n");
+ Yanel yanel = Yanel.getInstance();
MapFactory mf = MapFactory.newInstance();
Map map = mf.newMap();
@@ -120,7 +122,7 @@
Resource res = null;
try {
res = rtr.newResource(rti);
- res.setYanel(new org.wyona.yanel.core.Yanel());
+ res.setYanel(yanel);
} catch(Exception e) {
System.err.println("Exception 435435: " + e);
return;
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/Yanel.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/Yanel.java 2006-11-22 13:28:21 UTC (rev 20211)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/Yanel.java 2006-11-22 13:34:24 UTC (rev 20212)
@@ -18,24 +18,49 @@
import org.wyona.yanel.core.map.Map;
import org.wyona.yanel.core.map.MapFactory;
+import org.wyona.yarep.core.RepositoryFactory;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- *
+ * This class is a singleton.
*/
public class Yanel {
private Map map = null;
private ResourceTypeRegistry rtr = null;
+ private ApplicationContext applicationContext;
+
+ private static final String SPRING_CONFIG_FILE = "spring-yanel-config.xml";
+ private static Yanel yanel = null;
+
/**
- *
- */
- public Yanel() {
- MapFactory mf = MapFactory.newInstance();
- map = mf.newMap();
- rtr = new ResourceTypeRegistry();
+ * Private constructor
+ */
+ private Yanel() throws Exception {
+ MapFactory mf = MapFactory.newInstance();
+ map = mf.newMap();
+ rtr = new ResourceTypeRegistry();
+
+ applicationContext = new ClassPathXmlApplicationContext(SPRING_CONFIG_FILE);
+
+ // example:
+ //RepositoryFactory repoFactory = (RepositoryFactory)applicationContext.getBean("repositoryFactory");
}
+ public static Yanel getInstance() throws Exception {
+ if (yanel == null) {
+ yanel = new Yanel();
+ }
+ return yanel;
+ }
+
+ public BeanFactory getBeanFactory() {
+ return applicationContext;
+ }
+
/**
*
*/
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java 2006-11-22 13:28:21 UTC (rev 20211)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java 2006-11-22 13:34:24 UTC (rev 20212)
@@ -75,23 +75,28 @@
/**
*
*/
- public void init(ServletConfig config) {
+ public void init(ServletConfig config) throws ServletException {
this.config = config;
- rtr = new ResourceTypeRegistry();
+
+ try {
+ yanel = Yanel.getInstance();
+
+ rtr = new ResourceTypeRegistry();
- PolicyManagerFactory pmf = PolicyManagerFactory.newInstance();
- pm = pmf.newPolicyManager();
+ PolicyManagerFactory pmf = PolicyManagerFactory.newInstance();
+ pm = pmf.newPolicyManager();
- IdentityManagerFactory imf = IdentityManagerFactory.newInstance();
- im = imf.newIdentityManager();
+ IdentityManagerFactory imf = IdentityManagerFactory.newInstance();
+ im = imf.newIdentityManager();
- MapFactory mf = MapFactory.newInstance();
- map = mf.newMap();
+ MapFactory mf = MapFactory.newInstance();
+ map = mf.newMap();
- yanel = new Yanel();
-
- //sslPort = "8443";
- sslPort = config.getInitParameter("ssl-port");
+ //sslPort = "8443";
+ sslPort = config.getInitParameter("ssl-port");
+ } catch (Exception e) {
+ throw new ServletException(e.getMessage(), e);
+ }
}
/**
More information about the Yanel-commits
mailing list