second iteration of STM done, simple tests work now
This commit is contained in:
parent
2639d14e1a
commit
cd1ef83e49
40 changed files with 4102 additions and 3215 deletions
1
akka.iml
1
akka.iml
|
|
@ -9,6 +9,7 @@
|
|||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="library" name="scala-2.7.2.final" level="project" />
|
||||
<orderEntry type="library" name="scala-2.7.3" level="project" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="api-java" />
|
||||
|
|
|
|||
45
akka.ipr
45
akka.ipr
|
|
@ -44,6 +44,29 @@
|
|||
<option name="MAXIMUM_HEAP_SIZE" value="128" />
|
||||
</component>
|
||||
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
|
||||
<component name="FacetAutodetectingManager">
|
||||
<autodetection-disabled>
|
||||
<facet-type id="Scala">
|
||||
<modules>
|
||||
<module name="akka">
|
||||
<files>
|
||||
<file url="file://$PROJECT_DIR$/db/src/main/scala/Db.scala" />
|
||||
<file url="file://$PROJECT_DIR$/db/src/test/scala/DbReplicationSpecs.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/sample.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/src/main/scala/GenericServer.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/src/main/scala/Helpers.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/src/main/scala/Supervisor.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/test-code/test/scala/GenericServerContainerSuite.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/test-code/test/scala/GenericServerSuite.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/test-code/test/scala/Messages.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/test-code/test/scala/SupervisorStateSuite.scala" />
|
||||
<file url="file://$PROJECT_DIR$/supervisor/test-code/test/scala/SupervisorSuite.scala" />
|
||||
</files>
|
||||
</module>
|
||||
</modules>
|
||||
</facet-type>
|
||||
</autodetection-disabled>
|
||||
</component>
|
||||
<component name="IdProvider" IDEtalkID="0E3A0445954D4D390C337AFB20B2746C" />
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<option name="PROJECT_PROFILE" value="Project Default" />
|
||||
|
|
@ -219,12 +242,12 @@
|
|||
</component>
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/akka.iml" filepath="$PROJECT_DIR$/akka.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/api-java/api-java.iml" filepath="$PROJECT_DIR$/api-java/api-java.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/kernel/kernel.iml" filepath="$PROJECT_DIR$/kernel/kernel.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/util-java/util-java.iml" filepath="$PROJECT_DIR$/util-java/util-java.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
<component name="ResourceManagerContainer">
|
||||
|
|
@ -250,19 +273,19 @@
|
|||
</component>
|
||||
<component name="WebServicesPlugin" addRequiredLibraries="true" />
|
||||
<component name="libraryTable">
|
||||
<library name="scala-2.7.2.final">
|
||||
<library name="scala-2.7.3">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/lib/scala-compiler.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/lib/scala-dbc.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/lib/scala-library.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/lib/scala-swing.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/lib/scala-compiler.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/lib/scala-dbc.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/lib/scala-library.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/lib/scala-swing.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES>
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/src/scala-compiler-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/src/scala-dbc-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/src/scala-library-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.2.final/src/scala-swing-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-compiler-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-dbc-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-swing-src.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
|
|
|
|||
507
akka.iws
507
akka.iws
|
|
@ -2,17 +2,38 @@
|
|||
<project relativePaths="false" version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" name="Default" comment="">
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/Configuration.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/Configuration.scala" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/kernel/src/test/scala/restManagerSpec.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/pom.xml" afterPath="$PROJECT_DIR$/api-java/pom.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/test/scala/ActiveObjectSuite.scala" afterPath="$PROJECT_DIR$/kernel/src/test/scala/ActiveObjectSuite.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/nbproject/project.xml" afterPath="$PROJECT_DIR$/kernel/nbproject/project.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/nbproject/genfiles.properties" afterPath="$PROJECT_DIR$/kernel/nbproject/genfiles.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/test/scala/AllSuite.scala" afterPath="$PROJECT_DIR$/kernel/src/test/scala/AllSuite.scala" />
|
||||
<change type="DELETED" beforePath="C:\home\jboner\src\scala\akka\kernel\src\test\scala\ActiveObjectSpec.scala" afterPath="" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/src/test/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfiguratorTest.java" afterPath="$PROJECT_DIR$/api-java/src/test/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfiguratorTest.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/api-java/nbproject/private/private.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/nbproject/project.properties" afterPath="$PROJECT_DIR$/api-java/nbproject/project.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/util-java/nbproject/build-impl.xml" afterPath="$PROJECT_DIR$/util-java/nbproject/build-impl.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/kernel.iml" afterPath="$PROJECT_DIR$/kernel/kernel.iml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/State.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/State.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/nbproject/project.xml" afterPath="$PROJECT_DIR$/api-java/nbproject/project.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka.iml" afterPath="$PROJECT_DIR$/akka.iml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/util-java/nbproject/private/private.properties" afterPath="$PROJECT_DIR$/util-java/nbproject/private/private.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/build.xml" afterPath="$PROJECT_DIR$/kernel/build.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/Transaction.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/Transaction.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/src/main/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java" afterPath="$PROJECT_DIR$/api-java/src/main/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/Supervisor.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/Supervisor.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/Kernel.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/Kernel.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/src/main/java/com/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java" afterPath="$PROJECT_DIR$/api-java/src/main/java/com/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/kernel.iml" afterPath="$PROJECT_DIR$/kernel/kernel.iml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/kernel/src/main/scala/Logging.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/pom.xml" afterPath="$PROJECT_DIR$/pom.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/pom.xml" afterPath="$PROJECT_DIR$/kernel/pom.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/util-java/nbproject/genfiles.properties" afterPath="$PROJECT_DIR$/util-java/nbproject/genfiles.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/api-java.iml" afterPath="$PROJECT_DIR$/api-java/api-java.iml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/nbproject/project.properties" afterPath="$PROJECT_DIR$/kernel/nbproject/project.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka.ipr" afterPath="$PROJECT_DIR$/akka.ipr" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/nbproject/private/private.properties" afterPath="$PROJECT_DIR$/api-java/nbproject/private/private.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/nbproject/genfiles.properties" afterPath="$PROJECT_DIR$/api-java/nbproject/genfiles.properties" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/collection/Vector.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/collection/Vector.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/buildfile" afterPath="$PROJECT_DIR$/buildfile" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/api-java/nbproject/build-impl.xml" afterPath="$PROJECT_DIR$/api-java/nbproject/build-impl.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/nbproject/private/private.properties" afterPath="$PROJECT_DIR$/kernel/nbproject/private/private.properties" />
|
||||
<change type="DELETED" beforePath="C:\home\jboner\src\scala\akka\kernel\src\test\scala\RestManagerSpec.scala" afterPath="" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/nbproject/build-impl.xml" afterPath="$PROJECT_DIR$/kernel/nbproject/build-impl.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka.iws" afterPath="$PROJECT_DIR$/akka.iws" />
|
||||
</list>
|
||||
<ignored path="akka.iws" />
|
||||
|
|
@ -32,6 +53,34 @@
|
|||
<disable_hints />
|
||||
</component>
|
||||
<component name="DebuggerManager">
|
||||
<line_breakpoints>
|
||||
<breakpoint url="file://$PROJECT_DIR$/kernel/src/main/scala/Supervisor.scala" line="167" class="Class at Supervisor.scala:167" package="">
|
||||
<option name="ENABLED" value="true" />
|
||||
<option name="LOG_ENABLED" value="false" />
|
||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||
<option name="SUSPEND_POLICY" value="SuspendAll" />
|
||||
<option name="COUNT_FILTER_ENABLED" value="false" />
|
||||
<option name="COUNT_FILTER" value="0" />
|
||||
<option name="CONDITION_ENABLED" value="false" />
|
||||
<option name="CLASS_FILTERS_ENABLED" value="false" />
|
||||
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
|
||||
<option name="CONDITION" value="" />
|
||||
<option name="LOG_MESSAGE" value="" />
|
||||
</breakpoint>
|
||||
<breakpoint url="file://$PROJECT_DIR$/kernel/src/main/scala/Supervisor.scala" line="229" class="Class at Supervisor.scala:229" package="">
|
||||
<option name="ENABLED" value="true" />
|
||||
<option name="LOG_ENABLED" value="false" />
|
||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||
<option name="SUSPEND_POLICY" value="SuspendAll" />
|
||||
<option name="COUNT_FILTER_ENABLED" value="false" />
|
||||
<option name="COUNT_FILTER" value="0" />
|
||||
<option name="CONDITION_ENABLED" value="false" />
|
||||
<option name="CLASS_FILTERS_ENABLED" value="false" />
|
||||
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
|
||||
<option name="CONDITION" value="" />
|
||||
<option name="LOG_MESSAGE" value="" />
|
||||
</breakpoint>
|
||||
</line_breakpoints>
|
||||
<breakpoint_any>
|
||||
<breakpoint>
|
||||
<option name="NOTIFY_CAUGHT" value="true" />
|
||||
|
|
@ -65,7 +114,24 @@
|
|||
</breakpoint>
|
||||
</breakpoint_any>
|
||||
<breakpoint_rules />
|
||||
<ui_properties />
|
||||
<ui_properties>
|
||||
<property name="line_breakpoints_groupByMethods" value="false" />
|
||||
<property name="line_breakpoints_viewId" value="TABLE" />
|
||||
<property name="exception_breakpoints_flattenPackages" value="true" />
|
||||
<property name="method_breakpoints_flattenPackages" value="true" />
|
||||
<property name="field_breakpoints_flattenPackages" value="true" />
|
||||
<property name="exception_breakpoints_groupByMethods" value="false" />
|
||||
<property name="line_breakpoints_groupByClasses" value="true" />
|
||||
<property name="method_breakpoints_viewId" value="TABLE" />
|
||||
<property name="field_breakpoints_groupByMethods" value="false" />
|
||||
<property name="line_breakpoints_flattenPackages" value="true" />
|
||||
<property name="field_breakpoints_groupByClasses" value="true" />
|
||||
<property name="method_breakpoints_groupByClasses" value="true" />
|
||||
<property name="exception_breakpoints_viewId" value="TABLE" />
|
||||
<property name="field_breakpoints_viewId" value="TABLE" />
|
||||
<property name="exception_breakpoints_groupByClasses" value="true" />
|
||||
<property name="method_breakpoints_groupByMethods" value="false" />
|
||||
</ui_properties>
|
||||
</component>
|
||||
<component name="FavoritesManager">
|
||||
<favorites_list name="akka" />
|
||||
|
|
@ -75,52 +141,72 @@
|
|||
<file leaf-file-name="ActiveObject.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="9" selection-start="49" selection-end="49" vertical-scroll-proportion="0.0">
|
||||
<state line="108" column="32" selection-start="3659" selection-end="3659" vertical-scroll-proportion="-11.32">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Kernel.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Kernel.scala">
|
||||
<file leaf-file-name="Transaction.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Transaction.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="51" column="0" selection-start="1624" selection-end="1624" vertical-scroll-proportion="0.0">
|
||||
<state line="69" column="36" selection-start="2555" selection-end="2555" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Logging.scala" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Logging.scala">
|
||||
<file leaf-file-name="State.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/State.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="19" column="0" selection-start="411" selection-end="411" vertical-scroll-proportion="0.219865">
|
||||
<state line="33" column="0" selection-start="805" selection-end="805" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="restManagerSpec.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/restManagerSpec.scala">
|
||||
<file leaf-file-name="ErrRef.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ErrRef.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="4" column="8" selection-start="59" selection-end="92" vertical-scroll-proportion="0.0">
|
||||
<state line="47" column="52" selection-start="1076" selection-end="1076" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ActiveObjectSuite.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/ActiveObjectSuite.scala">
|
||||
<file leaf-file-name="Supervisor.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Supervisor.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="5" column="0" selection-start="0" selection-end="93" vertical-scroll-proportion="0.0">
|
||||
<state line="360" column="0" selection-start="12846" selection-end="12846" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="pom.xml" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/pom.xml">
|
||||
<file leaf-file-name="GenericServer.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="56" column="4" selection-start="1771" selection-end="1771" vertical-scroll-proportion="0.0">
|
||||
<state line="262" column="161" selection-start="8006" selection-end="8006" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ActiveObjectGuiceConfiguratorTest.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/api-java/src/test/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfiguratorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="283" column="35" selection-start="8575" selection-end="8575" vertical-scroll-proportion="0.7485101">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ActiveObjectGuiceConfigurator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/api-java/src/main/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="43" selection-start="1120" selection-end="1120" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
@ -148,132 +234,7 @@
|
|||
<ConfirmationsSetting value="0" id="Remove" />
|
||||
</component>
|
||||
<component name="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="test" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="scala" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="kernel" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="main" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="scala" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="api-java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="api-java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="api-java" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
<subPane />
|
||||
</component>
|
||||
<component name="ProjectReloadState">
|
||||
<option name="STATE" value="0" />
|
||||
|
|
@ -297,32 +258,49 @@
|
|||
<property name="project.structure.last.edited" value="Modules" />
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="RunManagerConfig.showSettingsBeforeRunnig" value="true" />
|
||||
<property name="RunManagerConfig.showSettingsBeforeRunnig" value="false" />
|
||||
<property name="MemberChooser.sorted" value="false" />
|
||||
<property name="options.lastSelected" value="preferences.lookFeel" />
|
||||
<property name="options.lastSelected" value="preferences.toDoOptions" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="GoToClass.includeJavaFiles" value="false" />
|
||||
<property name="MemberChooser.copyJavadoc" value="false" />
|
||||
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
|
||||
<property name="MemberChooser.showClasses" value="true" />
|
||||
<property name="GoToClass.includeLibraries" value="false" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="dynamic.classpath" value="false" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
</component>
|
||||
<component name="RunManager" selected="Application.Kernel">
|
||||
<tempConfiguration default="false" name="Kernel" type="Application" factoryName="Application" enabled="false" merge="false" runner="emma">
|
||||
<option name="MAIN_CLASS_NAME" value="com.scalablesolutions.akka.kernel.Kernel" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<component name="RunManager" selected="JUnit.ActiveObjectGuiceConfiguratorTest">
|
||||
<tempConfiguration default="false" name="ActiveObjectGuiceConfiguratorTest" type="JUnit" factoryName="JUnit" enabled="false" merge="false" sample_coverage="true" runner="emma">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="se.scalablesolutions.akka.api.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
<module name="api-java" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="se.scalablesolutions.akka.api" />
|
||||
<option name="MAIN_CLASS_NAME" value="se.scalablesolutions.akka.api.ActiveObjectGuiceConfiguratorTest" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="kernel" />
|
||||
<option name="ADDITIONAL_CLASS_PATH" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="1514" />
|
||||
<option name="TRANSPORT" value="0" />
|
||||
<option name="LOCAL" value="true" />
|
||||
</RunnerSettings>
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method>
|
||||
<option name="Make" value="true" />
|
||||
|
|
@ -405,51 +383,8 @@
|
|||
</option>
|
||||
<envs />
|
||||
</configuration>
|
||||
<configuration default="false" name="ActiveObjectGuiceConfiguratorTest" type="JUnit" factoryName="JUnit" enabled="false" merge="false" sample_coverage="true" runner="emma">
|
||||
<module name="akka" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="com.scalablesolutions.akka.api" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.scalablesolutions.akka.api.ActiveObjectGuiceConfiguratorTest" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="ADDITIONAL_CLASS_PATH" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method>
|
||||
<option name="Make" value="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration default="false" name="Kernel" type="Application" factoryName="Application" enabled="false" merge="false" runner="emma">
|
||||
<option name="MAIN_CLASS_NAME" value="com.scalablesolutions.akka.kernel.Kernel" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="kernel" />
|
||||
<envs />
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method>
|
||||
<option name="Make" value="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<list size="2">
|
||||
<list size="1">
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.ActiveObjectGuiceConfiguratorTest" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Application.RESTManager" />
|
||||
</list>
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<Host>localhost</Host>
|
||||
|
|
@ -495,30 +430,30 @@
|
|||
</todo-panel>
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="21" width="1080" height="1179" extended-state="0" />
|
||||
<frame x="-4" y="-4" width="1928" height="1178" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Data Sources" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32902583" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32894737" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Dataflow to this" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="FindBugs-IDEA" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298872" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32902583" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.75475687" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32902583" sideWeight="0.5" order="6" side_tool="false" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39980546" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Dataflow to this" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="14" side_tool="false" />
|
||||
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="false" />
|
||||
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" />
|
||||
<window_info id="FindBugs-IDEA" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32976654" sideWeight="0.5" order="9" side_tool="false" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="10" side_tool="false" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15175097" sideWeight="0.5" order="11" side_tool="false" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="6" side_tool="false" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24986653" sideWeight="0.84143966" order="1" side_tool="false" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19787645" sideWeight="0.44496706" order="0" side_tool="false" />
|
||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Web Preview" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.19754405" sideWeight="0.7840467" order="0" side_tool="false" />
|
||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" />
|
||||
<window_info id="Web Preview" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="13" side_tool="false" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="true" internal_type="DOCKED" type="FLOATING" visible="false" weight="0.47276264" sideWeight="0.5" order="2" side_tool="false" x="20" y="47" width="1798" height="1028" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24965987" sideWeight="0.5" order="2" side_tool="false" />
|
||||
|
|
@ -557,120 +492,120 @@
|
|||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<entry file="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/scala/Function1.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="0" selection-start="100" selection-end="100" vertical-scroll-proportion="0.17142858">
|
||||
<state line="37" column="0" selection-start="1217" selection-end="1217" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api-java/pom.xml">
|
||||
<entry file="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/scala/List.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="50" column="0" selection-start="1448" selection-end="1732" vertical-scroll-proportion="0.0">
|
||||
<state line="830" column="0" selection-start="25551" selection-end="25551" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$MAVEN_REPOSITORY$/org/scala-libs/scala-otp-behavior/0.1-SNAPSHOT/scala-otp-behavior-0.1-SNAPSHOT.jar!/scala/actors/behavior/RestartStrategy.class">
|
||||
<entry file="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/scala/actors/Reaction.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<state line="65" column="0" selection-start="1897" selection-end="1897" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$MAVEN_REPOSITORY$/org/scala-libs/scala-otp-behavior/0.1-SNAPSHOT/scala-otp-behavior-0.1-SNAPSHOT.jar!/scala/actors/behavior/Worker.class">
|
||||
<entry file="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/scala/actors/Scheduler.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="1" column="11" selection-start="41" selection-end="41" vertical-scroll-proportion="0.0">
|
||||
<state line="76" column="0" selection-start="2254" selection-end="2254" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Configuration.scala">
|
||||
<entry file="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/scala/actors/FJTaskRunner.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="4" column="0" selection-start="51" selection-end="106" vertical-scroll-proportion="0.0">
|
||||
<state line="842" column="23" selection-start="26825" selection-end="26825" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api-java/src/main/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="43" selection-start="1120" selection-end="1120" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/GenericServerContainerSuite.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="38" column="11" selection-start="857" selection-end="857" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Helpers.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="57" column="47" selection-start="1584" selection-end="1584" vertical-scroll-proportion="0.65603644">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$PROJECT_DIR$/../../../../../bin/scala-2.7.3.final/src/scala-library-src.jar!/scala/Function0.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="0" selection-start="1288" selection-end="1288" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="262" column="161" selection-start="8006" selection-end="8006" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Supervisor.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="360" column="0" selection-start="12846" selection-end="12846" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ErrRef.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="48" column="6" selection-start="1092" selection-end="1092" vertical-scroll-proportion="0.0">
|
||||
<state line="47" column="52" selection-start="1076" selection-end="1076" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Transaction.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="14" selection-start="412" selection-end="412" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="56" column="4" selection-start="1771" selection-end="1771" vertical-scroll-proportion="0.0">
|
||||
<state line="69" column="36" selection-start="2555" selection-end="2555" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="9" selection-start="49" selection-end="49" vertical-scroll-proportion="0.0">
|
||||
<state line="108" column="32" selection-start="3659" selection-end="3659" vertical-scroll-proportion="-11.32">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api-java/src/test/java/com/scalablesolutions/akka/api/ActiveObjectGuiceConfiguratorTest.java">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/State.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="51" selection-start="49" selection-end="49" vertical-scroll-proportion="0.0">
|
||||
<state line="33" column="0" selection-start="805" selection-end="805" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api-java/src/main/java/com/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java">
|
||||
<entry file="file://$PROJECT_DIR$/api-java/src/test/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfiguratorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="1" column="1" selection-start="40" selection-end="40" vertical-scroll-proportion="0.0">
|
||||
<state line="283" column="35" selection-start="8575" selection-end="8575" vertical-scroll-proportion="0.7485101">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$MAVEN_REPOSITORY$/javax/ws/rs/jsr311-api/1.0/jsr311-api-1.0.jar!/javax/ws/rs/core/UriBuilder.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="54" column="59" selection-start="3092" selection-end="3092" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/restManagerSpec.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="4" column="8" selection-start="59" selection-end="92" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/ActiveObjectSuite.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="5" column="0" selection-start="0" selection-end="93" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Kernel.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="51" column="0" selection-start="1624" selection-end="1624" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Logging.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="19" column="0" selection-start="411" selection-end="411" vertical-scroll-proportion="0.219865">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<option name="states">
|
||||
|
|
|
|||
|
|
@ -8,16 +8,8 @@
|
|||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="util-java" />
|
||||
<orderEntry type="module" module-name="kernel" />
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/testng/testng/5.8/testng-5.8-jdk15.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
|
|
@ -36,15 +28,6 @@
|
|||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-libs/scala-otp-behavior/0.1-SNAPSHOT/scala-otp-behavior-0.1-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
|
|
@ -54,15 +37,6 @@
|
|||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-libs/scala-otp-util-java/0.1-SNAPSHOT/scala-otp-util-java-0.1-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
</component>
|
||||
</module>
|
||||
|
||||
|
|
|
|||
|
|
@ -153,15 +153,9 @@ is divided into following sections:
|
|||
<attribute default="${excludes}" name="excludes"/>
|
||||
<attribute default="${javac.debug}" name="debug"/>
|
||||
<attribute default="/does/not/exist" name="sourcepath"/>
|
||||
<attribute default="/does/not/exist" name="gensrcdir"/>
|
||||
<element name="customize" optional="true"/>
|
||||
<sequential>
|
||||
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">
|
||||
<src>
|
||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
||||
<include name="*"/>
|
||||
</dirset>
|
||||
</src>
|
||||
<classpath>
|
||||
<path path="@{classpath}"/>
|
||||
</classpath>
|
||||
|
|
@ -293,13 +287,12 @@ is divided into following sections:
|
|||
<target name="-init-macrodef-java">
|
||||
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
|
||||
<attribute default="${main.class}" name="classname"/>
|
||||
<attribute default="${run.classpath}" name="classpath"/>
|
||||
<element name="customize" optional="true"/>
|
||||
<sequential>
|
||||
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
||||
<jvmarg line="${run.jvmargs}"/>
|
||||
<classpath>
|
||||
<path path="@{classpath}"/>
|
||||
<path path="${run.classpath}"/>
|
||||
</classpath>
|
||||
<syspropertyset>
|
||||
<propertyref prefix="run-sys-prop."/>
|
||||
|
|
@ -325,7 +318,6 @@ is divided into following sections:
|
|||
-->
|
||||
<target depends="init" name="deps-jar" unless="no.deps">
|
||||
<ant antfile="${project.akka-kernel}/build.xml" inheritall="false" target="jar"/>
|
||||
<ant antfile="${project.akka-util-java}/build.xml" inheritall="false" target="jar"/>
|
||||
</target>
|
||||
<target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
|
||||
<target depends="init" name="-check-automatic-build">
|
||||
|
|
@ -342,15 +334,10 @@ is divided into following sections:
|
|||
<!-- You can override this target in the ../build.xml file. -->
|
||||
</target>
|
||||
<target if="do.depend.true" name="-compile-depend">
|
||||
<pathconvert property="build.generated.subdirs">
|
||||
<dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
||||
<include name="*"/>
|
||||
</dirset>
|
||||
</pathconvert>
|
||||
<j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
|
||||
<j2seproject3:depend/>
|
||||
</target>
|
||||
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
|
||||
<j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
|
||||
<j2seproject3:javac/>
|
||||
<copy todir="${build.classes.dir}">
|
||||
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
|
||||
</copy>
|
||||
|
|
@ -367,7 +354,7 @@ is divided into following sections:
|
|||
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
|
||||
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
||||
<j2seproject3:force-recompile/>
|
||||
<j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
|
||||
<j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/>
|
||||
</target>
|
||||
<target name="-post-compile-single">
|
||||
<!-- Empty placeholder for easier customization. -->
|
||||
|
|
@ -457,10 +444,6 @@ is divided into following sections:
|
|||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
||||
<j2seproject1:java classname="${run.class}"/>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-test-single" name="run-test-with-main">
|
||||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
||||
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
|
||||
</target>
|
||||
<!--
|
||||
=================
|
||||
DEBUGGING SECTION
|
||||
|
|
@ -469,9 +452,6 @@ is divided into following sections:
|
|||
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
||||
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
||||
</target>
|
||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
|
||||
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
|
||||
</target>
|
||||
<target depends="init,compile" name="-debug-start-debuggee">
|
||||
<j2seproject3:debug>
|
||||
<customize>
|
||||
|
|
@ -489,11 +469,6 @@ is divided into following sections:
|
|||
<j2seproject3:debug classname="${debug.class}"/>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
|
||||
<target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
|
||||
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
|
||||
<j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
|
||||
<target depends="init" name="-pre-debug-fix">
|
||||
<fail unless="fix.includes">Must set fix.includes</fail>
|
||||
<property name="javac.includes" value="${fix.includes}.java"/>
|
||||
|
|
@ -516,9 +491,6 @@ is divided into following sections:
|
|||
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
|
||||
<filename name="**/*.java"/>
|
||||
</fileset>
|
||||
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
||||
<include name="**/*.java"/>
|
||||
</fileset>
|
||||
</javadoc>
|
||||
</target>
|
||||
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
|
||||
|
|
@ -580,7 +552,7 @@ is divided into following sections:
|
|||
<j2seproject3:junit testincludes="**/*Test.java"/>
|
||||
</target>
|
||||
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
|
||||
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
||||
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
||||
</target>
|
||||
<target depends="init" if="have.tests" name="test-report"/>
|
||||
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
|
||||
|
|
@ -593,7 +565,7 @@ is divided into following sections:
|
|||
<j2seproject3:junit excludes="" includes="${test.includes}"/>
|
||||
</target>
|
||||
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
|
||||
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
||||
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
|
||||
<!--
|
||||
|
|
@ -661,7 +633,6 @@ is divided into following sections:
|
|||
-->
|
||||
<target depends="init" name="deps-clean" unless="no.deps">
|
||||
<ant antfile="${project.akka-kernel}/build.xml" inheritall="false" target="clean"/>
|
||||
<ant antfile="${project.akka-util-java}/build.xml" inheritall="false" target="clean"/>
|
||||
</target>
|
||||
<target depends="init" name="-do-clean">
|
||||
<delete dir="${build.dir}"/>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
build.xml.data.CRC32=a3c53bfd
|
||||
build.xml.data.CRC32=3e53666f
|
||||
build.xml.script.CRC32=b65508dc
|
||||
build.xml.stylesheet.CRC32=958a1d3e
|
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||
nbproject/build-impl.xml.data.CRC32=a3c53bfd
|
||||
nbproject/build-impl.xml.script.CRC32=3a7ee62c
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=d5ddc080@1.24.0.45
|
||||
nbproject/build-impl.xml.data.CRC32=3e53666f
|
||||
nbproject/build-impl.xml.script.CRC32=0784ec5f
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=65b8de21
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ do.depend=false
|
|||
do.jar=true
|
||||
javac.debug=true
|
||||
javadoc.preview=true
|
||||
jaxws.endorsed.dir=/home/jboner/bin/netbeans-dev-200903220201/java2/modules/ext/jaxws21/api:/home/jboner/bin/netbeans-dev-200903220201/ide11/modules/ext/jaxb/api
|
||||
user.properties.file=/home/jboner/.netbeans/dev/build.properties
|
||||
jaxws.endorsed.dir=C:\\Program Files\\NetBeans 6.5.1\\java2\\modules\\ext\\jaxws21\\api:C:\\Program Files\\NetBeans 6.5.1\\ide10\\modules\\ext\\jaxb\\api
|
||||
user.properties.file=C:\\Documents and Settings\\jboner\\.netbeans\\6.5\\build.properties
|
||||
|
|
|
|||
4
api-java/nbproject/private/private.xml
Executable file
4
api-java/nbproject/private/private.xml
Executable file
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
|
||||
</project-private>
|
||||
|
|
@ -22,6 +22,7 @@ dist.jar=${dist.dir}/api-java.jar
|
|||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
excludes=
|
||||
file.reference.activation-1.1.jar=../lib/activation-1.1.jar
|
||||
file.reference.akka-util-java.jar=../lib/akka-util-java.jar
|
||||
file.reference.aopalliance-1.0.jar=../lib/aopalliance-1.0.jar
|
||||
file.reference.asm-3.1.jar=../lib/asm-3.1.jar
|
||||
file.reference.catalina-ant.jar=../lib/catalina-ant.jar
|
||||
|
|
@ -83,7 +84,6 @@ file.reference.zookeeper-3.1.0.jar=../lib/zookeeper-3.1.0.jar
|
|||
includes=**
|
||||
jar.compress=false
|
||||
javac.classpath=\
|
||||
${reference.akka-util-java.jar}:\
|
||||
${reference.akka-kernel.jar}:\
|
||||
${file.reference.guice-core-2.0-SNAPSHOT.jar}:\
|
||||
${file.reference.guice-jsr250-2.0-SNAPSHOT.jar}:\
|
||||
|
|
@ -93,6 +93,7 @@ javac.classpath=\
|
|||
${file.reference.catalina-ant.jar}:\
|
||||
${file.reference.cglib-2.2.jar}:\
|
||||
${file.reference.colt-1.2.0.jar}:\
|
||||
${file.reference.akka-util-java.jar}:\
|
||||
${file.reference.commons-codec-1.3.jar}:\
|
||||
${file.reference.commons-collections-3.1.jar}:\
|
||||
${file.reference.commons-dbcp-1.2.2.jar}:\
|
||||
|
|
@ -168,9 +169,7 @@ manifest.file=manifest.mf
|
|||
meta.inf.dir=${src.dir}/META-INF
|
||||
platform.active=default_platform
|
||||
project.akka-kernel=../kernel
|
||||
project.akka-util-java=../util-java
|
||||
reference.akka-kernel.jar=${project.akka-kernel}/dist/akka-kernel.jar
|
||||
reference.akka-util-java.jar=${project.akka-util-java}/dist/akka-util-java.jar
|
||||
run.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}
|
||||
|
|
|
|||
|
|
@ -21,14 +21,6 @@
|
|||
<clean-target>clean</clean-target>
|
||||
<id>jar</id>
|
||||
</reference>
|
||||
<reference>
|
||||
<foreign-project>akka-util-java</foreign-project>
|
||||
<artifact-type>jar</artifact-type>
|
||||
<script>build.xml</script>
|
||||
<target>jar</target>
|
||||
<clean-target>clean</clean-target>
|
||||
<id>jar</id>
|
||||
</reference>
|
||||
</references>
|
||||
</configuration>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ import java.util.HashMap;
|
|||
public class ActiveObjectGuiceConfigurator {
|
||||
private List<Module> modules = new ArrayList<Module>();
|
||||
private Injector injector;
|
||||
private Supervisor supervisor;
|
||||
private Supervisor supervisor; // TODO is supervisor needed
|
||||
private RestartStrategy restartStrategy;
|
||||
private Component[] components;
|
||||
private Map<Class, Component> configRegistry = new HashMap<Class, Component>();
|
||||
private Map<Class, Component> configRegistry = new HashMap<Class, Component>(); // TODO is configRegistry needed?
|
||||
private Map<Class, ActiveObjectProxy> activeObjectRegistry = new HashMap<Class, ActiveObjectProxy>();
|
||||
private ActiveObjectFactory activeObjectFactory = new ActiveObjectFactory();
|
||||
|
||||
|
|
|
|||
|
|
@ -25,27 +25,32 @@ public class ActiveObjectGuiceConfiguratorTest extends TestCase {
|
|||
bind(Ext.class).to(ExtImpl.class).in(Scopes.SINGLETON);
|
||||
}
|
||||
}).configureActiveObjects(
|
||||
new RestartStrategy(new AllForOne(), 3, 100), new Component[]{
|
||||
new RestartStrategy(new AllForOne(), 3, 5000), new Component[]{
|
||||
new Component(
|
||||
Foo.class,
|
||||
FooImpl.class,
|
||||
new LifeCycle(new Permanent(), 100),
|
||||
new LifeCycle(new Permanent(), 1000),
|
||||
1000),
|
||||
new Component(
|
||||
Bar.class,
|
||||
BarImpl.class,
|
||||
new LifeCycle(new Permanent(), 100),
|
||||
new LifeCycle(new Permanent(), 1000),
|
||||
1000),
|
||||
new Component(
|
||||
Stateful.class,
|
||||
StatefulImpl.class,
|
||||
new LifeCycle(new Permanent(), 100),
|
||||
1000),
|
||||
new LifeCycle(new Permanent(), 1000),
|
||||
10000000),
|
||||
new Component(
|
||||
Failer.class,
|
||||
FailerImpl.class,
|
||||
new LifeCycle(new Permanent(), 100),
|
||||
1000)
|
||||
new LifeCycle(new Permanent(), 1000),
|
||||
1000),
|
||||
new Component(
|
||||
Clasher.class,
|
||||
ClasherImpl.class,
|
||||
new LifeCycle(new Permanent(), 1000),
|
||||
100000)
|
||||
}).inject().supervise();
|
||||
|
||||
}
|
||||
|
|
@ -64,6 +69,15 @@ public class ActiveObjectGuiceConfiguratorTest extends TestCase {
|
|||
assertTrue(bar.getExt().toString().equals(ext.toString()));
|
||||
}
|
||||
|
||||
public void testLookupNonSupervisedInstance() {
|
||||
try {
|
||||
String str = conf.getActiveObject(String.class);
|
||||
fail("exception should have been thrown");
|
||||
} catch (Exception e) {
|
||||
assertEquals("Class java.lang.String has not been put under supervision (by passing in the config to the supervise() method", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void testActiveObjectInvocation() throws InterruptedException {
|
||||
messageLog = "";
|
||||
Foo foo = conf.getActiveObject(Foo.class);
|
||||
|
|
@ -85,6 +99,7 @@ public class ActiveObjectGuiceConfiguratorTest extends TestCase {
|
|||
assertEquals("foo return_foo before_bar ", messageLog);
|
||||
}
|
||||
|
||||
|
||||
public void testForcedTimeout() {
|
||||
messageLog = "";
|
||||
Foo foo = conf.getActiveObject(Foo.class);
|
||||
|
|
@ -104,18 +119,45 @@ public class ActiveObjectGuiceConfiguratorTest extends TestCase {
|
|||
} catch (RuntimeException e) {
|
||||
}
|
||||
}
|
||||
//
|
||||
// public void testShouldNotRollbackStateForStatefulServerInCaseOfSuccess() {
|
||||
// Stateful stateful = conf.getActiveObject(Stateful.class);
|
||||
// stateful.setState("stateful", "init"); // set init state
|
||||
// stateful.success("stateful", "new state"); // transactional
|
||||
// assertEquals("new state", stateful.getState("stateful"));
|
||||
// }
|
||||
//
|
||||
// public void testShouldRollbackStateForStatefulServerInCaseOfFailure() {
|
||||
// Stateful stateful = conf.getActiveObject(Stateful.class);
|
||||
// stateful.setState("stateful", "init"); // set init state
|
||||
//
|
||||
// Failer failer = conf.getActiveObject(Failer.class);
|
||||
// try {
|
||||
// stateful.failure("stateful", "new state", failer); // call failing transactional method
|
||||
// fail("should have thrown an exception");
|
||||
// } catch (RuntimeException e) { } // expected
|
||||
// assertEquals("init", stateful.getState("stateful")); // check that state is == init state
|
||||
// }
|
||||
|
||||
public void testShouldNotRollbackStateForStatefulServerInCaseOfSuccess() {
|
||||
public void testShouldRollbackStateForStatefulServerInCaseOfMessageClash() {
|
||||
Stateful stateful = conf.getActiveObject(Stateful.class);
|
||||
stateful.success("test", "new state");
|
||||
assertEquals("new state", stateful.getState("test"));
|
||||
}
|
||||
stateful.setState("stateful", "init"); // set init state
|
||||
|
||||
public void testShouldRollbackStateForStatefulServerInCaseOfFailure() {
|
||||
Stateful stateful = conf.getActiveObject(Stateful.class);
|
||||
Failer failer = conf.getActiveObject(Failer.class);
|
||||
stateful.failure("test", "new state", failer);
|
||||
assertEquals("nil", stateful.getState("test"));
|
||||
Clasher clasher = conf.getActiveObject(Clasher.class);
|
||||
clasher.setState("clasher", "init"); // set init state
|
||||
|
||||
// try {
|
||||
// stateful.clashOk("stateful", "new state", clasher);
|
||||
// } catch (RuntimeException e) { } // expected
|
||||
// assertEquals("new state", stateful.getState("stateful")); // check that state is == init state
|
||||
// assertEquals("was here", clasher.getState("clasher")); // check that state is == init state
|
||||
|
||||
try {
|
||||
stateful.clashNotOk("stateful", "new state", clasher);
|
||||
fail("should have thrown an exception");
|
||||
} catch (RuntimeException e) { System.out.println(e); } // expected
|
||||
assertEquals("init", stateful.getState("stateful")); // check that state is == init state
|
||||
//assertEquals("init", clasher.getState("clasher")); // check that state is == init state
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -123,60 +165,44 @@ public class ActiveObjectGuiceConfiguratorTest extends TestCase {
|
|||
|
||||
interface Foo {
|
||||
public String foo(String msg);
|
||||
|
||||
@oneway
|
||||
public void bar(String msg);
|
||||
|
||||
@oneway public void bar(String msg);
|
||||
public void longRunning();
|
||||
|
||||
public void throwsException();
|
||||
|
||||
public Bar getBar();
|
||||
}
|
||||
|
||||
class FooImpl implements Foo {
|
||||
@Inject
|
||||
private Bar bar;
|
||||
|
||||
@Inject private Bar bar;
|
||||
public Bar getBar() {
|
||||
return bar;
|
||||
}
|
||||
|
||||
public String foo(String msg) {
|
||||
return msg + "return_foo ";
|
||||
}
|
||||
|
||||
public void bar(String msg) {
|
||||
bar.bar(msg);
|
||||
}
|
||||
|
||||
public void longRunning() {
|
||||
try {
|
||||
Thread.sleep(10000);
|
||||
} catch (InterruptedException e) {
|
||||
}
|
||||
}
|
||||
|
||||
public void throwsException() {
|
||||
throw new RuntimeException("expected");
|
||||
}
|
||||
}
|
||||
|
||||
interface Bar {
|
||||
@oneway
|
||||
void bar(String msg);
|
||||
|
||||
@oneway void bar(String msg);
|
||||
Ext getExt();
|
||||
}
|
||||
|
||||
class BarImpl implements Bar {
|
||||
@Inject
|
||||
private Ext ext;
|
||||
|
||||
@Inject private Ext ext;
|
||||
public Ext getExt() {
|
||||
return ext;
|
||||
}
|
||||
|
||||
public void bar(String msg) {
|
||||
}
|
||||
}
|
||||
|
|
@ -191,17 +217,25 @@ class ExtImpl implements Ext {
|
|||
}
|
||||
|
||||
interface Stateful {
|
||||
// transactional
|
||||
@transactional public void success(String key, String msg);
|
||||
@transactional public void failure(String key, String msg, Failer failer);
|
||||
@transactional public void clashOk(String key, String msg, Clasher clasher);
|
||||
@transactional public void clashNotOk(String key, String msg, Clasher clasher);
|
||||
|
||||
// non-transactional
|
||||
public String getState(String key);
|
||||
public void setState(String key, String value);
|
||||
}
|
||||
|
||||
class StatefulImpl implements Stateful {
|
||||
@state private TransientObjectState state = new TransientObjectState();
|
||||
|
||||
public String getState(String key) {
|
||||
return (String)state.get(key);
|
||||
}
|
||||
public void setState(String key, String msg) {
|
||||
state.put(key, msg);
|
||||
}
|
||||
public void success(String key, String msg) {
|
||||
state.put(key, msg);
|
||||
}
|
||||
|
|
@ -209,6 +243,15 @@ class StatefulImpl implements Stateful {
|
|||
state.put(key, msg);
|
||||
failer.fail();
|
||||
}
|
||||
public void clashOk(String key, String msg, Clasher clasher) {
|
||||
state.put(key, msg);
|
||||
clasher.clash();
|
||||
}
|
||||
public void clashNotOk(String key, String msg, Clasher clasher) {
|
||||
state.put(key, msg);
|
||||
clasher.clash();
|
||||
clasher.clash();
|
||||
}
|
||||
}
|
||||
|
||||
interface Failer {
|
||||
|
|
@ -221,4 +264,36 @@ class FailerImpl implements Failer {
|
|||
}
|
||||
}
|
||||
|
||||
interface Clasher {
|
||||
public void clash();
|
||||
public String getState(String key);
|
||||
public void setState(String key, String value);
|
||||
}
|
||||
|
||||
class ClasherImpl implements Clasher {
|
||||
@state private TransientObjectState state = new TransientObjectState();
|
||||
public String getState(String key) {
|
||||
return (String)state.get(key);
|
||||
}
|
||||
public void setState(String key, String msg) {
|
||||
state.put(key, msg);
|
||||
}
|
||||
public void clash() {
|
||||
state.put("clasher", "was here");
|
||||
// spend some time here
|
||||
for (long i = 0; i < 1000000000; i++) {
|
||||
for (long j = 0; j < 10000000; j++) {
|
||||
j += i;
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: this statement gives me this error:
|
||||
// se.scalablesolutions.akka.kernel.ActiveObjectException:
|
||||
// Unexpected message [!(scala.actors.Channel@c2b2f6,ErrRef[Right(null)])] to
|
||||
// [GenericServer[se.scalablesolutions.akka.api.StatefulImpl]] from
|
||||
// [GenericServer[se.scalablesolutions.akka.api.ClasherImpl]]]
|
||||
//try { Thread.sleep(1000); } catch (InterruptedException e) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
48
buildfile
48
buildfile
|
|
@ -12,12 +12,9 @@ repositories.remote << 'http://scala-tools.org/repo-snapshots'
|
|||
repositories.remote << 'http://www.lag.net/repo'
|
||||
|
||||
AKKA_KERNEL = 'se.scalablesolutions.akka:akka-kernel:jar:0.1'
|
||||
#AKKA_SUPERVISOR = 'se.scalablesolutions.akka:akka-supervisor:jar:0.1'
|
||||
AKKA_UTIL_JAVA = 'se.scalablesolutions.akka:akka-util-java:jar:0.1'
|
||||
AKKA_API_JAVA = 'se.scalablesolutions.akka:akka-api-java:jar:0.1'
|
||||
|
||||
SCALA = 'org.scala-lang:scala-library:jar:2.7.3'
|
||||
SCALATEST = 'org.scala-tools.testing:scalatest:jar:0.9.5'
|
||||
GUICEYFRUIT = ['org.guiceyfruit:guice-core:jar:2.0-SNAPSHOT',
|
||||
'org.guiceyfruit:guice-jsr250:jar:2.0-SNAPSHOT']
|
||||
JERSEY = ['com.sun.jersey:jersey-core:jar:1.0.1',
|
||||
|
|
@ -27,18 +24,23 @@ JERSEY = ['com.sun.jersey:jersey-core:jar:1.0.1',
|
|||
'javax.ws.rs:jsr311-api:jar:1.0']
|
||||
VOLDEMORT = ['voldemort:voldemort:jar:0.4a',
|
||||
'voldemort:voldemort-contrib:jar:0.4a']
|
||||
ZOOKEEPER = 'org.apache:zookeeper:jar:3.1.0'
|
||||
GRIZZLY = 'com.sun.grizzly:grizzly-servlet-webserver:jar:1.8.6.3'
|
||||
MINA_CORE = 'com.assembla.scala.mina:mina-core:jar:2.0.0-M2-SNAPSHOT'
|
||||
MINA_SCALA = 'com.assembla.scala.mina:mina-integration-scala:jar:2.0.0-M2-SNAPSHOT'
|
||||
|
||||
CONFIGGY = 'net.lag:configgy:jar:1.2'
|
||||
SLF4J = ['org.slf4j:slf4j-log4j12:jar:1.4.3',
|
||||
'org.slf4j:slf4j-api:jar:1.4.3',
|
||||
'log4j:log4j:jar:1.2.13']
|
||||
CONFIGGY = 'net.lag:configgy:jar:1.2'
|
||||
ZOOKEEPER = 'org.apache:zookeeper:jar:3.1.0'
|
||||
GRIZZLY = 'com.sun.grizzly:grizzly-servlet-webserver:jar:1.8.6.3'
|
||||
JDOM = 'jdom:jdom:jar:1.0'
|
||||
GOOGLE_COLLECT = 'com.google.code.google-collections:google-collect:jar:snapshot-20080530'
|
||||
|
||||
SCALA = 'org.scala-lang:scala-library:jar:2.7.3'
|
||||
SCALATEST = 'org.scala-tools.testing:scalatest:jar:0.9.5'
|
||||
JUNIT4 = 'junit:junit:jar:4.5'
|
||||
JUNIT3 = 'junit:junit:jar:3.8.2'
|
||||
GOOGLE_COLLECT = 'com.google.code.google-collections:google-collect:jar:snapshot-20080530'
|
||||
JDOM = 'jdom:jdom:jar:1.0'
|
||||
MINA_CORE = 'com.assembla.scala.mina:mina-core:jar:2.0.0-M2-SNAPSHOT'
|
||||
MINA_SCALA = 'com.assembla.scala.mina:mina-integration-scala:jar:2.0.0-M2-SNAPSHOT'
|
||||
#SCALATEST_JUNIT4_MVN_PLUGIN = 'com.jteigen.scalatest:junit4runner:jar:1.0-SNAPSHOT'
|
||||
|
||||
desc 'The Akka Actor Kernel'
|
||||
define 'akka' do
|
||||
|
|
@ -53,32 +55,32 @@ define 'akka' do
|
|||
package :jar
|
||||
end
|
||||
|
||||
#desc 'Implementation of Erlangs Supervisor and GenericServer behaviors'
|
||||
#define 'supervisor' do
|
||||
# compile.with(CONFIGGY)
|
||||
# test.using :scalatest
|
||||
# package :jar
|
||||
#end
|
||||
|
||||
desc 'Akka Actor kernel core implementation'
|
||||
define 'kernel' do
|
||||
compile.with(AKKA_UTIL_JAVA, GUICEYFRUIT, MINA_CORE, MINA_SCALA, JERSEY, VOLDEMORT, ZOOKEEPER, SLF4J, GRIZZLY, CONFIGGY, SCALATEST)
|
||||
compile.with(AKKA_UTIL_JAVA, GUICEYFRUIT, MINA_CORE, MINA_SCALA, JERSEY, VOLDEMORT, ZOOKEEPER, SLF4J, GRIZZLY, CONFIGGY)
|
||||
test.using :scalatest
|
||||
package :jar
|
||||
end
|
||||
|
||||
desc 'Akka Java API'
|
||||
define 'api-java' do
|
||||
compile.with(AKKA_KERNEL, AKKA_UTIL_JAVA, GUICEYFRUIT)
|
||||
package :jar
|
||||
end
|
||||
|
||||
#desc 'Akka DB'
|
||||
#define 'db' do
|
||||
# compile.with(AKKA_KERNEL, MINA_CORE, MINA_SCALA, ZOOKEEPER, CONFIGGY, SLF4J)
|
||||
# test.using :scalatest
|
||||
# package :jar
|
||||
#end
|
||||
#desc 'Implementation of Erlangs Supervisor and GenericServer behaviors'
|
||||
#define 'supervisor' do
|
||||
# compile.with(CONFIGGY)
|
||||
# test.using :scalatest
|
||||
# package :jar
|
||||
#end
|
||||
|
||||
desc 'Akka Java API'
|
||||
define 'api-java' do
|
||||
compile.with(AKKA_KERNEL, AKKA_UTIL_JAVA, GUICEYFRUIT, JUNIT4)
|
||||
package :jar
|
||||
end
|
||||
|
||||
package(:zip).include 'README'
|
||||
package(:zip).include 'bin/*', :path=>'bin'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<classpath refid="scalatest.classpath"/>
|
||||
</taskdef>
|
||||
|
||||
<scalatest suite="se.scalablesolutions.akka.kernel.AllSuite">
|
||||
<scalatest wildcard="se.scalablesolutions.akka">
|
||||
<runpath>
|
||||
<fileset dir="../lib">
|
||||
<include name="**/*.jar"/>
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/main/scala" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/scala" isTestSource="true" />
|
||||
</content>
|
||||
<orderEntry type="library" name="scala-2.7.2.final" level="project" />
|
||||
<orderEntry type="library" name="scala-2.7.3.final" level="application" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-libs/scala-otp-behavior/0.1-SNAPSHOT/scala-otp-behavior-0.1-SNAPSHOT.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/voldemort-0.4a.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-libs/scala-otp-util-java/0.1-SNAPSHOT/scala-otp-util-java-0.1-SNAPSHOT.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/guice-core-2.0-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scalacheck/scalacheck/1.5/scalacheck-1.5.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/slf4j-api-1.4.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/specs/specs/1.4.3/specs-1.4.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/junit-4.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/guiceyfruit/guice-core/2.0-SNAPSHOT/guice-core-2.0-SNAPSHOT.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/jaxb-impl-2.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/guiceyfruit/guice-jsr250/2.0-SNAPSHOT/guice-jsr250-2.0-SNAPSHOT.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/servlet-api-2.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/jersey/jersey-json/1.0.1/jersey-json-1.0.1.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-io-1.3.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/jersey/jersey-server/1.0.1/jersey-server-1.0.1.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/asm-3.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/jersey/jersey-atom/1.0.1/jersey-atom-1.0.1.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-httpclient-3.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/jersey/jersey-core/1.0.1/jersey-core-1.0.1.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/mina-core-2.0.0-M2-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-impl/2.1/jaxb-impl-2.1.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/velocity-1.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-framework/1.8.6.3/grizzly-framework-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/rome-0.9.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-http/1.8.6.3/grizzly-http-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/jsr250-api-1.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-servlet-webserver/1.8.6.3/grizzly-servlet-webserver-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/aopalliance-1.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -143,7 +143,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-rcm/1.8.6.3/grizzly-rcm-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-logging.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -152,7 +152,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-portunif/1.8.6.3/grizzly-portunif-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/guice-jsr250-2.0-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-http-utils/1.8.6.3/grizzly-http-utils-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/scalatest-0.9.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -170,7 +170,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/grizzly/grizzly-http-servlet/1.8.6.3/grizzly-http-servlet-1.8.6.3.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/google-collect-snapshot-20090211.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -179,7 +179,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-http-utils-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -188,7 +188,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/ws/rs/jsr311-api/1.0/jsr311-api-1.0.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-http-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -197,7 +197,7 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-portunif-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
|
@ -206,12 +206,355 @@
|
|||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/net/lag/configgy/1.2/configgy-1.2.jar!/" />
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-codec-1.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/voldemort-contrib-0.4a.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/xerces.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-lang-2.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/scala-library-2.7.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jersey-atom-1.0.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jdom-1.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/stax-api-1.0-2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jaxb-api-2.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/activation-1.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jersey-json-1.0.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/je-3.3.62.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/slf4j-log4j12-1.4.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/configgy-1.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-rcm-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/cglib-2.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-http-servlet-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-collections-3.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jetty-util-6.1.6rc0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jettison-1.0.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-pool-1.4.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/zookeeper-3.1.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/catalina-ant.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/libthrift-20080411p1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-servlet-webserver-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/junit4runner-1.0-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jersey-core-1.0.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/junit-3.8.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/scala-library-2.7.3.zip!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/log4j-1.2.13.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jersey-server-1.0.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/mina-integration-scala-2.0.0-M2-SNAPSHOT.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/grizzly-framework-1.8.6.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/scalatest-0.9.5.zip!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/commons-dbcp-1.2.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/colt-1.2.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/protobuf-java-2.0.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jsr311-api-1.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/../lib/jetty-6.1.6rc0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module" module-name="util-java" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
|
|
|
|||
|
|
@ -389,9 +389,7 @@ Scala installation directory.
|
|||
COMPILATION SECTION
|
||||
===================
|
||||
-->
|
||||
<target depends="init" name="deps-jar" unless="no.deps">
|
||||
<ant antfile="${project.akka-util-java}/build.xml" inheritall="false" target="jar"/>
|
||||
</target>
|
||||
<target depends="init" name="deps-jar" unless="no.deps"/>
|
||||
<target depends="init,deps-jar" name="-pre-pre-compile">
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
</target>
|
||||
|
|
@ -698,9 +696,7 @@ Scala installation directory.
|
|||
CLEANUP SECTION
|
||||
===============
|
||||
-->
|
||||
<target depends="init" name="deps-clean" unless="no.deps">
|
||||
<ant antfile="${project.akka-util-java}/build.xml" inheritall="false" target="clean"/>
|
||||
</target>
|
||||
<target depends="init" name="deps-clean" unless="no.deps"/>
|
||||
<target depends="init" name="-do-clean">
|
||||
<delete dir="${build.dir}"/>
|
||||
<delete dir="${dist.dir}"/>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@ build.xml.script.CRC32=c2aecc70
|
|||
build.xml.stylesheet.CRC32=ca9d572e
|
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||
nbproject/build-impl.xml.data.CRC32=e25238a8
|
||||
nbproject/build-impl.xml.script.CRC32=749b9ab1
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=371897b9@1.3.0
|
||||
nbproject/build-impl.xml.data.CRC32=4c75645b
|
||||
nbproject/build-impl.xml.script.CRC32=a2fb0c36
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=371897b9
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@ do.depend=false
|
|||
do.jar=false
|
||||
javac.debug=true
|
||||
javadoc.preview=true
|
||||
jaxws.endorsed.dir=/home/jboner/bin/netbeans-dev-200903220201/java2/modules/ext/jaxws21/api
|
||||
user.properties.file=/home/jboner/.netbeans/dev/build.properties
|
||||
jaxws.endorsed.dir=C:\\Program Files\\NetBeans 6.5.1\\java2\\modules\\ext\\jaxws21\\api
|
||||
user.properties.file=C:\\Documents and Settings\\jboner\\.netbeans\\6.5\\build.properties
|
||||
|
|
|
|||
|
|
@ -18,74 +18,74 @@ dist.dir=dist
|
|||
dist.jar=${dist.dir}/akka-kernel.jar
|
||||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
excludes=
|
||||
file.reference.activation-1.1.jar=/home/jboner/src/scala/akka/lib/activation-1.1.jar
|
||||
file.reference.aopalliance-1.0.jar=/home/jboner/src/scala/akka/lib/aopalliance-1.0.jar
|
||||
file.reference.asm-3.1.jar=/home/jboner/src/scala/akka/lib/asm-3.1.jar
|
||||
file.reference.catalina-ant.jar=/home/jboner/src/scala/akka/lib/catalina-ant.jar
|
||||
file.reference.cglib-2.2.jar=/home/jboner/src/scala/akka/lib/cglib-2.2.jar
|
||||
file.reference.colt-1.2.0.jar=/home/jboner/src/scala/akka/lib/colt-1.2.0.jar
|
||||
file.reference.commons-codec-1.3.jar=/home/jboner/src/scala/akka/lib/commons-codec-1.3.jar
|
||||
file.reference.commons-collections-3.1.jar=/home/jboner/src/scala/akka/lib/commons-collections-3.1.jar
|
||||
file.reference.commons-dbcp-1.2.2.jar=/home/jboner/src/scala/akka/lib/commons-dbcp-1.2.2.jar
|
||||
file.reference.commons-httpclient-3.1.jar=/home/jboner/src/scala/akka/lib/commons-httpclient-3.1.jar
|
||||
file.reference.commons-io-1.3.2.jar=/home/jboner/src/scala/akka/lib/commons-io-1.3.2.jar
|
||||
file.reference.commons-lang-2.1.jar=/home/jboner/src/scala/akka/lib/commons-lang-2.1.jar
|
||||
file.reference.commons-logging.jar=/home/jboner/src/scala/akka/lib/commons-logging.jar
|
||||
file.reference.commons-pool-1.4.jar=/home/jboner/src/scala/akka/lib/commons-pool-1.4.jar
|
||||
file.reference.configgy-1.2.jar=/home/jboner/src/scala/akka/lib/configgy-1.2.jar
|
||||
file.reference.google-collect-snapshot-20090211.jar=/home/jboner/src/scala/akka/lib/google-collect-snapshot-20090211.jar
|
||||
file.reference.grizzly-framework-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-framework-1.8.6.3.jar
|
||||
file.reference.grizzly-http-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-http-1.8.6.3.jar
|
||||
file.reference.grizzly-http-servlet-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-http-servlet-1.8.6.3.jar
|
||||
file.reference.grizzly-http-utils-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-http-utils-1.8.6.3.jar
|
||||
file.reference.grizzly-portunif-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-portunif-1.8.6.3.jar
|
||||
file.reference.grizzly-rcm-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-rcm-1.8.6.3.jar
|
||||
file.reference.grizzly-servlet-webserver-1.8.6.3.jar=/home/jboner/src/scala/akka/lib/grizzly-servlet-webserver-1.8.6.3.jar
|
||||
file.reference.guice-core-2.0-SNAPSHOT.jar=/home/jboner/src/scala/akka/lib/guice-core-2.0-SNAPSHOT.jar
|
||||
file.reference.guice-jsr250-2.0-SNAPSHOT.jar=/home/jboner/src/scala/akka/lib/guice-jsr250-2.0-SNAPSHOT.jar
|
||||
file.reference.jaxb-api-2.1.jar=/home/jboner/src/scala/akka/lib/jaxb-api-2.1.jar
|
||||
file.reference.jaxb-impl-2.1.jar=/home/jboner/src/scala/akka/lib/jaxb-impl-2.1.jar
|
||||
file.reference.jdom-1.0.jar=/home/jboner/src/scala/akka/lib/jdom-1.0.jar
|
||||
file.reference.je-3.3.62.jar=/home/jboner/src/scala/akka/lib/je-3.3.62.jar
|
||||
file.reference.jersey-atom-1.0.1.jar=/home/jboner/src/scala/akka/lib/jersey-atom-1.0.1.jar
|
||||
file.reference.jersey-core-1.0.1.jar=/home/jboner/src/scala/akka/lib/jersey-core-1.0.1.jar
|
||||
file.reference.jersey-json-1.0.1.jar=/home/jboner/src/scala/akka/lib/jersey-json-1.0.1.jar
|
||||
file.reference.jersey-server-1.0.1.jar=/home/jboner/src/scala/akka/lib/jersey-server-1.0.1.jar
|
||||
file.reference.jettison-1.0.1.jar=/home/jboner/src/scala/akka/lib/jettison-1.0.1.jar
|
||||
file.reference.jetty-6.1.6rc0.jar=/home/jboner/src/scala/akka/lib/jetty-6.1.6rc0.jar
|
||||
file.reference.jetty-util-6.1.6rc0.jar=/home/jboner/src/scala/akka/lib/jetty-util-6.1.6rc0.jar
|
||||
file.reference.jsr250-api-1.0.jar=/home/jboner/src/scala/akka/lib/jsr250-api-1.0.jar
|
||||
file.reference.jsr311-api-1.0.jar=/home/jboner/src/scala/akka/lib/jsr311-api-1.0.jar
|
||||
file.reference.activation-1.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\activation-1.1.jar
|
||||
file.reference.akka-util-java.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\akka-util-java.jar
|
||||
file.reference.aopalliance-1.0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\aopalliance-1.0.jar
|
||||
file.reference.asm-3.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\asm-3.1.jar
|
||||
file.reference.catalina-ant.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\catalina-ant.jar
|
||||
file.reference.cglib-2.2.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\cglib-2.2.jar
|
||||
file.reference.colt-1.2.0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\colt-1.2.0.jar
|
||||
file.reference.commons-codec-1.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-codec-1.3.jar
|
||||
file.reference.commons-collections-3.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-collections-3.1.jar
|
||||
file.reference.commons-dbcp-1.2.2.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-dbcp-1.2.2.jar
|
||||
file.reference.commons-httpclient-3.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-httpclient-3.1.jar
|
||||
file.reference.commons-io-1.3.2.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-io-1.3.2.jar
|
||||
file.reference.commons-lang-2.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-lang-2.1.jar
|
||||
file.reference.commons-logging.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-logging.jar
|
||||
file.reference.commons-pool-1.4.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\commons-pool-1.4.jar
|
||||
file.reference.configgy-1.2.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\configgy-1.2.jar
|
||||
file.reference.google-collect-snapshot-20090211.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\google-collect-snapshot-20090211.jar
|
||||
file.reference.grizzly-framework-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-framework-1.8.6.3.jar
|
||||
file.reference.grizzly-http-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-http-1.8.6.3.jar
|
||||
file.reference.grizzly-http-servlet-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-http-servlet-1.8.6.3.jar
|
||||
file.reference.grizzly-http-utils-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-http-utils-1.8.6.3.jar
|
||||
file.reference.grizzly-portunif-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-portunif-1.8.6.3.jar
|
||||
file.reference.grizzly-rcm-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-rcm-1.8.6.3.jar
|
||||
file.reference.grizzly-servlet-webserver-1.8.6.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\grizzly-servlet-webserver-1.8.6.3.jar
|
||||
file.reference.guice-core-2.0-SNAPSHOT.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\guice-core-2.0-SNAPSHOT.jar
|
||||
file.reference.guice-jsr250-2.0-SNAPSHOT.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\guice-jsr250-2.0-SNAPSHOT.jar
|
||||
file.reference.jaxb-api-2.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jaxb-api-2.1.jar
|
||||
file.reference.jaxb-impl-2.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jaxb-impl-2.1.jar
|
||||
file.reference.jdom-1.0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jdom-1.0.jar
|
||||
file.reference.je-3.3.62.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\je-3.3.62.jar
|
||||
file.reference.jersey-atom-1.0.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jersey-atom-1.0.1.jar
|
||||
file.reference.jersey-core-1.0.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jersey-core-1.0.1.jar
|
||||
file.reference.jersey-json-1.0.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jersey-json-1.0.1.jar
|
||||
file.reference.jersey-server-1.0.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jersey-server-1.0.1.jar
|
||||
file.reference.jettison-1.0.1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jettison-1.0.1.jar
|
||||
file.reference.jetty-6.1.6rc0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jetty-6.1.6rc0.jar
|
||||
file.reference.jetty-util-6.1.6rc0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jetty-util-6.1.6rc0.jar
|
||||
file.reference.jsr250-api-1.0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jsr250-api-1.0.jar
|
||||
file.reference.jsr311-api-1.0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\jsr311-api-1.0.jar
|
||||
file.reference.junit-3.8.2.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\junit-3.8.2.jar
|
||||
file.reference.junit-3.8.2.jar-1=/home/jboner/src/scala/akka/lib/junit-3.8.2.jar
|
||||
file.reference.libthrift-20080411p1.jar=/home/jboner/src/scala/akka/lib/libthrift-20080411p1.jar
|
||||
file.reference.log4j-1.2.13.jar=/home/jboner/src/scala/akka/lib/log4j-1.2.13.jar
|
||||
file.reference.junit-4.5.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\junit-4.5.jar
|
||||
file.reference.junit4runner-1.0-SNAPSHOT.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\junit4runner-1.0-SNAPSHOT.jar
|
||||
file.reference.libthrift-20080411p1.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\libthrift-20080411p1.jar
|
||||
file.reference.log4j-1.2.13.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\log4j-1.2.13.jar
|
||||
file.reference.main-scala=src/main/scala
|
||||
file.reference.mina-core-2.0.0-M2-SNAPSHOT.jar=/home/jboner/src/scala/akka/lib/mina-core-2.0.0-M2-SNAPSHOT.jar
|
||||
file.reference.mina-integration-scala-2.0.0-M2-SNAPSHOT.jar=/home/jboner/src/scala/akka/lib/mina-integration-scala-2.0.0-M2-SNAPSHOT.jar
|
||||
file.reference.protobuf-java-2.0.3.jar=/home/jboner/src/scala/akka/lib/protobuf-java-2.0.3.jar
|
||||
file.reference.rome-0.9.jar=/home/jboner/src/scala/akka/lib/rome-0.9.jar
|
||||
file.reference.scala-library-2.7.3.jar=/home/jboner/src/scala/akka/lib/scala-library-2.7.3.jar
|
||||
file.reference.mina-core-2.0.0-M2-SNAPSHOT.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\mina-core-2.0.0-M2-SNAPSHOT.jar
|
||||
file.reference.mina-integration-scala-2.0.0-M2-SNAPSHOT.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\mina-integration-scala-2.0.0-M2-SNAPSHOT.jar
|
||||
file.reference.protobuf-java-2.0.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\protobuf-java-2.0.3.jar
|
||||
file.reference.rome-0.9.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\rome-0.9.jar
|
||||
file.reference.scala-library-2.7.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\scala-library-2.7.3.jar
|
||||
file.reference.scalatest-0.9.5.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\scalatest-0.9.5.jar
|
||||
file.reference.scalatest-0.9.5.jar-1=/home/jboner/src/scala/akka/lib/scalatest-0.9.5.jar
|
||||
file.reference.scalatest-0.9.5.zip=/home/jboner/src/scala/akka/lib/scalatest-0.9.5.zip
|
||||
file.reference.servlet-api-2.5.jar=/home/jboner/src/scala/akka/lib/servlet-api-2.5.jar
|
||||
file.reference.slf4j-api-1.4.3.jar=/home/jboner/src/scala/akka/lib/slf4j-api-1.4.3.jar
|
||||
file.reference.slf4j-log4j12-1.4.3.jar=/home/jboner/src/scala/akka/lib/slf4j-log4j12-1.4.3.jar
|
||||
file.reference.stax-api-1.0-2.jar=/home/jboner/src/scala/akka/lib/stax-api-1.0-2.jar
|
||||
file.reference.servlet-api-2.5.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\servlet-api-2.5.jar
|
||||
file.reference.slf4j-api-1.4.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\slf4j-api-1.4.3.jar
|
||||
file.reference.slf4j-log4j12-1.4.3.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\slf4j-log4j12-1.4.3.jar
|
||||
file.reference.stax-api-1.0-2.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\stax-api-1.0-2.jar
|
||||
file.reference.test-scala=src/test/scala
|
||||
file.reference.velocity-1.5.jar=/home/jboner/src/scala/akka/lib/velocity-1.5.jar
|
||||
file.reference.voldemort-0.4a.jar=/home/jboner/src/scala/akka/lib/voldemort-0.4a.jar
|
||||
file.reference.voldemort-contrib-0.4a.jar=/home/jboner/src/scala/akka/lib/voldemort-contrib-0.4a.jar
|
||||
file.reference.xerces.jar=/home/jboner/src/scala/akka/lib/xerces.jar
|
||||
file.reference.zookeeper-3.1.0.jar=/home/jboner/src/scala/akka/lib/zookeeper-3.1.0.jar
|
||||
file.reference.velocity-1.5.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\velocity-1.5.jar
|
||||
file.reference.voldemort-0.4a.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\voldemort-0.4a.jar
|
||||
file.reference.voldemort-contrib-0.4a.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\voldemort-contrib-0.4a.jar
|
||||
file.reference.xerces.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\xerces.jar
|
||||
file.reference.zookeeper-3.1.0.jar=C:\\home\\jboner\\src\\scala\\akka\\lib\\zookeeper-3.1.0.jar
|
||||
includes=**
|
||||
jar.compress=false
|
||||
java.platform.active=java_default_platform
|
||||
javac.classpath=\
|
||||
${reference.akka-util-java.jar}:\
|
||||
${file.reference.activation-1.1.jar}:\
|
||||
${file.reference.aopalliance-1.0.jar}:\
|
||||
${file.reference.akka-util-java.jar}:\
|
||||
${file.reference.asm-3.1.jar}:\
|
||||
${file.reference.catalina-ant.jar}:\
|
||||
${file.reference.cglib-2.2.jar}:\
|
||||
|
|
@ -122,7 +122,7 @@ javac.classpath=\
|
|||
${file.reference.jetty-util-6.1.6rc0.jar}:\
|
||||
${file.reference.jsr250-api-1.0.jar}:\
|
||||
${file.reference.jsr311-api-1.0.jar}:\
|
||||
${file.reference.junit-3.8.2.jar-1}:\
|
||||
${file.reference.junit-3.8.2.jar}:\
|
||||
${file.reference.libthrift-20080411p1.jar}:\
|
||||
${file.reference.log4j-1.2.13.jar}:\
|
||||
${file.reference.mina-core-2.0.0-M2-SNAPSHOT.jar}:\
|
||||
|
|
@ -130,8 +130,7 @@ javac.classpath=\
|
|||
${file.reference.protobuf-java-2.0.3.jar}:\
|
||||
${file.reference.rome-0.9.jar}:\
|
||||
${file.reference.scala-library-2.7.3.jar}:\
|
||||
${file.reference.scalatest-0.9.5.jar-1}:\
|
||||
${file.reference.scalatest-0.9.5.zip}:\
|
||||
${file.reference.scalatest-0.9.5.jar}:\
|
||||
${file.reference.servlet-api-2.5.jar}:\
|
||||
${file.reference.slf4j-api-1.4.3.jar}:\
|
||||
${file.reference.slf4j-log4j12-1.4.3.jar}:\
|
||||
|
|
@ -140,7 +139,9 @@ javac.classpath=\
|
|||
${file.reference.voldemort-0.4a.jar}:\
|
||||
${file.reference.voldemort-contrib-0.4a.jar}:\
|
||||
${file.reference.xerces.jar}:\
|
||||
${file.reference.zookeeper-3.1.0.jar}
|
||||
${file.reference.zookeeper-3.1.0.jar}:\
|
||||
${file.reference.junit4runner-1.0-SNAPSHOT.jar}:\
|
||||
${file.reference.junit-4.5.jar}
|
||||
# Space-separated list of extra javac options
|
||||
javac.compilerargs=
|
||||
javac.deprecation=false
|
||||
|
|
@ -149,8 +150,9 @@ javac.target=1.5
|
|||
javac.test.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}:\
|
||||
${file.reference.junit-3.8.2.jar}:\
|
||||
${file.reference.scalatest-0.9.5.jar}
|
||||
${file.reference.scalatest-0.9.5.jar}:\
|
||||
${file.reference.junit-4.5.jar}:\
|
||||
${file.reference.junit4runner-1.0-SNAPSHOT.jar}
|
||||
javadoc.additionalparam=
|
||||
javadoc.author=false
|
||||
javadoc.encoding=${source.encoding}
|
||||
|
|
@ -166,8 +168,6 @@ main.class=
|
|||
manifest.file=manifest.mf
|
||||
meta.inf.dir=${src.dir}/META-INF
|
||||
platform.active=default_platform
|
||||
project.akka-util-java=../util-java
|
||||
reference.akka-util-java.jar=${project.akka-util-java}/dist/akka-util-java.jar
|
||||
run.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}
|
||||
|
|
@ -177,7 +177,10 @@ run.classpath=\
|
|||
run.jvmargs=
|
||||
run.test.classpath=\
|
||||
${javac.test.classpath}:\
|
||||
${build.test.classes.dir}
|
||||
${build.test.classes.dir}:\
|
||||
${file.reference.scalatest-0.9.5.jar}:\
|
||||
${file.reference.junit-4.5.jar}:\
|
||||
${file.reference.junit4runner-1.0-SNAPSHOT.jar}
|
||||
source.encoding=UTF-8
|
||||
src.dir=${file.reference.main-scala}
|
||||
test.src.dir=${file.reference.test-scala}
|
||||
|
|
|
|||
|
|
@ -12,15 +12,6 @@
|
|||
<root id="test.src.dir"/>
|
||||
</test-roots>
|
||||
</data>
|
||||
<references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
|
||||
<reference>
|
||||
<foreign-project>akka-util-java</foreign-project>
|
||||
<artifact-type>jar</artifact-type>
|
||||
<script>build.xml</script>
|
||||
<target>jar</target>
|
||||
<clean-target>clean</clean-target>
|
||||
<id>jar</id>
|
||||
</reference>
|
||||
</references>
|
||||
<references xmlns="http://www.netbeans.org/ns/ant-project-references/1"/>
|
||||
</configuration>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,14 @@ import java.lang.annotation.Annotation
|
|||
sealed class ActiveObjectException(msg: String) extends RuntimeException(msg)
|
||||
class ActiveObjectInvocationTimeoutException(msg: String) extends ActiveObjectException(msg)
|
||||
|
||||
object Annotation {
|
||||
import se.scalablesolutions.akka.annotation._
|
||||
val transactional = classOf[transactional]
|
||||
val oneway = classOf[oneway]
|
||||
val immutable = classOf[immutable]
|
||||
val state = classOf[state]
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
|
|
@ -70,11 +78,7 @@ object ActiveObject {
|
|||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: Int) extends InvocationHandler {
|
||||
val transactional = classOf[se.scalablesolutions.akka.annotation.transactional]
|
||||
val oneway = classOf[se.scalablesolutions.akka.annotation.oneway]
|
||||
val immutable = classOf[se.scalablesolutions.akka.annotation.immutable]
|
||||
val state= classOf[se.scalablesolutions.akka.annotation.state]
|
||||
|
||||
import ActiveObject.threadBoundTx
|
||||
private[this] var activeTx: Option[Transaction] = None
|
||||
|
||||
private var targetInstance: AnyRef = _
|
||||
|
|
@ -86,58 +90,39 @@ class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: I
|
|||
}
|
||||
}
|
||||
|
||||
private[this] val dispatcher = new GenericServer {
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case invocation: Invocation =>
|
||||
val tx = invocation.tx
|
||||
ActiveObject.threadBoundTx.set(tx)
|
||||
try {
|
||||
reply(ErrRef(invocation.invoke, tx))
|
||||
} catch {
|
||||
case e: InvocationTargetException =>
|
||||
val te = e.getTargetException
|
||||
te.printStackTrace
|
||||
reply(ErrRef({ throw te }, tx))
|
||||
case e =>
|
||||
e.printStackTrace
|
||||
reply(ErrRef({ throw e }, tx))
|
||||
}
|
||||
case 'exit => exit; reply()
|
||||
case unexpected => throw new ActiveObjectException("Unexpected message to actor proxy: " + unexpected)
|
||||
}
|
||||
}
|
||||
|
||||
private[kernel] val server = new GenericServerContainer(target.getName, () => dispatcher)
|
||||
private[kernel] val server = new GenericServerContainer(target.getName, () => new Dispatcher(target.getName))
|
||||
server.setTimeout(timeout)
|
||||
|
||||
def invoke(proxy: AnyRef, m: Method, args: Array[AnyRef]): AnyRef = {
|
||||
if (m.isAnnotationPresent(transactional)) {
|
||||
if (m.isAnnotationPresent(Annotation.transactional)) {
|
||||
// FIXME: check if we are already in a transaction if so NEST (set parent)
|
||||
val newTx = new Transaction
|
||||
newTx.begin(server)
|
||||
ActiveObject.threadBoundTx.set(Some(newTx))
|
||||
threadBoundTx.set(Some(newTx))
|
||||
}
|
||||
val cflowTx = ActiveObject.threadBoundTx.get
|
||||
|
||||
// println("========== invoking: " + m.getName)
|
||||
// println("========== cflowTx: " + cflowTx)
|
||||
// println("========== activeTx: " + activeTx)
|
||||
val cflowTx = threadBoundTx.get
|
||||
activeTx match {
|
||||
case Some(tx) =>
|
||||
if (cflowTx.isDefined && cflowTx.get != tx) {
|
||||
// new tx in scope; try to commit
|
||||
tx.commit(server)
|
||||
threadBoundTx.set(None)
|
||||
activeTx = None
|
||||
}
|
||||
case None =>
|
||||
if (cflowTx.isDefined) activeTx = Some(cflowTx.get)
|
||||
if (cflowTx.isDefined) {
|
||||
val currentTx = cflowTx.get
|
||||
currentTx.join(server)
|
||||
activeTx = Some(currentTx)
|
||||
}
|
||||
activeTx = ActiveObject.threadBoundTx.get
|
||||
}
|
||||
activeTx = threadBoundTx.get
|
||||
invoke(Invocation(m, args, targetInstance, activeTx))
|
||||
}
|
||||
|
||||
private def invoke(invocation: Invocation): AnyRef = {
|
||||
val result: AnyRef =
|
||||
if (invocation.method.isAnnotationPresent(oneway)) server ! invocation
|
||||
if (invocation.method.isAnnotationPresent(Annotation.oneway)) server ! invocation
|
||||
else {
|
||||
val result: ErrRef[AnyRef] =
|
||||
server !!! (invocation, {
|
||||
|
|
@ -153,6 +138,7 @@ class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: I
|
|||
throw e
|
||||
}
|
||||
}
|
||||
// FIXME: clear threadBoundTx on successful commit
|
||||
if (activeTx.isDefined) activeTx.get.precommit(server)
|
||||
result
|
||||
}
|
||||
|
|
@ -160,45 +146,76 @@ class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: I
|
|||
private def rollback(tx: Option[Transaction]) = tx match {
|
||||
case None => {} // no tx; nothing to do
|
||||
case Some(tx) =>
|
||||
println("================ ROLLING BACK")
|
||||
tx.rollback(server)
|
||||
ActiveObject.threadBoundTx.set(Some(tx))
|
||||
threadBoundTx.set(Some(tx))
|
||||
}
|
||||
|
||||
private def getStateList(targetInstance: AnyRef): List[State[_,_]] = {
|
||||
require(targetInstance != null)
|
||||
import se.scalablesolutions.akka.kernel.configuration.ConfigurationException
|
||||
val states = for {
|
||||
field <- target.getDeclaredFields
|
||||
if field.isAnnotationPresent(state)
|
||||
state = field.get(targetInstance)
|
||||
val states: List[State[_,_]] = for {
|
||||
field <- target.getDeclaredFields.toArray.toList
|
||||
if field.isAnnotationPresent(Annotation.state)
|
||||
state = {
|
||||
field.setAccessible(true)
|
||||
field.get(targetInstance)
|
||||
}
|
||||
if state != null
|
||||
} yield {
|
||||
if (!state.isInstanceOf[State[_, _]]) throw new ConfigurationException("Fields annotated with [@state] needs to to be a subtype of [se.scalablesolutions.akka.kernel.State[K, V]]")
|
||||
state
|
||||
state.asInstanceOf[State[_,_]]
|
||||
}
|
||||
states
|
||||
// if (fields.size > 1) throw new ConfigurationException("Stateful active object can only have one single field '@Inject TransientObjectState state' defined")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generic GenericServer managing Invocation dispatch, transaction and error management.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
private[kernel] class Dispatcher(val targetName: String) extends GenericServer {
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case invocation: Invocation =>
|
||||
val tx = invocation.tx
|
||||
ActiveObject.threadBoundTx.set(tx)
|
||||
try {
|
||||
reply(ErrRef(invocation.invoke, tx))
|
||||
} catch {
|
||||
case e: InvocationTargetException =>
|
||||
val ref = ErrRef(tx); ref() = throw e.getTargetException; reply(ref)
|
||||
case e =>
|
||||
val ref = ErrRef(tx); ref() = throw e; reply(ref)
|
||||
}
|
||||
case 'exit =>
|
||||
exit; reply()
|
||||
case unexpected =>
|
||||
throw new ActiveObjectException("Unexpected message [" + unexpected + "] to [" + this + "] from [" + sender + "]")
|
||||
}
|
||||
|
||||
override def toString(): String = "GenericServer[" + targetName + "]"
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a snapshot of the current invocation.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
case class Invocation(val method: Method,
|
||||
private[kernel] case class Invocation(val method: Method,
|
||||
val args: Array[AnyRef],
|
||||
val target: AnyRef,
|
||||
val tx: Option[Transaction]) {
|
||||
method.setAccessible(true)
|
||||
|
||||
def invoke: AnyRef = method.invoke(target, args:_*)
|
||||
def invoke: AnyRef = synchronized {
|
||||
method.invoke(target, args:_*)
|
||||
}
|
||||
|
||||
override def toString: String =
|
||||
override def toString: String = synchronized {
|
||||
"Invocation [method: " + method.getName + ", args: " + argsToString(args) + ", target: " + target + "]"
|
||||
}
|
||||
|
||||
override def hashCode(): Int = {
|
||||
override def hashCode(): Int = synchronized {
|
||||
var result = HashCode.SEED
|
||||
result = HashCode.hash(result, method)
|
||||
result = HashCode.hash(result, args)
|
||||
|
|
@ -206,7 +223,7 @@ case class Invocation(val method: Method,
|
|||
result
|
||||
}
|
||||
|
||||
override def equals(that: Any): Boolean = {
|
||||
override def equals(that: Any): Boolean = synchronized {
|
||||
that != null &&
|
||||
that.isInstanceOf[Invocation] &&
|
||||
that.asInstanceOf[Invocation].method == method &&
|
||||
|
|
@ -214,14 +231,13 @@ case class Invocation(val method: Method,
|
|||
isEqual(that.asInstanceOf[Invocation].args, args)
|
||||
}
|
||||
|
||||
private def isEqual(a1: Array[Object], a2: Array[Object]): Boolean =
|
||||
private[this] def isEqual(a1: Array[Object], a2: Array[Object]): Boolean =
|
||||
(a1 == null && a2 == null) ||
|
||||
(a1 != null &&
|
||||
a2 != null &&
|
||||
a1.size == a2.size &&
|
||||
a1.zip(a2).find(t => t._1 == t._2).isDefined)
|
||||
|
||||
private def argsToString(array: Array[Object]): String = synchronized {
|
||||
private[this] def argsToString(array: Array[Object]): String =
|
||||
array.foldLeft("(")(_ + " " + _) + ")"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -267,8 +267,7 @@ class GenericServerContainer(
|
|||
private[kernel] def terminate(reason: AnyRef, shutdownTime: Int) = lock.withReadLock {
|
||||
if (shutdownTime > 0) {
|
||||
log.debug("Waiting [%s milliseconds for the server to shut down before killing it.", shutdownTime)
|
||||
// server !? (shutdownTime, Shutdown(reason)) match {
|
||||
server !? Shutdown(reason) match {
|
||||
server !? (shutdownTime, Shutdown(reason)) match {
|
||||
case Some('success) => log.debug("Server [%s] has been shut down cleanly.", id)
|
||||
case None => log.warning("Server [%s] was **not able** to complete shutdown cleanly within its configured shutdown time [%s]", id, shutdownTime)
|
||||
}
|
||||
|
|
@ -292,5 +291,7 @@ class GenericServerContainer(
|
|||
private[kernel] def swapServer(newServer: GenericServer) = lock.withWriteLock {
|
||||
server = newServer
|
||||
}
|
||||
|
||||
override def toString(): String = "GenericServerContainer[" + server + "]"
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import org.apache.zookeeper.jmx.ManagedUtil
|
||||
import org.apache.zookeeper.server.persistence.FileTxnSnapLog
|
||||
import org.apache.zookeeper.server.ServerConfig
|
||||
import org.apache.zookeeper.server.NIOServerCnxn
|
||||
//import org.apache.zookeeper.jmx.ManagedUtil
|
||||
//import org.apache.zookeeper.server.persistence.FileTxnSnapLog
|
||||
//import org.apache.zookeeper.server.ServerConfig
|
||||
//import org.apache.zookeeper.server.NIOServerCnxn
|
||||
|
||||
import voldemort.client.{SocketStoreClientFactory, StoreClient, StoreClientFactory}
|
||||
import voldemort.server.{VoldemortConfig, VoldemortServer}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ trait Transactional {
|
|||
private[kernel] def rollback
|
||||
}
|
||||
|
||||
sealed trait State[K, V] {
|
||||
sealed trait State[K, V] extends Transactional {
|
||||
def put(key: K, value: V)
|
||||
def remove(key: K)
|
||||
def get(key: K): V
|
||||
|
|
@ -23,7 +23,10 @@ sealed trait State[K, V] {
|
|||
def clear
|
||||
}
|
||||
|
||||
sealed class TransientState[K, V] extends State[K, V] with Transactional {
|
||||
/**
|
||||
* Not thread-safe, but should only be using from within an Actor, e.g. one single thread at a time.
|
||||
*/
|
||||
sealed class TransientState[K, V] extends State[K, V] {
|
||||
private[kernel] var state = new HashTrie[K, V]
|
||||
private[kernel] var snapshot = state
|
||||
|
||||
|
|
@ -32,6 +35,7 @@ sealed class TransientState[K, V] extends State[K, V] with Transactional {
|
|||
}
|
||||
|
||||
private[kernel] override def commit = {
|
||||
snapshot = state
|
||||
}
|
||||
|
||||
private[kernel] override def rollback = {
|
||||
|
|
@ -60,6 +64,9 @@ sealed class TransientState[K, V] extends State[K, V] with Transactional {
|
|||
final class TransientStringState extends TransientState[String, String]
|
||||
final class TransientObjectState extends TransientState[String, AnyRef]
|
||||
|
||||
/**
|
||||
* Not thread-safe, but should only be using from within an Actor, e.g. one single thread at a time.
|
||||
*/
|
||||
trait UnitOfWork[K, V] extends State[K, V] with Transactional {
|
||||
this: TransientState[K, V] =>
|
||||
private[kernel] val changeSet = new HashMap[K, V]
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ abstract class SupervisorFactory extends Logging {
|
|||
val supervisor = create(restartStrategy)
|
||||
supervisor.start
|
||||
supervisor !? Configure(config, this) match {
|
||||
case 'success => log.debug("Supervisor successfully configured")
|
||||
case 'configSuccess => log.debug("Supervisor successfully configured")
|
||||
case _ => log.error("Supervisor could not be configured")
|
||||
}
|
||||
supervisor
|
||||
|
|
@ -148,7 +148,7 @@ class Supervisor(faultHandler: FaultHandlingStrategy) extends Actor with Logging
|
|||
case Configure(config, factory) =>
|
||||
log.debug("Configuring supervisor:%s ", this)
|
||||
configure(config, factory)
|
||||
reply('success)
|
||||
reply('configSuccess)
|
||||
|
||||
case Start =>
|
||||
state.serverContainers.foreach { serverContainer =>
|
||||
|
|
@ -229,20 +229,21 @@ abstract class FaultHandlingStrategy(val maxNrOfRetries: Int, val withinTimeRang
|
|||
private[kernel] def restart(serverContainer: GenericServerContainer, reason: AnyRef, state: SupervisorState) = {
|
||||
preRestart(serverContainer)
|
||||
serverContainer.lock.withWriteLock {
|
||||
|
||||
// TODO: this is the place to fail-over all pending messages in the failing actor's mailbox, if possible to get a hold of them
|
||||
// e.g. something like 'serverContainer.getServer.getPendingMessages.map(newServer ! _)'
|
||||
|
||||
self.unlink(serverContainer.getServer)
|
||||
serverContainer.lifeCycle match {
|
||||
case None => throw new IllegalStateException("Server [" + serverContainer.id + "] does not have a life-cycle defined.")
|
||||
case Some(LifeCycle(scope, shutdownTime)) =>
|
||||
case None =>
|
||||
throw new IllegalStateException("Server [" + serverContainer.id + "] does not have a life-cycle defined.")
|
||||
case Some(LifeCycle(scope, shutdownTime)) => {
|
||||
serverContainer.terminate(reason, shutdownTime)
|
||||
|
||||
scope match {
|
||||
case Permanent =>
|
||||
case Permanent => {
|
||||
log.debug("Restarting server [%s] configured as PERMANENT.", serverContainer.id)
|
||||
serverContainer.reconfigure(reason, supervisor.spawnLink(serverContainer), state.supervisor)
|
||||
}
|
||||
|
||||
case Temporary =>
|
||||
if (reason == 'normal) {
|
||||
|
|
@ -255,6 +256,7 @@ abstract class FaultHandlingStrategy(val maxNrOfRetries: Int, val withinTimeRang
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
postRestart(serverContainer)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,21 +36,25 @@ class Transaction extends Logging {
|
|||
|
||||
log.debug("Creating a new transaction [%s]", id)
|
||||
private[this] var parent: Option[Transaction] = None
|
||||
private[this] var participants = new HashMap[GenericServerContainer, GenericServer]
|
||||
private[this] var participants: List[GenericServerContainer] = Nil
|
||||
private[this] var precommitted: List[GenericServerContainer] = Nil
|
||||
@volatile private[this] var status: TransactionStatus = TransactionStatus.New
|
||||
|
||||
def begin(server: GenericServerContainer) = synchronized {
|
||||
println("===== begin 1 " + server)
|
||||
if (status == TransactionStatus.Aborted) throw new IllegalStateException("Can't begin ABORTED transaction")
|
||||
if (status == TransactionStatus.Completed) throw new IllegalStateException("Can't begin COMPLETED transaction")
|
||||
if (status == TransactionStatus.New) log.debug("Actor [%s] is starting NEW transaction", server)
|
||||
else log.debug("Actor [%s] is participating in transaction", server)
|
||||
if (server.state.isDefined) server.state.get.begin
|
||||
println("===== begin 2 " + server)
|
||||
server.states.foreach(_.begin)
|
||||
participants ::= server
|
||||
status = TransactionStatus.Active
|
||||
}
|
||||
|
||||
def precommit(server: GenericServerContainer) = synchronized {
|
||||
if (status == TransactionStatus.Active) {
|
||||
println("===== precommit " + server)
|
||||
log.debug("Pre-committing transaction for actor [%s]", server)
|
||||
precommitted ::= server
|
||||
}
|
||||
|
|
@ -58,10 +62,11 @@ class Transaction extends Logging {
|
|||
|
||||
def commit(server: GenericServerContainer) = synchronized {
|
||||
if (status == TransactionStatus.Active) {
|
||||
println("===== commit " + server)
|
||||
log.debug("Committing transaction for actor [%s]", server)
|
||||
val haveAllPreCommitted =
|
||||
if (participants.size == precommitted.size) {{
|
||||
for (server <- participants.keys) yield {
|
||||
for (server <- participants) yield {
|
||||
if (precommitted.exists(_.id == server.id)) true
|
||||
else false
|
||||
}}.exists(_ == false)
|
||||
|
|
@ -73,14 +78,18 @@ class Transaction extends Logging {
|
|||
|
||||
def rollback(server: GenericServerContainer) = synchronized {
|
||||
ensureIsActiveOrAborted
|
||||
log.debug("Actor [%s] has initiated transaction rollback, rolling back [%s]" , server, participants.keys)
|
||||
participants.foreach(entry => {
|
||||
val (server, backup) = entry
|
||||
if (server.state.isDefined) server.state.get.rollback
|
||||
})
|
||||
println("===== rollback " + server)
|
||||
log.debug("Actor [%s] has initiated transaction rollback, rolling back [%s]" , server, participants)
|
||||
participants.foreach(_.states.foreach(_.rollback))
|
||||
status = TransactionStatus.Aborted
|
||||
}
|
||||
|
||||
def join(server: GenericServerContainer) = synchronized {
|
||||
println("===== joining " + server)
|
||||
server.states.foreach(_.begin)
|
||||
participants ::= server
|
||||
}
|
||||
|
||||
private def ensureIsActive = if (status != TransactionStatus.Active)
|
||||
throw new IllegalStateException("Expected ACTIVE transaction - current status [" + status + "]")
|
||||
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ class Vector[+T] private (val length: Int, shift: Int, root: Array[AnyRef], tail
|
|||
back
|
||||
}
|
||||
|
||||
override def flatMap[A](f: (T)=>Iterable[A]) = {
|
||||
override def flatMap[A](f: (T)=>Iterable[A]): Vector[A] = {
|
||||
var back = new Vector[A]
|
||||
var i = 0
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ class Vector[+T] private (val length: Int, shift: Int, root: Array[AnyRef], tail
|
|||
back
|
||||
}
|
||||
|
||||
override def map[A](f: (T)=>A) = {
|
||||
override def map[A](f: (T)=>A): Vector[A] = {
|
||||
var back = new Vector[A]
|
||||
var i = 0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,188 +0,0 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import org.scalatest.Spec
|
||||
import org.scalatest.matchers.ShouldMatchers
|
||||
import org.scalatest.junit.JUnit3Suite
|
||||
|
||||
import se.scalablesolutions.akka.annotation.{oneway, transactional, stateful}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object ActiveObjectSpec {
|
||||
var messageLog = ""
|
||||
}
|
||||
class ActiveObjectSpec extends Spec with ShouldMatchers {
|
||||
|
||||
describe("An ActiveObject") {
|
||||
|
||||
it("(with default supervisor) should dispatch method calls normally") {
|
||||
val foo = ActiveObject.newInstance[Foo](classOf[Foo], new FooImpl, 1000)
|
||||
|
||||
val result = foo.foo("foo ")
|
||||
ActiveObjectSpec.messageLog += result
|
||||
|
||||
foo.bar("bar ")
|
||||
ActiveObjectSpec.messageLog += "before_bar "
|
||||
|
||||
Thread.sleep(500)
|
||||
ActiveObjectSpec.messageLog should equal ("foo return_foo before_bar bar ")
|
||||
}
|
||||
|
||||
it("should not rollback state for a stateful server in case of success") {
|
||||
val stateful = ActiveObject.newInstance[Stateful](classOf[Stateful], new StatefulImpl, 1000)
|
||||
|
||||
stateful.success("new state")
|
||||
stateful.state should equal ("new state")
|
||||
}
|
||||
|
||||
it("should rollback state for a stateful server in case of failure") {
|
||||
val stateful = ActiveObject.newInstance[Stateful](classOf[Stateful], new StatefulImpl, 1000)
|
||||
val failer = ActiveObject.newInstance[Failer](classOf[Failer], new FailerImpl, 1000)
|
||||
|
||||
stateful.failure("new state", failer)
|
||||
stateful.state should equal ("nil")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
trait Foo {
|
||||
def foo(msg: String): String
|
||||
@transactional def fooInTx(msg: String): String
|
||||
@oneway def bar(msg: String)
|
||||
def longRunning
|
||||
def throwsException
|
||||
}
|
||||
|
||||
class FooImpl extends Foo {
|
||||
val bar: Bar = new BarImpl
|
||||
def foo(msg: String): String = {
|
||||
ActiveObjectSpec.messageLog += msg
|
||||
"return_foo "
|
||||
}
|
||||
def fooInTx(msg: String): String = {
|
||||
ActiveObjectSpec.messageLog += msg
|
||||
"return_foo "
|
||||
}
|
||||
def bar(msg: String) = bar.bar(msg)
|
||||
def longRunning = Thread.sleep(10000)
|
||||
def throwsException = error("expected")
|
||||
}
|
||||
|
||||
trait Bar {
|
||||
@oneway def bar(msg: String)
|
||||
}
|
||||
|
||||
class BarImpl extends Bar {
|
||||
def bar(msg: String) = {
|
||||
Thread.sleep(100)
|
||||
ActiveObjectSpec.messageLog += msg
|
||||
}
|
||||
}
|
||||
|
||||
trait Stateful {
|
||||
@transactional def success(msg: String)
|
||||
@transactional def failure(msg: String, failer: Failer)
|
||||
def state: String
|
||||
}
|
||||
|
||||
@stateful
|
||||
class StatefulImpl extends Stateful {
|
||||
var state: String = "nil"
|
||||
def success(msg: String) = state = msg
|
||||
def failure(msg: String, failer: Failer) = {
|
||||
state = msg
|
||||
failer.fail
|
||||
}
|
||||
}
|
||||
|
||||
trait Failer {
|
||||
def fail
|
||||
}
|
||||
|
||||
class FailerImpl extends Failer {
|
||||
def fail = throw new RuntimeException("expected")
|
||||
}
|
||||
|
||||
// @Test { val groups=Array("unit") }
|
||||
// def testCreateGenericServerBasedComponentUsingCustomSupervisorConfiguration = {
|
||||
// val proxy = new ActiveObjectProxy(new FooImpl, 1000)
|
||||
|
||||
// val supervisor =
|
||||
// ActiveObject.supervise(
|
||||
// RestartStrategy(AllForOne, 3, 100),
|
||||
// Component(
|
||||
// proxy,
|
||||
// LifeCycle(Permanent, 100))
|
||||
// :: Nil)
|
||||
|
||||
// val foo = ActiveObject.newInstance[Foo](classOf[Foo], proxy)
|
||||
|
||||
// val result = foo.foo("foo ")
|
||||
// messageLog += result
|
||||
|
||||
// foo.bar("bar ")
|
||||
// messageLog += "before_bar "
|
||||
|
||||
// Thread.sleep(500)
|
||||
// assert(messageLog === "foo return_foo before_bar bar ")
|
||||
|
||||
// supervisor ! Stop
|
||||
// }
|
||||
|
||||
// @Test { val groups=Array("unit") }
|
||||
// def testCreateTwoGenericServerBasedComponentUsingCustomSupervisorConfiguration = {
|
||||
// val fooProxy = new ActiveObjectProxy(new FooImpl, 1000)
|
||||
// val barProxy = new ActiveObjectProxy(new BarImpl, 1000)
|
||||
|
||||
// val supervisor =
|
||||
// ActiveObject.supervise(
|
||||
// RestartStrategy(AllForOne, 3, 100),
|
||||
// Component(
|
||||
// fooProxy,
|
||||
// LifeCycle(Permanent, 100)) ::
|
||||
// Component(
|
||||
// barProxy,
|
||||
// LifeCycle(Permanent, 100))
|
||||
// :: Nil)
|
||||
|
||||
// val foo = ActiveObject.newInstance[Foo](classOf[Foo], fooProxy)
|
||||
// val bar = ActiveObject.newInstance[Bar](classOf[Bar], barProxy)
|
||||
|
||||
// val result = foo.foo("foo ")
|
||||
// messageLog += result
|
||||
|
||||
// bar.bar("bar ")
|
||||
// messageLog += "before_bar "
|
||||
|
||||
// Thread.sleep(500)
|
||||
// assert(messageLog === "foo return_foo before_bar bar ")
|
||||
|
||||
// supervisor ! Stop
|
||||
// }
|
||||
|
||||
// @Test { val groups=Array("unit") }
|
||||
// def testCreateGenericServerBasedComponentUsingDefaultSupervisorAndForcedTimeout = {
|
||||
// val foo = ActiveObject.newInstance[Foo](classOf[Foo], new FooImpl, 1000)
|
||||
// intercept(classOf[ActiveObjectInvocationTimeoutException]) {
|
||||
// foo.longRunning
|
||||
// }
|
||||
// assert(true === true)
|
||||
// }
|
||||
|
||||
// @Test { val groups=Array("unit") }
|
||||
// def testCreateGenericServerBasedComponentUsingDefaultSupervisorAndForcedException = {
|
||||
// val foo = ActiveObject.newInstance[Foo](classOf[Foo], new FooImpl, 10000)
|
||||
// intercept(classOf[RuntimeException]) {
|
||||
// foo.throwsException
|
||||
// }
|
||||
// assert(true === true)
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
|
@ -10,9 +10,14 @@ import org.scalatest._
|
|||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class AllSuite extends SuperSuite(
|
||||
|
||||
List(
|
||||
new ActiveObjectSpec,
|
||||
new RestManagerSpec
|
||||
new SupervisorSpec,
|
||||
new SupervisorStateSpec,
|
||||
new GenericServerSpec,
|
||||
new GenericServerContainerSpec
|
||||
// new ActiveObjectSpec,
|
||||
// new RestManagerSpec
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
|||
212
kernel/src/test/scala/GenericServerContainerSuite.scala
Executable file
212
kernel/src/test/scala/GenericServerContainerSuite.scala
Executable file
|
|
@ -0,0 +1,212 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import scala.actors._
|
||||
import scala.actors.Actor._
|
||||
|
||||
import org.scalatest._
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class GenericServerContainerSpec extends Suite {
|
||||
|
||||
var inner: GenericServerContainerActor = null
|
||||
var server: GenericServerContainer = null
|
||||
def createProxy(f: () => GenericServer) = { val server = new GenericServerContainer("server", f); server.setTimeout(100); server }
|
||||
|
||||
def setup = {
|
||||
inner = new GenericServerContainerActor
|
||||
server = createProxy(() => inner)
|
||||
server.newServer
|
||||
server.start
|
||||
}
|
||||
|
||||
def testInit = {
|
||||
setup
|
||||
server.init("testInit")
|
||||
Thread.sleep(100)
|
||||
expect("initializing: testInit") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def testTerminateWithReason = {
|
||||
setup
|
||||
server.terminate("testTerminateWithReason", 100)
|
||||
Thread.sleep(100)
|
||||
expect("terminating: testTerminateWithReason") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bang_1 = {
|
||||
setup
|
||||
server ! OneWay
|
||||
Thread.sleep(100)
|
||||
expect("got a oneway") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bang_2 = {
|
||||
setup
|
||||
server ! Ping
|
||||
Thread.sleep(100)
|
||||
expect("got a ping") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bangbangbang = {
|
||||
setup
|
||||
expect("pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
expect("got a ping") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bangquestion = {
|
||||
setup
|
||||
expect("pong") {
|
||||
val res: String = server !? Ping
|
||||
res
|
||||
}
|
||||
expect("got a ping") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bangbangbang_Timeout1 = {
|
||||
setup
|
||||
expect("pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
expect("got a ping") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bangbangbang_Timeout2 = {
|
||||
setup
|
||||
expect("error handler") {
|
||||
server !!! (OneWay, "error handler")
|
||||
}
|
||||
expect("got a oneway") {
|
||||
inner.log
|
||||
}
|
||||
}
|
||||
|
||||
def test_bangbangbang_GetFutureTimeout1 = {
|
||||
setup
|
||||
val future = server !! Ping
|
||||
future.receiveWithin(100) match {
|
||||
case None => fail("timed out") // timed out
|
||||
case Some(reply) =>
|
||||
expect("got a ping") {
|
||||
inner.log
|
||||
}
|
||||
assert("pong" === reply)
|
||||
}
|
||||
}
|
||||
|
||||
def test_bangbangbang_GetFutureTimeout2 = {
|
||||
setup
|
||||
val future = server !! OneWay
|
||||
future.receiveWithin(100) match {
|
||||
case None =>
|
||||
expect("got a oneway") {
|
||||
inner.log
|
||||
}
|
||||
case Some(reply) =>
|
||||
fail("expected a timeout, got Some(reply)")
|
||||
}
|
||||
}
|
||||
|
||||
def testHotSwap = {
|
||||
setup
|
||||
// using base
|
||||
expect("pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
|
||||
// hotswapping
|
||||
server.hotswap(Some({
|
||||
case Ping => reply("hotswapped pong")
|
||||
}))
|
||||
expect("hotswapped pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
}
|
||||
|
||||
def testDoubleHotSwap = {
|
||||
setup
|
||||
// using base
|
||||
expect("pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
|
||||
// hotswapping
|
||||
server.hotswap(Some({
|
||||
case Ping => reply("hotswapped pong")
|
||||
}))
|
||||
expect("hotswapped pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
|
||||
// hotswapping again
|
||||
server.hotswap(Some({
|
||||
case Ping => reply("hotswapped pong again")
|
||||
}))
|
||||
expect("hotswapped pong again") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def testHotSwapReturnToBase = {
|
||||
setup
|
||||
// using base
|
||||
expect("pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
|
||||
// hotswapping
|
||||
server.hotswap(Some({
|
||||
case Ping => reply("hotswapped pong")
|
||||
}))
|
||||
expect("hotswapped pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
|
||||
// restoring original base
|
||||
server.hotswap(None)
|
||||
expect("pong") {
|
||||
(server !!! Ping).getOrElse("nil")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class GenericServerContainerActor extends GenericServer {
|
||||
var log = ""
|
||||
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case Ping =>
|
||||
log = "got a ping"
|
||||
reply("pong")
|
||||
|
||||
case OneWay =>
|
||||
log = "got a oneway"
|
||||
}
|
||||
|
||||
override def init(config: AnyRef) = log = "initializing: " + config
|
||||
override def shutdown(reason: AnyRef) = log = "terminating: " + reason
|
||||
}
|
||||
|
||||
|
||||
37
kernel/src/test/scala/GenericServerSpec.scala
Executable file
37
kernel/src/test/scala/GenericServerSpec.scala
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import org.scalatest._
|
||||
|
||||
import scala.actors.Actor._
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class GenericServerSpec extends Suite {
|
||||
|
||||
def testSendRegularMessage = {
|
||||
val server = new MyGenericServerActor
|
||||
server.start
|
||||
server !? Ping match {
|
||||
case reply: String =>
|
||||
assert("got a ping" === server.log)
|
||||
assert("pong" === reply)
|
||||
case _ => fail()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MyGenericServerActor extends GenericServer {
|
||||
var log: String = ""
|
||||
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case Ping =>
|
||||
log = "got a ping"
|
||||
reply("pong")
|
||||
}
|
||||
}
|
||||
|
||||
12
kernel/src/test/scala/Messages.scala
Executable file
12
kernel/src/test/scala/Messages.scala
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
sealed abstract class TestMessage
|
||||
case object Ping extends TestMessage
|
||||
case object Pong extends TestMessage
|
||||
case object OneWay extends TestMessage
|
||||
case object Die extends TestMessage
|
||||
case object NotifySupervisorExit extends TestMessage
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import org.scalatest.Spec
|
||||
import org.scalatest.matchers.ShouldMatchers
|
||||
|
||||
import javax.ws.rs.{Produces, Path, GET}
|
||||
|
||||
//import com.sun.net.httpserver.HttpServer;
|
||||
//import com.sun.ws.rest.api.client.Client;
|
||||
//import com.sun.ws.rest.api.client.ClientResponse;
|
||||
//import com.sun.ws.rest.api.client.ResourceProxy;
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RestManagerSpec extends Spec with ShouldMatchers {
|
||||
|
||||
describe("A RestManager") {
|
||||
|
||||
it("should be able to start and stop") {
|
||||
val threadSelector = Kernel.startJersey
|
||||
/* val cc = new DefaultClientConfig
|
||||
val c = Client.create(cc)
|
||||
val resource = c.proxy("http://localhost:9998/")
|
||||
val hello = resource.get(classOf[HelloWorldResource])
|
||||
val msg = hello.getMessage
|
||||
println("=============: " + msg)
|
||||
*/ threadSelector.stopEndpoint
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Path("/helloworld")
|
||||
class HelloWorldResource {
|
||||
@GET
|
||||
@Produces(Array("text/plain"))
|
||||
def getMessage = "Hello World"
|
||||
}
|
||||
430
kernel/src/test/scala/SupervisorSpec.scala
Executable file
430
kernel/src/test/scala/SupervisorSpec.scala
Executable file
|
|
@ -0,0 +1,430 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import scala.actors._
|
||||
import scala.actors.Actor._
|
||||
import scala.collection.Map
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
import org.scalatest._
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class SupervisorSpec extends Suite {
|
||||
|
||||
var messageLog: String = ""
|
||||
val pingpong1 = new GenericServerContainer("pingpong1", () => new PingPong1Actor)
|
||||
val pingpong2 = new GenericServerContainer("pingpong2", () => new PingPong2Actor)
|
||||
val pingpong3 = new GenericServerContainer("pingpong3", () => new PingPong3Actor)
|
||||
|
||||
pingpong1.setTimeout(100)
|
||||
pingpong2.setTimeout(100)
|
||||
pingpong3.setTimeout(100)
|
||||
|
||||
def testStartServer = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorAllForOneSupervisor
|
||||
sup ! Start
|
||||
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
}
|
||||
|
||||
def testGetServer = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorAllForOneSupervisor
|
||||
sup ! Start
|
||||
val server = sup.getServerOrElse("pingpong1", throw new RuntimeException("server not found"))
|
||||
assert(server.isInstanceOf[GenericServerContainer])
|
||||
assert(server === pingpong1)
|
||||
}
|
||||
|
||||
def testGetServerOrFail = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorAllForOneSupervisor
|
||||
sup ! Start
|
||||
intercept(classOf[RuntimeException]) {
|
||||
sup.getServerOrElse("wrong_name", throw new RuntimeException("server not found"))
|
||||
}
|
||||
}
|
||||
|
||||
def testKillSingleActorOneForOne = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorOneForOneSupervisor
|
||||
sup ! Start
|
||||
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong1 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("oneforone") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def testCallKillCallSingleActorOneForOne = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorOneForOneSupervisor
|
||||
sup ! Start
|
||||
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("ping") {
|
||||
messageLog
|
||||
}
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong1 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingoneforone") {
|
||||
messageLog
|
||||
}
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingoneforoneping") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def testKillSingleActorAllForOne = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorAllForOneSupervisor
|
||||
sup ! Start
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong1 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("allforone") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def testCallKillCallSingleActorAllForOne = {
|
||||
messageLog = ""
|
||||
val sup = getSingleActorAllForOneSupervisor
|
||||
sup ! Start
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("ping") {
|
||||
messageLog
|
||||
}
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong1 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingallforone") {
|
||||
messageLog
|
||||
}
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingallforoneping") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def testKillMultipleActorsOneForOne = {
|
||||
messageLog = ""
|
||||
val sup = getMultipleActorsOneForOneConf
|
||||
sup ! Start
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong3 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("oneforone") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def tesCallKillCallMultipleActorsOneForOne = {
|
||||
messageLog = ""
|
||||
val sup = getMultipleActorsOneForOneConf
|
||||
sup ! Start
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong2 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong3 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingpingping") {
|
||||
messageLog
|
||||
}
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong2 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingpingpingoneforone") {
|
||||
messageLog
|
||||
}
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong2 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong3 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingpingpingoneforonepingpingping") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def testKillMultipleActorsAllForOne = {
|
||||
messageLog = ""
|
||||
val sup = getMultipleActorsAllForOneConf
|
||||
sup ! Start
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong2 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("allforoneallforoneallforone") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def tesCallKillCallMultipleActorsAllForOne = {
|
||||
messageLog = ""
|
||||
val sup = getMultipleActorsAllForOneConf
|
||||
sup ! Start
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong2 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong3 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingpingping") {
|
||||
messageLog
|
||||
}
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong2 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingpingpingallforoneallforoneallforone") {
|
||||
messageLog
|
||||
}
|
||||
expect("pong") {
|
||||
(pingpong1 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong2 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pong") {
|
||||
(pingpong3 !!! Ping).getOrElse("nil")
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("pingpingpingallforoneallforoneallforonepingpingping") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
def testTerminateFirstLevelActorAllForOne = {
|
||||
messageLog = ""
|
||||
val sup = getNestedSupervisorsAllForOneConf
|
||||
sup ! Start
|
||||
intercept(classOf[RuntimeException]) {
|
||||
pingpong1 !!! (Die, throw new RuntimeException("TIME OUT"))
|
||||
}
|
||||
Thread.sleep(100)
|
||||
expect("allforoneallforoneallforone") {
|
||||
messageLog
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// =============================================
|
||||
// Creat some supervisors with different configurations
|
||||
|
||||
def getSingleActorAllForOneSupervisor: Supervisor = {
|
||||
|
||||
// Create an abstract SupervisorContainer that works for all implementations
|
||||
// of the different Actors (Services).
|
||||
//
|
||||
// Then create a concrete container in which we mix in support for the specific
|
||||
// implementation of the Actors we want to use.
|
||||
|
||||
object factory extends TestSupervisorFactory {
|
||||
override def getSupervisorConfig: SupervisorConfig = {
|
||||
SupervisorConfig(
|
||||
RestartStrategy(AllForOne, 3, 100),
|
||||
Worker(
|
||||
pingpong1,
|
||||
LifeCycle(Permanent, 100))
|
||||
:: Nil)
|
||||
}
|
||||
}
|
||||
factory.newSupervisor
|
||||
}
|
||||
|
||||
def getSingleActorOneForOneSupervisor: Supervisor = {
|
||||
object factory extends TestSupervisorFactory {
|
||||
override def getSupervisorConfig: SupervisorConfig = {
|
||||
SupervisorConfig(
|
||||
RestartStrategy(OneForOne, 3, 100),
|
||||
Worker(
|
||||
pingpong1,
|
||||
LifeCycle(Permanent, 100))
|
||||
:: Nil)
|
||||
}
|
||||
}
|
||||
factory.newSupervisor
|
||||
}
|
||||
|
||||
def getMultipleActorsAllForOneConf: Supervisor = {
|
||||
object factory extends TestSupervisorFactory {
|
||||
override def getSupervisorConfig: SupervisorConfig = {
|
||||
SupervisorConfig(
|
||||
RestartStrategy(AllForOne, 3, 100),
|
||||
Worker(
|
||||
pingpong1,
|
||||
LifeCycle(Permanent, 100))
|
||||
::
|
||||
Worker(
|
||||
pingpong2,
|
||||
LifeCycle(Permanent, 100))
|
||||
::
|
||||
Worker(
|
||||
pingpong3,
|
||||
LifeCycle(Permanent, 100))
|
||||
:: Nil)
|
||||
}
|
||||
}
|
||||
factory.newSupervisor
|
||||
}
|
||||
|
||||
def getMultipleActorsOneForOneConf: Supervisor = {
|
||||
object factory extends TestSupervisorFactory {
|
||||
override def getSupervisorConfig: SupervisorConfig = {
|
||||
SupervisorConfig(
|
||||
RestartStrategy(OneForOne, 3, 100),
|
||||
Worker(
|
||||
pingpong1,
|
||||
LifeCycle(Permanent, 100))
|
||||
::
|
||||
Worker(
|
||||
pingpong2,
|
||||
LifeCycle(Permanent, 100))
|
||||
::
|
||||
Worker(
|
||||
pingpong3,
|
||||
LifeCycle(Permanent, 100))
|
||||
:: Nil)
|
||||
}
|
||||
}
|
||||
factory.newSupervisor
|
||||
}
|
||||
|
||||
def getNestedSupervisorsAllForOneConf: Supervisor = {
|
||||
object factory extends TestSupervisorFactory {
|
||||
override def getSupervisorConfig: SupervisorConfig = {
|
||||
SupervisorConfig(
|
||||
RestartStrategy(AllForOne, 3, 100),
|
||||
Worker(
|
||||
pingpong1,
|
||||
LifeCycle(Permanent, 100))
|
||||
::
|
||||
SupervisorConfig(
|
||||
RestartStrategy(AllForOne, 3, 100),
|
||||
Worker(
|
||||
pingpong2,
|
||||
LifeCycle(Permanent, 100))
|
||||
::
|
||||
Worker(
|
||||
pingpong3,
|
||||
LifeCycle(Permanent, 100))
|
||||
:: Nil)
|
||||
:: Nil)
|
||||
}
|
||||
}
|
||||
factory.newSupervisor
|
||||
}
|
||||
|
||||
class PingPong1Actor extends GenericServer {
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case Ping =>
|
||||
messageLog += "ping"
|
||||
reply("pong")
|
||||
case Die =>
|
||||
throw new RuntimeException("Recieved Die message")
|
||||
}
|
||||
}
|
||||
|
||||
class PingPong2Actor extends GenericServer {
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case Ping =>
|
||||
messageLog += "ping"
|
||||
reply("pong")
|
||||
case Die =>
|
||||
throw new RuntimeException("Recieved Die message")
|
||||
}
|
||||
}
|
||||
|
||||
class PingPong3Actor extends GenericServer {
|
||||
override def body: PartialFunction[Any, Unit] = {
|
||||
case Ping =>
|
||||
messageLog += "ping"
|
||||
reply("pong")
|
||||
case Die =>
|
||||
throw new RuntimeException("Recieved Die message")
|
||||
}
|
||||
}
|
||||
|
||||
// =============================================
|
||||
|
||||
class TestAllForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends AllForOneStrategy(maxNrOfRetries, withinTimeRange) {
|
||||
override def postRestart(serverContainer: GenericServerContainer) = {
|
||||
messageLog += "allforone"
|
||||
}
|
||||
}
|
||||
|
||||
class TestOneForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends OneForOneStrategy(maxNrOfRetries, withinTimeRange) {
|
||||
override def postRestart(serverContainer: GenericServerContainer) = {
|
||||
messageLog += "oneforone"
|
||||
}
|
||||
}
|
||||
|
||||
abstract class TestSupervisorFactory extends SupervisorFactory {
|
||||
override def create(strategy: RestartStrategy): Supervisor = strategy match {
|
||||
case RestartStrategy(scheme, maxNrOfRetries, timeRange) =>
|
||||
scheme match {
|
||||
case AllForOne => new Supervisor(new TestAllForOneStrategy(maxNrOfRetries, timeRange))
|
||||
case OneForOne => new Supervisor(new TestOneForOneStrategy(maxNrOfRetries, timeRange))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
92
kernel/src/test/scala/SupervisorStateSpec.scala
Executable file
92
kernel/src/test/scala/SupervisorStateSpec.scala
Executable file
|
|
@ -0,0 +1,92 @@
|
|||
/**
|
||||
* Copyright (C) 2009 Scalable Solutions.
|
||||
*/
|
||||
|
||||
package se.scalablesolutions.akka.kernel
|
||||
|
||||
import org.scalatest._
|
||||
|
||||
import scala.actors.Actor._
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class SupervisorStateSpec extends Suite {
|
||||
|
||||
val dummyActor = new GenericServer { override def body: PartialFunction[Any, Unit] = { case _ => }}
|
||||
val newDummyActor = () => dummyActor
|
||||
var state: SupervisorState = _
|
||||
var proxy: GenericServerContainer = _
|
||||
var supervisor: Supervisor = _
|
||||
|
||||
def setup = {
|
||||
proxy = new GenericServerContainer("server1", newDummyActor)
|
||||
object factory extends SupervisorFactory {
|
||||
override def getSupervisorConfig: SupervisorConfig = {
|
||||
SupervisorConfig(
|
||||
RestartStrategy(AllForOne, 3, 100),
|
||||
Worker(
|
||||
proxy,
|
||||
LifeCycle(Permanent, 100))
|
||||
:: Nil)
|
||||
}
|
||||
}
|
||||
supervisor = factory.newSupervisor
|
||||
state = new SupervisorState(supervisor, new AllForOneStrategy(3, 100))
|
||||
}
|
||||
|
||||
def testAddServer = {
|
||||
setup
|
||||
state.addServerContainer(proxy)
|
||||
state.getServerContainer("server1") match {
|
||||
case None => fail("should have returned server")
|
||||
case Some(server) =>
|
||||
assert(server != null)
|
||||
assert(server.isInstanceOf[GenericServerContainer])
|
||||
assert(proxy === server)
|
||||
}
|
||||
}
|
||||
|
||||
def testGetServer = {
|
||||
setup
|
||||
state.addServerContainer(proxy)
|
||||
state.getServerContainer("server1") match {
|
||||
case None => fail("should have returned server")
|
||||
case Some(server) =>
|
||||
assert(server != null)
|
||||
assert(server.isInstanceOf[GenericServerContainer])
|
||||
assert(proxy === server)
|
||||
}
|
||||
}
|
||||
|
||||
def testRemoveServer = {
|
||||
setup
|
||||
state.addServerContainer(proxy)
|
||||
|
||||
state.removeServerContainer("server1")
|
||||
state.getServerContainer("server1") match {
|
||||
case Some(_) => fail("should have returned None")
|
||||
case None =>
|
||||
}
|
||||
state.getServerContainer("dummyActor") match {
|
||||
case Some(_) => fail("should have returned None")
|
||||
case None =>
|
||||
}
|
||||
}
|
||||
|
||||
def testGetNonExistingServerBySymbol = {
|
||||
setup
|
||||
state.getServerContainer("server2") match {
|
||||
case Some(_) => fail("should have returned None")
|
||||
case None =>
|
||||
}
|
||||
}
|
||||
|
||||
def testGetNonExistingServerByActor = {
|
||||
setup
|
||||
state.getServerContainer("dummyActor") match {
|
||||
case Some(_) => fail("should have returned None")
|
||||
case None =>
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
|
@ -150,15 +150,9 @@ is divided into following sections:
|
|||
<attribute default="${excludes}" name="excludes"/>
|
||||
<attribute default="${javac.debug}" name="debug"/>
|
||||
<attribute default="/does/not/exist" name="sourcepath"/>
|
||||
<attribute default="/does/not/exist" name="gensrcdir"/>
|
||||
<element name="customize" optional="true"/>
|
||||
<sequential>
|
||||
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">
|
||||
<src>
|
||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
||||
<include name="*"/>
|
||||
</dirset>
|
||||
</src>
|
||||
<classpath>
|
||||
<path path="@{classpath}"/>
|
||||
</classpath>
|
||||
|
|
@ -286,13 +280,12 @@ is divided into following sections:
|
|||
<target name="-init-macrodef-java">
|
||||
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
|
||||
<attribute default="${main.class}" name="classname"/>
|
||||
<attribute default="${run.classpath}" name="classpath"/>
|
||||
<element name="customize" optional="true"/>
|
||||
<sequential>
|
||||
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
||||
<jvmarg line="${run.jvmargs}"/>
|
||||
<classpath>
|
||||
<path path="@{classpath}"/>
|
||||
<path path="${run.classpath}"/>
|
||||
</classpath>
|
||||
<syspropertyset>
|
||||
<propertyref prefix="run-sys-prop."/>
|
||||
|
|
@ -332,15 +325,10 @@ is divided into following sections:
|
|||
<!-- You can override this target in the ../build.xml file. -->
|
||||
</target>
|
||||
<target if="do.depend.true" name="-compile-depend">
|
||||
<pathconvert property="build.generated.subdirs">
|
||||
<dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
||||
<include name="*"/>
|
||||
</dirset>
|
||||
</pathconvert>
|
||||
<j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
|
||||
<j2seproject3:depend/>
|
||||
</target>
|
||||
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
|
||||
<j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
|
||||
<j2seproject3:javac/>
|
||||
<copy todir="${build.classes.dir}">
|
||||
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
|
||||
</copy>
|
||||
|
|
@ -357,7 +345,7 @@ is divided into following sections:
|
|||
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
|
||||
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
||||
<j2seproject3:force-recompile/>
|
||||
<j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
|
||||
<j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/>
|
||||
</target>
|
||||
<target name="-post-compile-single">
|
||||
<!-- Empty placeholder for easier customization. -->
|
||||
|
|
@ -447,10 +435,6 @@ is divided into following sections:
|
|||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
||||
<j2seproject1:java classname="${run.class}"/>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-test-single" name="run-test-with-main">
|
||||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
||||
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
|
||||
</target>
|
||||
<!--
|
||||
=================
|
||||
DEBUGGING SECTION
|
||||
|
|
@ -459,9 +443,6 @@ is divided into following sections:
|
|||
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
||||
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
||||
</target>
|
||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
|
||||
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
|
||||
</target>
|
||||
<target depends="init,compile" name="-debug-start-debuggee">
|
||||
<j2seproject3:debug>
|
||||
<customize>
|
||||
|
|
@ -479,11 +460,6 @@ is divided into following sections:
|
|||
<j2seproject3:debug classname="${debug.class}"/>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
|
||||
<target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
|
||||
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
|
||||
<j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
|
||||
<target depends="init" name="-pre-debug-fix">
|
||||
<fail unless="fix.includes">Must set fix.includes</fail>
|
||||
<property name="javac.includes" value="${fix.includes}.java"/>
|
||||
|
|
@ -506,9 +482,6 @@ is divided into following sections:
|
|||
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
|
||||
<filename name="**/*.java"/>
|
||||
</fileset>
|
||||
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
||||
<include name="**/*.java"/>
|
||||
</fileset>
|
||||
</javadoc>
|
||||
</target>
|
||||
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
|
||||
|
|
@ -566,7 +539,7 @@ is divided into following sections:
|
|||
<j2seproject3:junit testincludes="**/*Test.java"/>
|
||||
</target>
|
||||
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
|
||||
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
||||
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
||||
</target>
|
||||
<target depends="init" if="have.tests" name="test-report"/>
|
||||
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
|
||||
|
|
@ -579,7 +552,7 @@ is divided into following sections:
|
|||
<j2seproject3:junit excludes="" includes="${test.includes}"/>
|
||||
</target>
|
||||
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
|
||||
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
||||
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
||||
</target>
|
||||
<target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=958a1d3e
|
|||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||
nbproject/build-impl.xml.data.CRC32=30ca9bc2
|
||||
nbproject/build-impl.xml.script.CRC32=7c31e977
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=d5ddc080@1.24.0.45
|
||||
nbproject/build-impl.xml.script.CRC32=595e16a7
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=65b8de21
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
compile.on.save=true
|
||||
jaxws.endorsed.dir=/home/jboner/bin/netbeans-dev-200903220201/java2/modules/ext/jaxws21/api:/home/jboner/bin/netbeans-dev-200903220201/ide11/modules/ext/jaxb/api
|
||||
user.properties.file=/home/jboner/.netbeans/dev/build.properties
|
||||
jaxws.endorsed.dir=C:\\Program Files\\NetBeans 6.5.1\\java2\\modules\\ext\\jaxws21\\api:C:\\Program Files\\NetBeans 6.5.1\\ide10\\modules\\ext\\jaxb\\api
|
||||
user.properties.file=C:\\Documents and Settings\\jboner\\.netbeans\\6.5\\build.properties
|
||||
|
|
|
|||
12
util-java/util-java.iml
Executable file
12
util-java/util-java.iml
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module relativePaths="true" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue