Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Krishna Vemulavada
/
vera_2.1_app
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
3fb83923
authored
Sep 13, 2016
by
Kunj Gupta
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
UOFLMA-68: Implement API changed response.
parent
3fe9ddce
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
168 additions
and
41 deletions
app/src/main/java/com/vsoft/uoflservicenow/api/listeners/get/GetCatalogueVariableApiListener.java
app/src/main/java/com/vsoft/uoflservicenow/api/managers/CatalogueVariableApiManager.java
app/src/main/java/com/vsoft/uoflservicenow/db/models/CatalogueVariableSet.java
app/src/main/java/com/vsoft/uoflservicenow/ui/CatalogueVariableScreen.java
app/src/main/java/com/vsoft/uoflservicenow/utils/Constants.java
app/src/main/java/com/vsoft/uoflservicenow/api/listeners/get/GetCatalogueVariableApiListener.java
View file @
3fb83923
package
com
.
vsoft
.
uoflservicenow
.
api
.
listeners
.
get
;
import
com.vsoft.uoflservicenow.db.models.CatalogueVariable
;
import
com.vsoft.uoflservicenow.db.models.CatalogueVariableSet
;
import
java.util.List
;
...
...
@@ -10,5 +11,5 @@ import java.util.List;
*
*/
public
interface
GetCatalogueVariableApiListener
{
void
onDoneApiCall
(
List
<
CatalogueVariable
>
catalogueV
ariableList
);
void
onDoneApiCall
(
List
<
CatalogueVariable
Set
>
variableSetList
,
List
<
CatalogueVariable
>
v
ariableList
);
}
app/src/main/java/com/vsoft/uoflservicenow/api/managers/CatalogueVariableApiManager.java
View file @
3fb83923
...
...
@@ -10,6 +10,7 @@ import com.vsoft.uoflservicenow.api.RestClient;
import
com.vsoft.uoflservicenow.api.interfaces.CatalogueVariableApi
;
import
com.vsoft.uoflservicenow.api.listeners.get.GetCatalogueVariableApiListener
;
import
com.vsoft.uoflservicenow.db.models.CatalogueVariable
;
import
com.vsoft.uoflservicenow.db.models.CatalogueVariableSet
;
import
com.vsoft.uoflservicenow.enums.SyncStatus
;
import
com.vsoft.uoflservicenow.utils.CatalogueLog
;
import
com.vsoft.uoflservicenow.utils.Constants
;
...
...
@@ -21,6 +22,8 @@ import org.json.JSONObject;
import
java.io.IOException
;
import
java.lang.reflect.Type
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
import
okhttp3.ResponseBody
;
...
...
@@ -46,8 +49,8 @@ public class CatalogueVariableApiManager {
JSONObject
jsonObject
=
new
JSONObject
(
response
.
body
().
string
());
JSONObject
error
=
jsonObject
.
optJSONObject
(
Constants
.
RESPONSE_ERROR_OBJECT_NAME
);
if
(
error
==
null
)
{
JSONArray
catalogueVariableJ
sonArray
=
jsonObject
.
getJSONArray
(
Constants
.
RESPONSE_RESULT_OBJECT_NAME
);
if
(
catalogueVariableJ
sonArray
.
length
()
>
0
)
{
JSONArray
j
sonArray
=
jsonObject
.
getJSONArray
(
Constants
.
RESPONSE_RESULT_OBJECT_NAME
);
if
(
j
sonArray
.
length
()
>
0
)
{
Gson
gson
=
new
GsonBuilder
()
.
excludeFieldsWithoutExposeAnnotation
()
.
registerTypeAdapter
(
long
.
class
,
new
JsonDeserializer
<
Long
>()
{
...
...
@@ -88,16 +91,58 @@ public class CatalogueVariableApiManager {
})
.
create
();
List
<
CatalogueVariable
>
catalogueVariableList
=
new
ArrayList
<>(
catalogueVariableJsonArray
.
length
());
for
(
int
i
=
0
;
i
<
catalogueVariableJsonArray
.
length
();
i
++)
{
JSONObject
variableJsonObject
=
catalogueVariableJsonArray
.
getJSONObject
(
i
);
JSONObject
catalogueJsonObject
=
jsonArray
.
getJSONObject
(
0
);
JSONArray
variableSetJsonArray
=
catalogueJsonObject
.
getJSONArray
(
Constants
.
RESPONSE_VARIABLE_SET_OBJECT_NAME
);
List
<
CatalogueVariableSet
>
variableSetList
=
new
ArrayList
<>(
variableSetJsonArray
.
length
());
for
(
int
i
=
0
;
i
<
variableSetJsonArray
.
length
();
i
++)
{
JSONObject
variableSetJsonObject
=
variableSetJsonArray
.
getJSONObject
(
i
);
CatalogueVariableSet
catalogueVariableSet
=
gson
.
fromJson
(
variableSetJsonObject
.
toString
(),
CatalogueVariableSet
.
class
);
JSONArray
variableJsonArray
=
variableSetJsonObject
.
getJSONArray
(
Constants
.
RESPONSE_VARIABLES_OBJECT_NAME
);
List
<
CatalogueVariable
>
variableList
=
new
ArrayList
<>(
variableJsonArray
.
length
());
for
(
int
j
=
0
;
j
<
variableJsonArray
.
length
();
j
++)
{
JSONObject
variableJsonObject
=
variableJsonArray
.
getJSONObject
(
j
);
CatalogueVariable
catalogueVariable
=
gson
.
fromJson
(
variableJsonObject
.
toString
(),
CatalogueVariable
.
class
);
catalogueVariable
.
parseJson
(
variableJsonObject
);
variableList
.
add
(
catalogueVariable
);
}
Collections
.
sort
(
variableList
,
new
Comparator
<
CatalogueVariable
>()
{
@Override
public
int
compare
(
CatalogueVariable
lhs
,
CatalogueVariable
rhs
)
{
return
(
lhs
.
getOrder
()
-
rhs
.
getOrder
());
}
});
catalogueVariableSet
.
setVariables
(
variableList
);
variableSetList
.
add
(
catalogueVariableSet
);
}
Collections
.
sort
(
variableSetList
,
new
Comparator
<
CatalogueVariableSet
>()
{
@Override
public
int
compare
(
CatalogueVariableSet
lhs
,
CatalogueVariableSet
rhs
)
{
return
(
lhs
.
getOrder
()
-
rhs
.
getOrder
());
}
});
JSONArray
variableJsonArray
=
catalogueJsonObject
.
getJSONArray
(
Constants
.
RESPONSE_VARIABLES_OBJECT_NAME
);
List
<
CatalogueVariable
>
variableList
=
new
ArrayList
<>(
variableJsonArray
.
length
());
for
(
int
i
=
0
;
i
<
variableJsonArray
.
length
();
i
++)
{
JSONObject
variableJsonObject
=
variableJsonArray
.
getJSONObject
(
i
);
CatalogueVariable
catalogueVariable
=
gson
.
fromJson
(
variableJsonObject
.
toString
(),
CatalogueVariable
.
class
);
catalogueVariable
.
parseJson
(
variableJsonObject
);
catalogueVariableList
.
add
(
catalogueVariable
);
variableList
.
add
(
catalogueVariable
);
}
Collections
.
sort
(
variableList
,
new
Comparator
<
CatalogueVariable
>()
{
@Override
public
int
compare
(
CatalogueVariable
lhs
,
CatalogueVariable
rhs
)
{
return
(
lhs
.
getOrder
()
-
rhs
.
getOrder
());
}
listener
.
onDoneApiCall
(
catalogueVariableList
);
});
listener
.
onDoneApiCall
(
variableSetList
,
variableList
);
}
else
{
listener
.
onDoneApiCall
(
new
ArrayList
<
CatalogueVariable
>(
0
));
listener
.
onDoneApiCall
(
new
ArrayList
<
CatalogueVariable
Set
>(
0
),
new
ArrayList
<
CatalogueVariable
>(
0
));
}
return
SyncStatus
.
SUCCESS
;
}
else
...
...
app/src/main/java/com/vsoft/uoflservicenow/db/models/CatalogueVariableSet.java
0 → 100644
View file @
3fb83923
package
com
.
vsoft
.
uoflservicenow
.
db
.
models
;
import
com.google.gson.annotations.Expose
;
import
com.google.gson.annotations.SerializedName
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by Kunj on 12/8/16.
*/
public
class
CatalogueVariableSet
{
@SerializedName
(
"order"
)
@Expose
private
int
order
;
@SerializedName
(
"show_on_true"
)
@Expose
private
Object
showOnTrue
;
@SerializedName
(
"variables"
)
@Expose
private
List
<
CatalogueVariable
>
variables
=
new
ArrayList
<
CatalogueVariable
>();
/**
*
* @return
* The order
*/
public
int
getOrder
()
{
return
order
;
}
/**
*
* @param order
* The order
*/
public
void
setOrder
(
int
order
)
{
this
.
order
=
order
;
}
/**
*
* @return
* The showOnTrue
*/
public
Object
getShowOnTrue
()
{
return
showOnTrue
;
}
/**
*
* @param showOnTrue
* The show_on_true
*/
public
void
setShowOnTrue
(
Object
showOnTrue
)
{
this
.
showOnTrue
=
showOnTrue
;
}
/**
*
* @return
* The variables
*/
public
List
<
CatalogueVariable
>
getVariables
()
{
return
variables
;
}
/**
*
* @param variables
* The variables
*/
public
void
setVariables
(
List
<
CatalogueVariable
>
variables
)
{
this
.
variables
=
variables
;
}
}
app/src/main/java/com/vsoft/uoflservicenow/ui/CatalogueVariableScreen.java
View file @
3fb83923
...
...
@@ -35,6 +35,7 @@ import com.vsoft.uoflservicenow.api.listeners.get.GetVariableChoiceApiListener;
import
com.vsoft.uoflservicenow.api.managers.CatalogueVariableApiManager
;
import
com.vsoft.uoflservicenow.api.managers.VariableChoiceApiManager
;
import
com.vsoft.uoflservicenow.db.models.CatalogueVariable
;
import
com.vsoft.uoflservicenow.db.models.CatalogueVariableSet
;
import
com.vsoft.uoflservicenow.db.models.Reference
;
import
com.vsoft.uoflservicenow.db.models.VariableChoice
;
import
com.vsoft.uoflservicenow.dialog.SelectReferenceDialog
;
...
...
@@ -53,8 +54,6 @@ import org.json.JSONException;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
import
butterknife.BindView
;
...
...
@@ -72,7 +71,7 @@ public class CatalogueVariableScreen extends AppCompatActivity {
@BindView
(
R
.
id
.
variable_screen_container_layout
)
LinearLayout
mContainerLayout
;
@BindView
(
R
.
id
.
variable_screen_bottom_layout
)
RelativeLayout
mBottomLayout
;
private
List
<
CatalogueVariable
>
mCatalogueVariableList
;
private
List
<
CatalogueVariable
>
mCatalogueVariableList
=
new
ArrayList
<>()
;
private
JSONArray
mJsonArray
;
private
CatalogueApplication
mApplication
;
private
String
mCatalogueItemSysId
,
mCatalogueItemDescription
,
mCatalogueItemShortDescription
,
mCatalogueItemTitle
;
...
...
@@ -136,34 +135,17 @@ public class CatalogueVariableScreen extends AppCompatActivity {
protected
SyncStatus
doInBackground
(
String
...
params
)
{
syncStatus
=
CatalogueVariableApiManager
.
getCatalogueVariable
(
mCatalogueItemSysId
,
new
GetCatalogueVariableApiListener
()
{
@Override
public
void
onDoneApiCall
(
List
<
CatalogueVariable
>
catalogueVariableList
)
{
CatalogueLog
.
e
(
"Data: catalogueVariableList: "
+
catalogueVariableList
);
public
void
onDoneApiCall
(
List
<
CatalogueVariableSet
>
variableSetList
,
List
<
CatalogueVariable
>
variableList
)
{
Collections
.
sort
(
catalogueVariableList
,
new
Comparator
<
CatalogueVariable
>()
{
@Override
public
int
compare
(
CatalogueVariable
lhs
,
CatalogueVariable
rhs
)
{
return
(
lhs
.
getOrder
()
-
rhs
.
getOrder
());
/*For variableset */
for
(
int
i
=
0
;
i
<
variableSetList
.
size
();
i
++)
{
CatalogueVariableSet
catalogueVariableSet
=
variableSetList
.
get
(
i
);
setVariableChoiceData
(
catalogueVariableSet
.
getVariables
());
}
});
mCatalogueVariableList
=
catalogueVariableList
;
/*For variable list*/
setVariableChoiceData
(
variableList
);
if
(!
catalogueVariableList
.
isEmpty
())
{
for
(
int
i
=
0
;
i
<
catalogueVariableList
.
size
();
i
++)
{
final
CatalogueVariable
catalogueVariable
=
catalogueVariableList
.
get
(
i
);
if
(
catalogueVariable
.
getType
()
==
ViewType
.
MULTIPLE_CHOICE
||
catalogueVariable
.
getType
()
==
ViewType
.
SELECT_BOX
)
{
/*Fetch multi choice variable values*/
syncStatus
=
VariableChoiceApiManager
.
getVariableChoice
(
catalogueVariable
.
getSysId
(),
new
GetVariableChoiceApiListener
()
{
@Override
public
void
onDoneApiCall
(
List
<
VariableChoice
>
variableChoiceList
)
{
CatalogueLog
.
e
(
"Data: variableChoiceList: "
+
variableChoiceList
);
catalogueVariable
.
setVariableChoiceList
(
variableChoiceList
);
}
});
}
}
}
}
});
return
syncStatus
;
...
...
@@ -185,11 +167,31 @@ public class CatalogueVariableScreen extends AppCompatActivity {
}
}
private
void
createView
()
{
getCustomLayout
();
private
void
setVariableChoiceData
(
List
<
CatalogueVariable
>
variableList
)
{
if
(!
variableList
.
isEmpty
())
{
for
(
int
i
=
0
;
i
<
variableList
.
size
();
i
++)
{
final
CatalogueVariable
catalogueVariable
=
variableList
.
get
(
i
);
if
(
catalogueVariable
.
getType
()
==
ViewType
.
MULTIPLE_CHOICE
||
catalogueVariable
.
getType
()
==
ViewType
.
SELECT_BOX
)
{
/*Fetch multi choice variable values*/
VariableChoiceApiManager
.
getVariableChoice
(
catalogueVariable
.
getSysId
(),
new
GetVariableChoiceApiListener
()
{
@Override
public
void
onDoneApiCall
(
List
<
VariableChoice
>
variableChoiceList
)
{
CatalogueLog
.
e
(
"Data: variableChoiceList: "
+
variableChoiceList
);
catalogueVariable
.
setVariableChoiceList
(
variableChoiceList
);
}
});
}
}
mCatalogueVariableList
.
addAll
(
variableList
);
}
}
private
void
createView
()
{
if
(!
mCatalogueVariableList
.
isEmpty
())
{
mBottomLayout
.
setVisibility
(
View
.
VISIBLE
);
/*For variable list */
getCustomLayout
();
}
else
{
mBottomLayout
.
setVisibility
(
View
.
GONE
);
}
...
...
app/src/main/java/com/vsoft/uoflservicenow/utils/Constants.java
View file @
3fb83923
...
...
@@ -8,13 +8,10 @@ import com.vsoft.uoflservicenow.BuildConfig;
*/
public
class
Constants
{
public
static
final
String
GRANT_TYPE
=
"password"
;
public
static
final
String
CLIENT_ID
=
"ac0dd3408c1031006907010c2cc6ef6d"
;
public
static
final
String
CLIENT_SECRET
=
"oklj6znxv3o9jmyn2mlp"
;
public
static
final
String
TAG
=
"UofLCatalogue"
;
public
static
final
String
[]
month
=
{
"Jan"
,
"Feb"
,
"Mar"
,
"Apr"
,
"May"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
};
...
...
@@ -114,6 +111,8 @@ public class Constants {
**/
public
static
final
String
RESPONSE_RESULT_OBJECT_NAME
=
"result"
;
public
static
final
String
RESPONSE_ERROR_OBJECT_NAME
=
"error"
;
public
static
final
String
RESPONSE_VARIABLE_SET_OBJECT_NAME
=
"variablesets"
;
public
static
final
String
RESPONSE_VARIABLES_OBJECT_NAME
=
"variables"
;
/**
* Catalogue web services urls
...
...
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