Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
S
super-appium
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open-source
super-appium
Commits
8147e17a
Commit
8147e17a
authored
Aug 26, 2019
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
udpate
parent
f0dc02a6
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
83 additions
and
85 deletions
+83
-85
SuperAppiumDumper.java
...c/main/java/com/virjar/superappium/SuperAppiumDumper.java
+8
-8
ViewImage.java
...ppium/src/main/java/com/virjar/superappium/ViewImage.java
+14
-14
LazyValueGetter.java
...ain/java/com/virjar/superappium/lazy/LazyValueGetter.java
+3
-3
ValueGetter.java
...rc/main/java/com/virjar/superappium/lazy/ValueGetter.java
+2
-2
ValueGetters.java
...c/main/java/com/virjar/superappium/lazy/ValueGetters.java
+6
-6
Values.java
...ium/src/main/java/com/virjar/superappium/lazy/Values.java
+0
-2
HintGetter.java
...in/java/com/virjar/superappium/lazy/basic/HintGetter.java
+3
-3
ImageUriGetter.java
...ava/com/virjar/superappium/lazy/basic/ImageUriGetter.java
+3
-3
TextGetter.java
...in/java/com/virjar/superappium/lazy/basic/TextGetter.java
+3
-3
ClassNameGetter.java
...ava/com/virjar/superappium/lazy/view/ClassNameGetter.java
+3
-3
ClickableValueGetter.java
...om/virjar/superappium/lazy/view/ClickableValueGetter.java
+3
-3
ContentDescriptionValueGetter.java
.../superappium/lazy/view/ContentDescriptionValueGetter.java
+3
-3
EnabledValueGetter.java
.../com/virjar/superappium/lazy/view/EnabledValueGetter.java
+3
-3
FocusableValueGetter.java
...om/virjar/superappium/lazy/view/FocusableValueGetter.java
+3
-3
IdGetter.java
.../main/java/com/virjar/superappium/lazy/view/IdGetter.java
+3
-3
IndexGetter.java
...in/java/com/virjar/superappium/lazy/view/IndexGetter.java
+3
-3
LongClickableValueGetter.java
...irjar/superappium/lazy/view/LongClickableValueGetter.java
+3
-3
PackageNameValueGetter.java
.../virjar/superappium/lazy/view/PackageNameValueGetter.java
+3
-3
SelectedValueGetter.java
...com/virjar/superappium/lazy/view/SelectedValueGetter.java
+3
-3
XNode.java
...c/main/java/com/virjar/superappium/xpath/model/XNode.java
+6
-6
XpathEvaluator.java
...va/com/virjar/superappium/xpath/model/XpathEvaluator.java
+5
-5
No files found.
super-appium/src/main/java/com/virjar/superappium/SuperAppiumDumper.java
View file @
8147e17a
...
...
@@ -14,7 +14,7 @@ import java.io.IOException;
import
java.io.StringWriter
;
public
class
SuperAppiumDumper
{
public
static
String
dumpToXml
(
View
Model
viewModel
)
{
public
static
String
dumpToXml
(
View
Image
viewImage
)
{
try
{
XmlSerializer
serializer
=
Xml
.
newSerializer
();
StringWriter
stringWriter
=
new
StringWriter
();
...
...
@@ -22,7 +22,7 @@ public class SuperAppiumDumper {
serializer
.
startDocument
(
"UTF-8"
,
true
);
serializer
.
startTag
(
""
,
"hierarchy"
);
serializer
.
attribute
(
""
,
"comment"
,
"dumped by super-appium, notice this not compatible with uiautomator"
);
dumpNodeRec
(
view
Model
,
serializer
);
dumpNodeRec
(
view
Image
,
serializer
);
serializer
.
endTag
(
""
,
"hierarchy"
);
serializer
.
endDocument
();
return
stringWriter
.
toString
();
...
...
@@ -32,7 +32,7 @@ public class SuperAppiumDumper {
return
null
;
}
private
static
void
dumpNodeRec
(
View
Model
node
,
XmlSerializer
serializer
)
throws
IOException
{
private
static
void
dumpNodeRec
(
View
Image
node
,
XmlSerializer
serializer
)
throws
IOException
{
String
tag
=
String
.
valueOf
(
node
.
attribute
(
Constants
.
className
));
serializer
.
startTag
(
""
,
tag
);
for
(
String
attrKey
:
node
.
attributeKeys
())
{
...
...
@@ -48,7 +48,7 @@ public class SuperAppiumDumper {
int
count
=
node
.
childCount
();
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
View
Model
child
=
node
.
childAt
(
i
);
View
Image
child
=
node
.
childAt
(
i
);
if
(
child
!=
null
)
{
dumpNodeRec
(
child
,
serializer
);
}
else
{
...
...
@@ -59,13 +59,13 @@ public class SuperAppiumDumper {
serializer
.
endTag
(
""
,
tag
);
}
public
static
String
dumpToJson
(
View
Model
viewModel
)
{
public
static
String
dumpToJson
(
View
Image
viewImage
)
{
JSONObject
jsonObject
=
new
JSONObject
();
dumpNodeRec
(
view
Model
,
jsonObject
);
dumpNodeRec
(
view
Image
,
jsonObject
);
return
jsonObject
.
toString
();
}
private
static
void
dumpNodeRec
(
View
Model
node
,
JSONObject
container
)
{
private
static
void
dumpNodeRec
(
View
Image
node
,
JSONObject
container
)
{
for
(
String
attrKey
:
node
.
attributeKeys
())
{
Object
value
=
node
.
attribute
(
attrKey
);
if
(
value
==
null
)
{
...
...
@@ -83,7 +83,7 @@ public class SuperAppiumDumper {
}
JSONArray
jsonArray
=
new
JSONArray
();
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
View
Model
child
=
node
.
childAt
(
i
);
View
Image
child
=
node
.
childAt
(
i
);
if
(
child
==
null
)
{
jsonArray
.
put
((
Object
)
null
);
}
else
{
...
...
super-appium/src/main/java/com/virjar/superappium/View
Model
.java
→
super-appium/src/main/java/com/virjar/superappium/View
Image
.java
View file @
8147e17a
...
...
@@ -10,14 +10,14 @@ import com.virjar.superappium.util.Constants;
import
java.util.Collection
;
import
java.util.Map
;
public
class
View
Model
{
public
class
View
Image
{
private
View
originView
;
private
Map
<
String
,
ValueGetter
>
attributes
;
private
View
Model
parent
=
null
;
private
View
Image
parent
=
null
;
private
ValueGetter
<
String
>
type
;
private
int
indexOfParent
=
-
1
;
public
View
Model
(
View
originView
)
{
public
View
Image
(
View
originView
)
{
this
.
originView
=
originView
;
attributes
=
ValueGetters
.
valueGetters
(
this
);
type
=
attrName
(
Constants
.
className
);
...
...
@@ -60,25 +60,25 @@ public class ViewModel {
return
theChildCount
;
}
private
View
Model
[]
children
;
private
View
Image
[]
children
;
public
View
Model
childAt
(
int
index
)
{
public
View
Image
childAt
(
int
index
)
{
if
(
childCount
()
<
0
)
{
throw
new
IllegalStateException
(
"can not parse child node for none ViewGroup object!!"
);
}
if
(
children
==
null
)
{
children
=
new
View
Model
[
childCount
()];
children
=
new
View
Image
[
childCount
()];
}
View
Model
viewModel
=
children
[
index
];
if
(
view
Model
!=
null
)
{
return
view
Model
;
View
Image
viewImage
=
children
[
index
];
if
(
view
Image
!=
null
)
{
return
view
Image
;
}
ViewGroup
viewGroup
=
(
ViewGroup
)
originView
;
view
Model
=
new
ViewModel
(
viewGroup
.
getChildAt
(
index
));
view
Model
.
parent
=
this
;
view
Model
.
indexOfParent
=
index
;
children
[
index
]
=
view
Model
;
return
view
Model
;
view
Image
=
new
ViewImage
(
viewGroup
.
getChildAt
(
index
));
view
Image
.
parent
=
this
;
view
Image
.
indexOfParent
=
index
;
children
[
index
]
=
view
Image
;
return
view
Image
;
}
public
Integer
index
()
{
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/LazyValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
public
class
LazyValueGetter
<
T
>
implements
ValueGetter
{
private
ValueGetter
<
T
>
delegate
;
...
...
@@ -18,7 +18,7 @@ public class LazyValueGetter<T> implements ValueGetter {
}
@Override
public
Object
get
(
View
Model
viewModel
)
{
public
Object
get
(
View
Image
viewImage
)
{
if
(
hasDelegateCalled
)
{
return
theValue
;
}
...
...
@@ -26,7 +26,7 @@ public class LazyValueGetter<T> implements ValueGetter {
if
(
hasDelegateCalled
)
{
return
theValue
;
}
theValue
=
delegate
.
get
(
view
Model
);
theValue
=
delegate
.
get
(
view
Image
);
hasDelegateCalled
=
true
;
}
return
theValue
;
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/ValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
public
interface
ValueGetter
<
T
>
{
T
get
(
View
Model
viewModel
);
T
get
(
View
Image
viewImage
);
boolean
support
(
Class
type
);
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/ValueGetters.java
View file @
8147e17a
...
...
@@ -2,7 +2,7 @@ package com.virjar.superappium.lazy;
import
android.view.View
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.basic.HintGetter
;
import
com.virjar.superappium.lazy.basic.ImageUriGetter
;
import
com.virjar.superappium.lazy.basic.TextGetter
;
...
...
@@ -55,18 +55,18 @@ public class ValueGetters {
private
static
Map
<
Class
<?
extends
View
>,
Map
<
String
,
ValueGetter
>>
cache
=
new
HashMap
<>();
public
static
Map
<
String
,
ValueGetter
>
valueGetters
(
View
Model
viewModel
)
{
Class
<?
extends
View
>
aClass
=
view
Model
.
getOriginView
().
getClass
();
public
static
Map
<
String
,
ValueGetter
>
valueGetters
(
View
Image
viewImage
)
{
Class
<?
extends
View
>
aClass
=
view
Image
.
getOriginView
().
getClass
();
boolean
saveCache
=
false
;
if
(
aClass
.
getClassLoader
().
equals
(
View
.
class
.
getClassLoader
()))
{
saveCache
=
true
;
}
return
valueGetters
(
view
Model
,
saveCache
);
return
valueGetters
(
view
Image
,
saveCache
);
}
@SuppressWarnings
(
"unchecked"
)
public
static
Map
<
String
,
ValueGetter
>
valueGetters
(
View
Model
viewModel
,
boolean
saveCache
)
{
Class
<?
extends
View
>
theClass
=
view
Model
.
getOriginView
().
getClass
();
public
static
Map
<
String
,
ValueGetter
>
valueGetters
(
View
Image
viewImage
,
boolean
saveCache
)
{
Class
<?
extends
View
>
theClass
=
view
Image
.
getOriginView
().
getClass
();
Map
<
String
,
ValueGetter
>
rule
;
if
(
cache
.
containsKey
(
theClass
))
{
rule
=
cache
.
get
(
theClass
);
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/Values.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
;
import
com.virjar.superappium.ViewModel
;
public
class
Values
{
// public static ValueGetter<String> className(ViewModel view) {
// return cache(new ClassNameGetter(view.getOriginView()));
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/basic/HintGetter.java
View file @
8147e17a
...
...
@@ -2,14 +2,14 @@ package com.virjar.superappium.lazy.basic;
import
android.widget.TextView
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
HintGetter
implements
ValueGetter
{
@Override
public
Object
get
(
View
Model
viewModel
)
{
TextView
textView
=
(
TextView
)
view
Model
.
getOriginView
();
public
Object
get
(
View
Image
viewImage
)
{
TextView
textView
=
(
TextView
)
view
Image
.
getOriginView
();
CharSequence
hint
=
textView
.
getHint
();
if
(
hint
==
null
)
{
return
null
;
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/basic/ImageUriGetter.java
View file @
8147e17a
...
...
@@ -2,15 +2,15 @@ package com.virjar.superappium.lazy.basic;
import
android.widget.ImageView
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
import
com.virjar.superappium.util.ReflectUtil
;
public
class
ImageUriGetter
implements
ValueGetter
{
@Override
public
Object
get
(
View
Model
viewModel
)
{
return
ReflectUtil
.
getFieldValue
(
view
Model
.
getOriginView
(),
"mUri"
);
public
Object
get
(
View
Image
viewImage
)
{
return
ReflectUtil
.
getFieldValue
(
view
Image
.
getOriginView
(),
"mUri"
);
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/basic/TextGetter.java
View file @
8147e17a
...
...
@@ -2,14 +2,14 @@ package com.virjar.superappium.lazy.basic;
import
android.widget.TextView
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
TextGetter
implements
ValueGetter
<
String
>
{
@Override
public
String
get
(
View
Model
viewModel
)
{
TextView
textView
=
(
TextView
)
view
Model
.
getOriginView
();
public
String
get
(
View
Image
viewImage
)
{
TextView
textView
=
(
TextView
)
view
Image
.
getOriginView
();
CharSequence
text
=
textView
.
getText
();
if
(
text
==
null
)
{
return
null
;
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/ClassNameGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
ClassNameGetter
implements
ValueGetter
<
String
>
{
@Override
public
String
get
(
View
Model
viewModel
)
{
return
view
Model
.
getOriginView
().
getClass
().
getName
();
public
String
get
(
View
Image
viewImage
)
{
return
view
Image
.
getOriginView
().
getClass
().
getName
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/ClickableValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
ClickableValueGetter
implements
ValueGetter
<
Boolean
>
{
@Override
public
Boolean
get
(
View
Model
viewModel
)
{
return
view
Model
.
getOriginView
().
isClickable
();
public
Boolean
get
(
View
Image
viewImage
)
{
return
view
Image
.
getOriginView
().
isClickable
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/ContentDescriptionValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
ContentDescriptionValueGetter
implements
ValueGetter
<
String
>
{
@Override
public
String
get
(
View
Model
viewModel
)
{
CharSequence
contentDescription
=
view
Model
.
getOriginView
().
getContentDescription
();
public
String
get
(
View
Image
viewImage
)
{
CharSequence
contentDescription
=
view
Image
.
getOriginView
().
getContentDescription
();
if
(
contentDescription
==
null
)
{
return
null
;
}
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/EnabledValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
EnabledValueGetter
implements
ValueGetter
<
Boolean
>
{
@Override
public
Boolean
get
(
View
Model
viewModel
)
{
return
view
Model
.
getOriginView
().
isEnabled
();
public
Boolean
get
(
View
Image
viewImage
)
{
return
view
Image
.
getOriginView
().
isEnabled
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/FocusableValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
FocusableValueGetter
implements
ValueGetter
<
Boolean
>
{
@Override
public
Boolean
get
(
View
Model
viewModel
)
{
return
view
Model
.
getOriginView
().
isFocusable
();
public
Boolean
get
(
View
Image
viewImage
)
{
return
view
Image
.
getOriginView
().
isFocusable
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/IdGetter.java
View file @
8147e17a
...
...
@@ -2,14 +2,14 @@ package com.virjar.superappium.lazy.view;
import
android.view.View
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
IdGetter
implements
ValueGetter
<
String
>
{
@Override
public
String
get
(
View
Model
viewModel
)
{
View
originView
=
view
Model
.
getOriginView
();
public
String
get
(
View
Image
viewImage
)
{
View
originView
=
view
Image
.
getOriginView
();
int
id
=
originView
.
getId
();
if
(
id
<=
0
)
{
return
null
;
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/IndexGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
IndexGetter
implements
ValueGetter
<
Integer
>
{
@Override
public
Integer
get
(
View
Model
viewModel
)
{
return
view
Model
.
index
();
public
Integer
get
(
View
Image
viewImage
)
{
return
view
Image
.
index
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/LongClickableValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
LongClickableValueGetter
implements
ValueGetter
<
Boolean
>
{
@Override
public
Boolean
get
(
View
Model
viewModel
)
{
return
view
Model
.
getOriginView
().
isLongClickable
();
public
Boolean
get
(
View
Image
viewImage
)
{
return
view
Image
.
getOriginView
().
isLongClickable
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/PackageNameValueGetter.java
View file @
8147e17a
...
...
@@ -3,7 +3,7 @@ package com.virjar.superappium.lazy.view;
import
android.content.Context
;
import
android.view.View
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
import
com.virjar.superappium.util.ReflectUtil
;
...
...
@@ -11,8 +11,8 @@ import com.virjar.superappium.util.ReflectUtil;
public
class
PackageNameValueGetter
implements
ValueGetter
<
String
>
{
@Override
public
String
get
(
View
Model
viewModel
)
{
View
originView
=
view
Model
.
getOriginView
();
public
String
get
(
View
Image
viewImage
)
{
View
originView
=
view
Image
.
getOriginView
();
Context
context
=
ReflectUtil
.
getFieldValue
(
originView
,
"mContext"
);
return
context
.
getPackageName
();
}
...
...
super-appium/src/main/java/com/virjar/superappium/lazy/view/SelectedValueGetter.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
lazy
.
view
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
com.virjar.superappium.lazy.ValueGetter
;
import
com.virjar.superappium.util.Constants
;
public
class
SelectedValueGetter
implements
ValueGetter
<
Boolean
>
{
@Override
public
Boolean
get
(
View
Model
viewModel
)
{
return
view
Model
.
getOriginView
().
isSelected
();
public
Boolean
get
(
View
Image
viewImage
)
{
return
view
Image
.
getOriginView
().
isSelected
();
}
@Override
...
...
super-appium/src/main/java/com/virjar/superappium/xpath/model/XNode.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
xpath
.
model
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
public
class
XNode
{
public
enum
NodeType
{
NODE
,
TEXT
}
private
View
Model
element
;
private
View
Image
element
;
private
boolean
isText
;
private
String
textVal
;
public
View
Model
getElement
()
{
public
View
Image
getElement
()
{
return
element
;
}
public
XNode
setElement
(
View
Model
element
)
{
public
XNode
setElement
(
View
Image
element
)
{
this
.
element
=
element
;
return
this
;
}
...
...
@@ -38,9 +38,9 @@ public class XNode {
return
this
;
}
public
static
XNode
e
(
View
Model
viewModel
)
{
public
static
XNode
e
(
View
Image
viewImage
)
{
XNode
xNode
=
new
XNode
();
xNode
.
setElement
(
view
Model
).
setText
(
false
);
xNode
.
setElement
(
view
Image
).
setText
(
false
);
return
xNode
;
}
...
...
super-appium/src/main/java/com/virjar/superappium/xpath/model/XpathEvaluator.java
View file @
8147e17a
package
com
.
virjar
.
superappium
.
xpath
.
model
;
import
com.virjar.superappium.View
Model
;
import
com.virjar.superappium.View
Image
;
import
java.util.Iterator
;
import
java.util.LinkedList
;
...
...
@@ -39,15 +39,15 @@ public abstract class XpathEvaluator {
private
List
<
XNode
>
handleNode
(
List
<
XNode
>
input
,
final
XpathNode
xpathNode
)
{
// 目前只支持对element元素进行抽取,如果中途抽取到了文本,则会断节
List
<
View
Model
>
elements
=
XpathUtil
.
transformToElement
(
input
);
List
<
View
Model
>
contextElements
;
List
<
View
Image
>
elements
=
XpathUtil
.
transformToElement
(
input
);
List
<
View
Image
>
contextElements
;
// 轴
AxisFunction
axis
=
xpathNode
.
getAxis
();
if
(
axis
!=
null
)
{
contextElements
=
Lists
.
newLinkedList
();
for
(
View
Model
element
:
elements
)
{
View
Model
call
=
axis
.
call
(
element
,
xpathNode
.
getAxisParams
());
for
(
View
Image
element
:
elements
)
{
View
Image
call
=
axis
.
call
(
element
,
xpathNode
.
getAxisParams
());
if
(
call
!=
null
)
{
contextElements
.
addAll
(
call
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment