Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
c2241ad6
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c2241ad6
编写于
1月 05, 2010
作者:
M
Micha Kiener
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SPR-6416, tests
上级
3fdfdee3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
207 addition
and
0 deletion
+207
-0
org.springframework.context/src/test/java/org/springframework/conversation/BasicConversationTests.java
.../springframework/conversation/BasicConversationTests.java
+86
-0
org.springframework.context/src/test/java/org/springframework/conversation/ConversationalBean.java
.../org/springframework/conversation/ConversationalBean.java
+35
-0
org.springframework.context/src/test/java/org/springframework/conversation/SingletonConversationStore.java
...ingframework/conversation/SingletonConversationStore.java
+54
-0
org.springframework.context/src/test/java/org/springframework/conversation/conversationTestContext.xml
.../springframework/conversation/conversationTestContext.xml
+32
-0
未找到文件。
org.springframework.context/src/test/java/org/springframework/conversation/BasicConversationTests.java
0 → 100644
浏览文件 @
c2241ad6
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package
org.springframework.conversation
;
import
static
org
.
junit
.
Assert
.*;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.support.GenericXmlApplicationContext
;
import
org.springframework.conversation.manager.ConversationManager
;
import
org.springframework.conversation.manager.ConversationStore
;
import
org.springframework.conversation.scope.ConversationResolver
;
/**
* Basic conversation management tests.
*
* @author Micha Kiener
* @since 3.1
*/
public
class
BasicConversationTests
{
private
ConfigurableApplicationContext
ctx
;
private
ConversationManager
manager
;
private
ConversationStore
store
;
private
ConversationResolver
resolver
;
@Before
public
void
setUp
()
{
ctx
=
loadContext
(
getContextLocation
());
manager
=
ctx
.
getBean
(
ConversationManager
.
class
);
store
=
ctx
.
getBean
(
ConversationStore
.
class
);
resolver
=
ctx
.
getBean
(
ConversationResolver
.
class
);
}
@Test
public
void
testContext
()
{
ConfigurableApplicationContext
context
=
getContext
();
assertNotNull
(
context
);
assertNotNull
(
manager
);
}
@Test
public
void
testTemporaryConversation
()
{
ConversationalBean
bean
=
(
ConversationalBean
)
getContext
().
getBean
(
"testBean"
);
assertNotNull
(
bean
);
assertNull
(
bean
.
getName
());
String
id
=
resolver
.
getCurrentConversationId
();
assertNotNull
(
id
);
Conversation
conversation
=
store
.
getConversation
(
id
);
assertNotNull
(
conversation
);
assertTrue
(
conversation
.
isTemporary
());
Object
attribute
=
conversation
.
getAttribute
(
"testBean"
);
assertNotNull
(
attribute
);
assertSame
(
bean
,
attribute
);
conversation
.
end
(
ConversationEndingType
.
SUCCESS
);
assertTrue
(
conversation
.
isEnded
());
assertNull
(
resolver
.
getCurrentConversationId
());
}
protected
String
getContextLocation
()
{
return
"org/springframework/conversation/conversationTestContext.xml"
;
}
protected
ConfigurableApplicationContext
loadContext
(
String
configLocation
)
{
GenericXmlApplicationContext
ctx
=
new
GenericXmlApplicationContext
(
getContextLocation
());
return
ctx
;
}
protected
ConfigurableApplicationContext
getContext
()
{
return
ctx
;
}
}
org.springframework.context/src/test/java/org/springframework/conversation/ConversationalBean.java
0 → 100644
浏览文件 @
c2241ad6
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package
org.springframework.conversation
;
/**
* A simple bean, having "conversation" scope.
*
* @author Micha Kiener
* @since 3.1
*/
public
class
ConversationalBean
{
private
String
name
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
org.springframework.context/src/test/java/org/springframework/conversation/SingletonConversationStore.java
0 → 100644
浏览文件 @
c2241ad6
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package
org.springframework.conversation
;
import
java.util.HashMap
;
import
java.util.Map
;
import
javax.annotation.PostConstruct
;
import
org.springframework.conversation.manager.AbstractConversationStore
;
/**
* @author Micha Kiener
* @since 3.1
*/
public
class
SingletonConversationStore
extends
AbstractConversationStore
{
/** The map for the conversation storage. */
private
Map
<
String
,
Conversation
>
conversationMap
;
@PostConstruct
public
void
initialize
()
{
conversationMap
=
new
HashMap
<
String
,
Conversation
>();
}
/**
* @see org.springframework.conversation.manager.AbstractConversationStore#getConversationMap()
*/
@Override
public
Map
<
String
,
Conversation
>
getConversationMap
()
{
return
conversationMap
;
}
/**
* @see org.springframework.conversation.manager.AbstractConversationStore#getConversationMapFallback()
*/
@Override
public
Map
<
String
,
Conversation
>
getConversationMapFallback
()
{
return
conversationMap
;
}
}
org.springframework.context/src/test/java/org/springframework/conversation/conversationTestContext.xml
0 → 100644
浏览文件 @
c2241ad6
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:aop=
"http://www.springframework.org/schema/aop"
xsi:schemaLocation=
"
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
>
<context:annotation-config
/>
<bean
id=
"conversationManager"
class=
"org.springframework.conversation.manager.ConversationManagerImpl"
>
<property
name=
"defaultConversationTimeout"
value=
"0"
/>
<property
name=
"conversationStore"
ref=
"conversationStore"
/>
<property
name=
"conversationResolver"
ref=
"conversationResolver"
/>
</bean>
<bean
id=
"conversationStore"
class=
"org.springframework.conversation.SingletonConversationStore"
>
<property
name=
"useFallbackMap"
value=
"false"
/>
</bean>
<bean
id=
"conversationResolver"
class=
"org.springframework.conversation.scope.ThreadAttachedConversationResolver"
/>
<bean
id=
"conversationScope"
class=
"org.springframework.conversation.scope.DefaultConversationScope"
lazy-init=
"false"
>
<property
name=
"conversationManager"
ref=
"conversationManager"
/>
<property
name=
"conversationStore"
ref=
"conversationStore"
/>
<property
name=
"conversationResolver"
ref=
"conversationResolver"
/>
</bean>
<bean
id=
"testBean"
class=
"org.springframework.conversation.ConversationalBean"
scope=
"conversation"
/>
</beans>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录