[jboss-svn-commits] JBL Code SVN: r38107 - in labs/jbosstm/workspace/mlittle: TxAndroid and 27 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun May 27 17:17:37 EDT 2012


Author: mark.little at jboss.com
Date: 2012-05-27 17:17:36 -0400 (Sun, 27 May 2012)
New Revision: 38107

Added:
   labs/jbosstm/workspace/mlittle/TxAndroid/
   labs/jbosstm/workspace/mlittle/TxAndroid/.classpath
   labs/jbosstm/workspace/mlittle/TxAndroid/.project
   labs/jbosstm/workspace/mlittle/TxAndroid/.settings/
   labs/jbosstm/workspace/mlittle/TxAndroid/.settings/org.eclipse.jdt.core.prefs
   labs/jbosstm/workspace/mlittle/TxAndroid/AndroidManifest.xml
   labs/jbosstm/workspace/mlittle/TxAndroid/assets/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/TxAndroid.apk
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes.dex
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/AtomicObject.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/BuildConfig.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/HelloAndroid.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$attr.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$drawable.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$layout.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$string.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/AtomicObject.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/HelloAndroid.class
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/jarlist.cache
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-hdpi/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-hdpi/icon.png
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-ldpi/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-ldpi/icon.png
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-mdpi/
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-mdpi/icon.png
   labs/jbosstm/workspace/mlittle/TxAndroid/bin/resources.ap_
   labs/jbosstm/workspace/mlittle/TxAndroid/gen/
   labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/
   labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/
   labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/
   labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/BuildConfig.java
   labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/R.java
   labs/jbosstm/workspace/mlittle/TxAndroid/proguard.cfg
   labs/jbosstm/workspace/mlittle/TxAndroid/project.properties
   labs/jbosstm/workspace/mlittle/TxAndroid/res/
   labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-hdpi/
   labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-hdpi/icon.png
   labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-ldpi/
   labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-ldpi/icon.png
   labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-mdpi/
   labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-mdpi/icon.png
   labs/jbosstm/workspace/mlittle/TxAndroid/res/layout/
   labs/jbosstm/workspace/mlittle/TxAndroid/res/layout/main.xml
   labs/jbosstm/workspace/mlittle/TxAndroid/res/values/
   labs/jbosstm/workspace/mlittle/TxAndroid/res/values/strings.xml
   labs/jbosstm/workspace/mlittle/TxAndroid/src/
   labs/jbosstm/workspace/mlittle/TxAndroid/src/com/
   labs/jbosstm/workspace/mlittle/TxAndroid/src/com/example/
   labs/jbosstm/workspace/mlittle/TxAndroid/src/com/example/helloandroid/
   labs/jbosstm/workspace/mlittle/TxAndroid/src/com/example/helloandroid/HelloAndroid.java
Log:
Initial transactional android example.

Added: labs/jbosstm/workspace/mlittle/TxAndroid/.classpath
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/.classpath	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/.classpath	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: labs/jbosstm/workspace/mlittle/TxAndroid/.project
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/.project	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/.project	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>TxAndroid</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbosstm/workspace/mlittle/TxAndroid/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/.settings/org.eclipse.jdt.core.prefs	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,12 @@
+#Sun May 27 20:03:35 BST 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

Added: labs/jbosstm/workspace/mlittle/TxAndroid/AndroidManifest.xml
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/AndroidManifest.xml	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/AndroidManifest.xml	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+      package="com.example.helloandroid"
+      android:versionCode="1"
+      android:versionName="1.0">
+
+
+    <application android:icon="@drawable/icon" android:label="@string/app_name">
+        <activity android:name=".HelloAndroid"
+                  android:label="@string/app_name">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+    </application>
+    
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+</manifest>
\ No newline at end of file

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/TxAndroid.apk
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/TxAndroid.apk
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/AtomicObject.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/AtomicObject.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/BuildConfig.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/BuildConfig.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/HelloAndroid.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/HelloAndroid.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$attr.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$attr.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$drawable.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$drawable.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$layout.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$layout.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$string.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R$string.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes/com/example/helloandroid/R.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes.dex
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/classes.dex
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/AtomicObject.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/AtomicObject.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/HelloAndroid.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/com/example/helloandroid/HelloAndroid.class
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/jarlist.cache
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/bin/jarlist.cache	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/bin/jarlist.cache	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,3 @@
+# cache for current jar dependecy. DO NOT EDIT.
+# format is <lastModified> <length> <SHA-1> <path>
+# Encoding is UTF-8

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-hdpi/icon.png
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-hdpi/icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-ldpi/icon.png
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-ldpi/icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-mdpi/icon.png
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/res/drawable-mdpi/icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/bin/resources.ap_
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/bin/resources.ap_
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/BuildConfig.java
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/BuildConfig.java	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/BuildConfig.java	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,6 @@
+/** Automatically generated file. DO NOT MODIFY */
+package com.example.helloandroid;
+
+public final class BuildConfig {
+    public final static boolean DEBUG = true;
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/R.java
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/R.java	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/gen/com/example/helloandroid/R.java	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,23 @@
+/* AUTO-GENERATED FILE.  DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found.  It
+ * should not be modified by hand.
+ */
+
+package com.example.helloandroid;
+
+public final class R {
+    public static final class attr {
+    }
+    public static final class drawable {
+        public static final int icon=0x7f020000;
+    }
+    public static final class layout {
+        public static final int main=0x7f030000;
+    }
+    public static final class string {
+        public static final int app_name=0x7f040001;
+        public static final int hello=0x7f040000;
+    }
+}

Added: labs/jbosstm/workspace/mlittle/TxAndroid/proguard.cfg
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/proguard.cfg	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/proguard.cfg	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,36 @@
+-optimizationpasses 5
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontpreverify
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class com.android.vending.licensing.ILicensingService
+
+-keepclasseswithmembernames class * {
+    native <methods>;
+}
+
+-keepclasseswithmembernames class * {
+    public <init>(android.content.Context, android.util.AttributeSet);
+}
+
+-keepclasseswithmembernames class * {
+    public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+
+-keepclassmembers enum * {
+    public static **[] values();
+    public static ** valueOf(java.lang.String);
+}
+
+-keep class * implements android.os.Parcelable {
+  public static final android.os.Parcelable$Creator *;
+}

Added: labs/jbosstm/workspace/mlittle/TxAndroid/project.properties
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/project.properties	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/project.properties	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,14 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system edit
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+#
+# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
+#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
+
+# Project target.
+target=android-10

Added: labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-hdpi/icon.png
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-hdpi/icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-ldpi/icon.png
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-ldpi/icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-mdpi/icon.png
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/mlittle/TxAndroid/res/drawable-mdpi/icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/mlittle/TxAndroid/res/layout/main.xml
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/res/layout/main.xml	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/res/layout/main.xml	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    >
+<TextView  
+    android:layout_width="fill_parent" 
+    android:layout_height="wrap_content" 
+    android:text="@string/hello"
+    />
+</LinearLayout>

Added: labs/jbosstm/workspace/mlittle/TxAndroid/res/values/strings.xml
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/res/values/strings.xml	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/res/values/strings.xml	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="hello">Hello World, HelloAndroid!</string>
+    <string name="app_name">Hello, Android</string>
+</resources>

Added: labs/jbosstm/workspace/mlittle/TxAndroid/src/com/example/helloandroid/HelloAndroid.java
===================================================================
--- labs/jbosstm/workspace/mlittle/TxAndroid/src/com/example/helloandroid/HelloAndroid.java	                        (rev 0)
+++ labs/jbosstm/workspace/mlittle/TxAndroid/src/com/example/helloandroid/HelloAndroid.java	2012-05-27 21:17:36 UTC (rev 38107)
@@ -0,0 +1,231 @@
+package com.example.helloandroid;
+
+import java.io.IOException;
+
+import com.arjuna.ats.arjuna.AtomicAction;
+import com.arjuna.ats.arjuna.ObjectModel;
+import com.arjuna.ats.arjuna.ObjectType;
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.ats.arjuna.coordinator.ActionStatus;
+import com.arjuna.ats.arjuna.state.InputObjectState;
+import com.arjuna.ats.arjuna.state.OutputObjectState;
+import com.arjuna.ats.txoj.Lock;
+import com.arjuna.ats.txoj.LockManager;
+import com.arjuna.ats.txoj.LockMode;
+import com.arjuna.ats.txoj.LockResult;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.TextView;
+
+class AtomicObject extends LockManager
+{
+    public AtomicObject()
+    {
+        this(ObjectModel.SINGLE);
+    }
+
+    public AtomicObject(int om)
+    {
+        super(ObjectType.ANDPERSISTENT, om);
+
+        state = 0;
+
+        AtomicAction A = new AtomicAction();
+
+        A.begin();
+
+        if (setlock(new Lock(LockMode.WRITE), 0) == LockResult.GRANTED)
+        {
+            if (A.commit() == ActionStatus.COMMITTED)
+                System.out.println("Created persistent object " + get_uid());
+            else
+                System.out.println("Action.commit error.");
+        }
+        else
+        {
+            A.abort();
+
+            System.out.println("setlock error.");
+        }
+    }
+
+    public AtomicObject(Uid u)
+    {
+        this(u, ObjectModel.SINGLE);
+    }
+
+    public AtomicObject(Uid u, int om)
+    {
+        super(u, ObjectType.ANDPERSISTENT, om);
+
+        state = -1;
+
+        AtomicAction A = new AtomicAction();
+
+        A.begin();
+
+        if (setlock(new Lock(LockMode.READ), 0) == LockResult.GRANTED)
+        {
+            System.out.println("Recreated object " + u);
+            A.commit();
+        }
+        else
+        {
+            System.out.println("Error recreating object " + u);
+            A.abort();
+        }
+    }
+
+    public int getRetry ()
+    {
+        return retry;
+    }
+    
+    public void setRetry (int t)
+    {
+        retry = t;
+    }
+    
+    public void terminate ()
+    {
+        super.terminate();
+    }
+    
+    public void incr (int value)
+    {
+        AtomicAction A = new AtomicAction();
+
+        A.begin();
+
+        if (setlock(new Lock(LockMode.WRITE), retry) == LockResult.GRANTED)
+        {
+            state += value;
+
+            if (A.commit() != ActionStatus.COMMITTED)
+                System.err.println("Action commit error.");
+            else
+                return;
+        }
+
+        A.abort();
+    }
+
+    public void set (int value)
+    {
+        AtomicAction A = new AtomicAction();
+
+        A.begin();
+
+        if (setlock(new Lock(LockMode.WRITE), retry) == LockResult.GRANTED)
+        {
+            state = value;
+
+            if (A.commit() != ActionStatus.COMMITTED)
+                System.err.println("Action commit error.");
+            else
+                return;
+        }
+
+        A.abort();
+    }
+
+    public int get ()
+    {
+        AtomicAction A = new AtomicAction();
+        int value = -1;
+
+        A.begin();
+
+        if (setlock(new Lock(LockMode.READ), retry) == LockResult.GRANTED)
+        {
+            value = state;
+
+            if (A.commit() == ActionStatus.COMMITTED)
+                return value;
+            else
+                System.err.println("Action commit error.");
+        }
+
+        A.abort();
+        
+        return -1;
+    }
+
+    public boolean save_state (OutputObjectState os, int ot)
+    {
+        boolean result = super.save_state(os, ot);
+
+        if (!result)
+            return false;
+
+        try
+        {
+            os.packInt(state);
+        }
+        catch (IOException e)
+        {
+            result = false;
+        }
+
+        return result;
+    }
+
+    public boolean restore_state (InputObjectState os, int ot)
+    {
+        boolean result = super.restore_state(os, ot);
+
+        if (!result)
+            return false;
+
+        try
+        {
+            state = os.unpackInt();
+        }
+        catch (IOException e)
+        {
+            result = false;
+        }
+
+        return result;
+    }
+
+    public String type ()
+    {
+        return "/StateManager/LockManager/AtomicObject";
+    }
+
+    private int state;
+    private int retry = 0;
+}
+
+public class HelloAndroid extends Activity {
+   /** Called when the activity is first created. */
+   @Override
+   public void onCreate(Bundle savedInstanceState) {
+       
+       super.onCreate(savedInstanceState);
+       TextView tv = new TextView(this);
+
+       AtomicAction act = new AtomicAction();
+       
+       act.begin();
+       
+       act.abort();
+       
+       //tv.setText("Hello, TxAndroid created "+act.toString());
+ 
+       AtomicAction A = new AtomicAction();
+       AtomicObject foo = new AtomicObject();
+       
+           A.begin();
+
+           foo.set(2);
+
+           A.commit();
+       
+           tv.setText("Hello, TxAndroid created "+A.toString()+" and got "+foo.get());
+           
+       setContentView(tv);
+   }
+}
\ No newline at end of file



More information about the jboss-svn-commits mailing list