[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