Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Genesys PGR
Genesys Backend
Commits
253b4231
Commit
253b4231
authored
Mar 19, 2015
by
Matija Obreza
Committed by
Matija Obreza
Oct 19, 2015
Browse files
Filter by list.UUID (converts UUID to byte[])
parent
d1099c48
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/genesys2/server/service/impl/DirectMysqlQuery.java
View file @
253b4231
...
...
@@ -16,10 +16,13 @@
package
org.genesys2.server.service.impl
;
import
java.nio.ByteBuffer
;
import
java.nio.ByteOrder
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.UUID
;
import
org.apache.commons.lang.ArrayUtils
;
import
org.apache.commons.lang.StringUtils
;
...
...
@@ -102,7 +105,7 @@ public class DirectMysqlQuery {
protected
DirectMysqlQuery
join
(
AppliedFilters
filters
)
{
if
(
hasFilter
(
filters
,
FilterConstants
.
LIST
))
{
innerJoin
(
"accelistitem"
,
"ali"
,
"ali.acceid=a.id"
);
innerJoin
(
"accelistitem
s
"
,
"ali"
,
"ali.acceid=a.id"
);
innerJoin
(
"accelist"
,
"al"
,
"al.id=ali.listid"
);
}
...
...
@@ -422,7 +425,20 @@ public class DirectMysqlQuery {
}
private
void
addParam
(
List
<
Object
>
params
,
Object
object
)
{
params
.
add
(
object
);
if
(
object
instanceof
UUID
)
{
params
.
add
(
toBytes
((
UUID
)
object
));
}
else
{
params
.
add
(
object
);
}
}
private
byte
[]
toBytes
(
UUID
uuid
)
{
byte
[]
b
=
new
byte
[
16
];
ByteBuffer
bb
=
ByteBuffer
.
wrap
(
b
);
bb
.
order
(
ByteOrder
.
BIG_ENDIAN
);
bb
.
putLong
(
uuid
.
getMostSignificantBits
());
bb
.
putLong
(
uuid
.
getLeastSignificantBits
());
return
b
;
}
private
void
addParamLike
(
List
<
Object
>
params
,
String
string
)
{
...
...
src/main/java/org/genesys2/server/service/impl/FilterHandler.java
View file @
253b4231
...
...
@@ -25,6 +25,7 @@ import java.util.HashSet;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.UUID
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.Predicate
;
...
...
@@ -260,7 +261,16 @@ public class FilterHandler {
do
{
if
(
jp
.
getCurrentToken
()
==
JsonToken
.
VALUE_STRING
)
{
af
.
addFilterValue
(
new
LiteralValueFilter
(
jp
.
getText
()));
if
(
jp
.
getTextLength
()
==
36
)
{
try
{
af
.
addFilterValue
(
new
LiteralValueFilter
(
UUID
.
fromString
(
jp
.
getText
())));
}
catch
(
IllegalArgumentException
e
)
{
System
.
err
.
println
(
"Not an UUID"
);
af
.
addFilterValue
(
new
LiteralValueFilter
(
jp
.
getText
()));
}
}
else
{
af
.
addFilterValue
(
new
LiteralValueFilter
(
jp
.
getText
()));
}
}
else
if
(
jp
.
getCurrentToken
()
==
JsonToken
.
VALUE_TRUE
||
jp
.
getCurrentToken
()
==
JsonToken
.
VALUE_FALSE
)
{
af
.
addFilterValue
(
new
LiteralValueFilter
(
jp
.
getBooleanValue
()));
}
else
if
(
jp
.
getCurrentToken
()
==
JsonToken
.
VALUE_NUMBER_FLOAT
)
{
...
...
@@ -587,9 +597,9 @@ public class FilterHandler {
@Override
public
String
toString
()
{
return
getClass
().
getSimpleName
()
+
"="
+
getValue
();
return
getClass
().
getSimpleName
()
+
"="
+
getValue
();
}
@Override
public
int
hashCode
()
{
final
int
prime
=
31
;
...
...
@@ -670,12 +680,11 @@ public class FilterHandler {
return
to
;
}
@Override
public
String
toString
()
{
return
getClass
().
getSimpleName
()
+
" "
+
getFrom
()
+
"<="
+
getType
()
+
"<="
+
getTo
();
return
getClass
().
getSimpleName
()
+
" "
+
getFrom
()
+
"<="
+
getType
()
+
"<="
+
getTo
();
}
@Override
public
int
hashCode
()
{
final
int
prime
=
31
;
...
...
Write
Preview
Supports
Markdown
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