From: <jbo...@li...> - 2006-05-06 21:16:54
|
Author: wrzep Date: 2006-05-06 17:05:25 -0400 (Sat, 06 May 2006) New Revision: 4111 Modified: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/kosmos/jars/kosmos-server.jar labs/jbosslabs/trunk/portal-extensions/forge-kosmos/conf/server/kosmos-services-servlet.xml labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/ShotokuCachedDataStore.java labs/jbosslabs/trunk/portal-extensions/forge-kosmos/to-copy/kosmos-server.war labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/RevisionStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java Log: JBLAB-599 JBLAB-643 Pawel Modified: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/kosmos/jars/kosmos-server.jar =================================================================== (Binary files differ) Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos/conf/server/kosmos-services-servlet.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-kosmos/conf/server/kosmos-services-servlet.xml 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos/conf/server/kosmos-services-servlet.xml 2006-05-06 21:05:25 UTC (rev 4111) @@ -4,42 +4,116 @@ <beans> <!-- CC service --> <bean id="ccService" class="hu.midori.kosmos.server.cc.CcServiceImpl"> - <property name="store" ref="labsCachedDataStore"/> + <property name="store" ref="labsCachedDataStore"/> </bean> + + <bean id="ccServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> + <property name="targetName" value="ccService"/> + <property name="interceptorNames"> + <list> + <value>serviceCachePointCutAdvisor</value> + </list> + </property> + </bean> + <bean name="/cc-service" class="org.springframework.remoting.caucho.HessianServiceExporter"> - <property name="service" ref="ccService"/> - <property name="serviceInterface" value="hu.midori.kosmos.protocol.CcService"/> + <property name="service" ref="ccServiceProxy"/> + <property name="serviceInterface" value="hu.midori.kosmos.protocol.CcService"/> </bean> <!-- JIRA service --> - <bean id="jiraService" class="hu.midori.kosmos.server.jira.JiraServiceImpl"> - <property name="store" ref="labsCachedDataStore"/> + <bean id="jiraService" class="hu.midori.kosmos.server.jira.JiraWebCrawlingServiceImpl"> + <property name="store" ref="labsCachedDataStore"/> </bean> - <bean name="/jira-service" class="org.springframework.remoting.caucho.HessianServiceExporter"> - <property name="service" ref="jiraService"/> - <property name="serviceInterface" value="hu.midori.kosmos.protocol.JiraService"/> + + <bean id="jiraServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> + <property name="targetName" value="jiraService"/> + <property name="interceptorNames"> + <list> + <value>serviceCachePointCutAdvisor</value> + </list> + </property> </bean> - <!-- SF service --> - <bean id="sfService" class="hu.midori.kosmos.server.sf.SfServiceImpl"> - <property name="store" ref="labsCachedDataStore"/> + <bean name="/jira-service" class="org.springframework.remoting.caucho.HessianServiceExporter"> + <property name="service" ref="jiraServiceProxy"/> + <property name="serviceInterface" value="hu.midori.kosmos.protocol.JiraService"/> </bean> - <bean name="/sf-service" class="org.springframework.remoting.caucho.HessianServiceExporter"> - <property name="service" ref="sfService"/> - <property name="serviceInterface" value="hu.midori.kosmos.protocol.SfService"/> - </bean> <!-- SVN service --> <bean id="svnService" class="hu.midori.kosmos.server.svn.SvnServiceImpl"> - <property name="store" ref="labsCachedDataStore"/> + <property name="store" ref="labsCachedDataStore"/> </bean> + + <bean id="svnServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> + <property name="targetName" value="svnService"/> + <property name="interceptorNames"> + <list> + <value>serviceCachePointCutAdvisor</value> + </list> + </property> + </bean> + <bean name="/svn-service" class="org.springframework.remoting.caucho.HessianServiceExporter"> - <property name="service" ref="svnService"/> - <property name="serviceInterface" value="hu.midori.kosmos.protocol.SvnService"/> + <property name="service" ref="svnServiceProxy"/> + <property name="serviceInterface" value="hu.midori.kosmos.protocol.SvnService"/> </bean> - + + <!-- Service result POJO cache --> + <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> + <property name="configLocation" value="classpath:ehcache.xml"/> + </bean> + + <bean id="serviceResultCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> + <property name="cacheManager" ref="cacheManager"/> + <property name="cacheName" value="hu.midori.kosmos.server.cache"/> + </bean> + + <!-- Service result cache interceptor --> + <bean id="serviceCacheInterceptor" class="hu.midori.kosmos.server.MethodResultCacheInterceptor"> + <property name="cache" ref="serviceResultCache" /> + </bean> + + <bean id="serviceCachePointCutAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> + <property name="advice"> + <ref local="serviceCacheInterceptor"/> + </property> + <property name="patterns"> + <list> + <value>hu.midori.kosmos.protocol.CcService.getProjects</value> + <value>hu.midori.kosmos.protocol.JiraService.getProjects</value> + <value>hu.midori.kosmos.protocol.SfService.getFileReleases</value> + <value>hu.midori.kosmos.protocol.SvnService.getRepositories</value> + </list> + </property> + </bean> + + <!-- Service result update scheduler --> + <bean name="serviceResultUpdaterJob" class="org.springframework.scheduling.quartz.JobDetailBean"> + <property name="jobClass" value="hu.midori.kosmos.server.ServiceResultUpdaterJob"/> + <property name="jobDataAsMap"> + <map> + <entry key="cache" value-ref="serviceResultCache"/> + </map> + </property> + </bean> + + <bean id="serviceResultUpdateTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> + <property name="jobDetail" ref="serviceResultUpdaterJob"/> + <property name="startDelay" value="7200000"/><!-- start and repeat in every 2 hours --> + <property name="repeatInterval" value="7200000"/> + </bean> + + <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> + <property name="triggers"> + <list> + <ref bean="serviceResultUpdateTrigger"/> + </list> + </property> + </bean> + <!-- Labs cached data store --> <bean id="labsCachedDataStore" class="org.jboss.kosmos.LabsCachedDataStore"> </bean> - -</beans> \ No newline at end of file + +</beans> Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java 2006-05-06 21:05:25 UTC (rev 4111) @@ -31,14 +31,14 @@ import org.jboss.forge.common.TempFileDescriptor; import org.jboss.shotoku.tools.Tools; -import hu.midori.kosmos.server.CachedDataStore; +import hu.midori.kosmos.server.store.StaticContentStore; /** * * @author Tomasz Szyma??ski (tom...@jb...) * @author <a href="mailto:aro...@mi...">Aron Gombas</a> */ -public class LabsCachedDataStore implements CachedDataStore { +public class LabsCachedDataStore implements StaticContentStore { public String storeFile(String fileName, InputStream in) throws Exception { Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/ShotokuCachedDataStore.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/ShotokuCachedDataStore.java 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/ShotokuCachedDataStore.java 2006-05-06 21:05:25 UTC (rev 4111) @@ -31,14 +31,14 @@ import org.jboss.shotoku.Node; import org.jboss.shotoku.exceptions.ResourceDoesNotExist; -import hu.midori.kosmos.server.CachedDataStore; +import hu.midori.kosmos.server.store.StaticContentStore; /** * * @author Adam Warski (ad...@as...) * @author <a href="mailto:aro...@mi...">Aron Gombas</a> */ -public class ShotokuCachedDataStore implements CachedDataStore { +public class ShotokuCachedDataStore implements StaticContentStore { private String fileAccessUrl; private String prefix; Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos/to-copy/kosmos-server.war =================================================================== (Binary files differ) Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java 2006-05-06 21:05:25 UTC (rev 4111) @@ -23,8 +23,6 @@ package org.jboss.forge.status.plugins.cc; import java.util.List; -import java.util.Map; - import java.net.MalformedURLException; import org.jboss.forge.status.plugins.KosmosStatusPlugin; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/RevisionStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/RevisionStatusPlugin.java 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/RevisionStatusPlugin.java 2006-05-06 21:05:25 UTC (rev 4111) @@ -38,12 +38,17 @@ @Override protected int getPluginSpecyficValue(Object repository) { SvnRepository repo = (SvnRepository) repository; + + System.out.println("revision " + repo.getRevision() + + " / " + Long.valueOf(repo.getRevision()).intValue()); + return Long.valueOf(repo.getRevision()).intValue(); //TODO possible out of range } @Override protected int getPluginSpecyficDefaultValue() { + System.out.println("default value"); return 0; } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-05-06 21:05:25 UTC (rev 4111) @@ -91,7 +91,7 @@ if ((repositories != null) && (repositories.size() > 0)) { repository = repositories.get(0); } - + return repository; } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-05-06 15:51:26 UTC (rev 4110) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-05-06 21:05:25 UTC (rev 4111) @@ -68,11 +68,11 @@ /* project.xml files tags */ public static final String JIRA_SERVICE_PROPERTY = "jira-service"; - public static final String JIRA_ADRESS_TAG = "jira-adress"; + public static final String JIRA_ADRESS_TAG = "jira-address"; public static final String SVN_SERVICE_PROPERTY = "svn-service"; public static final String CC_SERVICE_PROPERTY = "cc-service"; - public static final String CC_ADRESS_TAG = "cc-adress"; + public static final String CC_ADRESS_TAG = "cc-address"; public static final String SVN_REPO_ADRESS_TAG = "svn-repo"; public static final String SVN_USERNAME_TAG = "svn-username"; |