Skip to content
Snippets Groups Projects
Commit d2814d34 authored by John Carlson's avatar John Carlson
Browse files

Fix Parceler to not use reflection

parent 8dd2b815
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 127 additions and 181 deletions
Loading
Loading
@@ -5,8 +5,8 @@ import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
class MergeRequest {
@Parcel(Parcel.Serialization.BEAN)
open class MergeRequest {
 
companion object {
 
Loading
Loading
@@ -45,9 +45,9 @@ class MergeRequest {
@field:Json(name = "downvotes")
var downvotes: Long = 0
@field:Json(name = "author")
var author: UserBasic? = null
var author: User? = null
@field:Json(name = "assignee")
var assignee: UserBasic? = null
var assignee: User? = null
@field:Json(name = "source_project_id")
var sourceProjectId: Long = 0
@field:Json(name = "target_project_id")
Loading
Loading
@@ -62,10 +62,11 @@ class MergeRequest {
var isMergeWhenBuildSucceedsEnabled: Boolean = false
@field:Json(name = "merge_status")
var mergeStatus: String? = null
/**
* Get the changes. Only not null if this merge request was retrieved via [com.commit451.gitlab.api.GitLabService.getMergeRequestChanges]
* @return the changes
*/
@field:Json(name = "changes")
var changes: List<Diff>? = null
var changes: MutableList<Diff>? = null
}
Loading
Loading
@@ -6,8 +6,8 @@ import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
class Milestone {
@Parcel(Parcel.Serialization.BEAN)
open class Milestone {
 
companion object {
const val STATE_ACTIVE = "active"
Loading
Loading
Loading
Loading
@@ -5,8 +5,8 @@ import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
class Note {
@Parcel(Parcel.Serialization.BEAN)
open class Note {
 
companion object {
 
Loading
Loading
@@ -23,7 +23,7 @@ class Note {
@field:Json(name = "body")
var body: String? = null
@field:Json(name = "author")
var author: UserBasic? = null
var author: User? = null
@field:Json(name = "created_at")
var createdAt: Date? = null
@field:Json(name = "system")
Loading
Loading
Loading
Loading
@@ -7,8 +7,8 @@ import java.util.*
/**
* A pipeline.
*/
@Parcel
class Pipeline {
@Parcel(Parcel.Serialization.BEAN)
open class Pipeline {
 
@field:Json(name = "user")
var user: CommitUser? = null
Loading
Loading
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
/**
* Represents a pipeline
*/
@Parcel
class Pipelines {
@field:Json(name = "sha")
var sha: String? = null
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "ref")
var ref: String? = null
@field:Json(name = "status")
var status: String? = null
}
Loading
Loading
@@ -4,8 +4,8 @@ import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
class Project {
@Parcel(Parcel.Serialization.BEAN)
open class Project {
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "description")
Loading
Loading
@@ -27,7 +27,7 @@ class Project {
@field:Json(name = "web_url")
lateinit var webUrl: String
@field:Json(name = "owner")
var owner: UserBasic? = null
var owner: User? = null
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "name_with_namespace")
Loading
Loading
Loading
Loading
@@ -4,8 +4,8 @@ import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
class ProjectNamespace {
@Parcel(Parcel.Serialization.BEAN)
open class ProjectNamespace {
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "name")
Loading
Loading
@@ -25,7 +25,7 @@ class ProjectNamespace {
@field:Json(name = "public")
var isPublic: Boolean = false
 
@Parcel
@Parcel(Parcel.Serialization.BEAN)
class Avatar {
@field:Json(name = "url")
var url: String? = null
Loading
Loading
Loading
Loading
@@ -4,8 +4,8 @@ import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
class RepositoryCommit {
@Parcel(Parcel.Serialization.BEAN)
open class RepositoryCommit {
@field:Json(name = "id")
lateinit var id: String
@field:Json(name = "short_id")
Loading
Loading
Loading
Loading
@@ -4,8 +4,8 @@ import com.squareup.moshi.Json
 
import org.parceler.Parcel
 
@Parcel
class RepositoryFile {
@Parcel(Parcel.Serialization.BEAN)
open class RepositoryFile {
@field:Json(name = "file_name")
var fileName: String? = null
@field:Json(name = "file_path")
Loading
Loading
Loading
Loading
@@ -4,8 +4,8 @@ import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
 
@Parcel
class RepositoryTreeObject {
@Parcel(Parcel.Serialization.BEAN)
open class RepositoryTreeObject {
 
companion object {
 
Loading
Loading
Loading
Loading
@@ -7,8 +7,8 @@ import org.parceler.Parcel
/**
* A runner. It runs builds. yeah
*/
@Parcel
class Runner {
@Parcel(Parcel.Serialization.BEAN)
open class Runner {
 
@field:Json(name = "id")
var id: Long = 0
Loading
Loading
Loading
Loading
@@ -7,8 +7,8 @@ import java.util.*
/**
* A snippet!
*/
@Parcel
class Snippet {
@Parcel(Parcel.Serialization.BEAN)
open class Snippet {
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "title")
Loading
Loading
@@ -24,7 +24,7 @@ class Snippet {
@field:Json(name = "created_at")
var createdAt: Date? = null
 
@Parcel
@Parcel(Parcel.Serialization.BEAN)
class Author {
@field:Json(name = "id")
var id: Long = 0
Loading
Loading
Loading
Loading
@@ -9,8 +9,8 @@ import java.util.*
* Todos. Not processing Target, since it is different depending on what the type is, which
* makes it not play nice with any automated json parsing
*/
@Parcel
class Todo {
@Parcel(Parcel.Serialization.BEAN)
open class Todo {
 
companion object {
 
Loading
Loading
@@ -34,7 +34,7 @@ class Todo {
@field:Json(name = "project")
var project: Project? = null
@field:Json(name = "author")
var author: UserBasic? = null
var author: User? = null
@field:Json(name = "action_name")
var actionName: String? = null
@field:Json(name = "target_type")
Loading
Loading
package com.commit451.gitlab.model.api
 
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
 
@Parcel
open class User : UserBasic() {
@Parcel(Parcel.Serialization.BEAN)
open class User {
companion object {
const val STATE_ACTIVE = "active"
const val STATE_BLOCKED = "blocked"
fun getAccessLevel(accessLevel: String): Int {
when (accessLevel.toLowerCase()) {
"guest" -> return 10
"reporter" -> return 20
"developer" -> return 30
"master" -> return 40
"owner" -> return 50
}
throw IllegalStateException("No known code for this access level")
}
fun getAccessLevel(accessLevel: Int): String {
when (accessLevel) {
10 -> return "Guest"
20 -> return "Reporter"
30 -> return "Developer"
40 -> return "Master"
50 -> return "Owner"
}
return "Unknown"
}
}
@StringDef(STATE_ACTIVE, STATE_BLOCKED)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@field:Json(name = "created_at")
var createdAt: Date? = null
@field:Json(name = "is_admin")
Loading
Loading
@@ -20,4 +55,40 @@ open class User : UserBasic() {
var twitter: String? = null
@field:Json(name = "website_url")
var websiteUrl: String? = null
@field:Json(name = "email")
var email: String? = null
@field:Json(name = "theme_id")
var themeId: Int = 0
@field:Json(name = "color_scheme_id")
var colorSchemeId: Int = 0
@field:Json(name = "projects_limit")
var projectsLimit: Int = 0
@field:Json(name = "current_sign_in_at")
var currentSignInAt: Date? = null
@field:Json(name = "identities")
var identities: MutableList<Identity>? = null
@field:Json(name = "can_create_group")
var canCreateGroup: Boolean = false
@field:Json(name = "can_create_project")
var canCreateProject: Boolean = false
@field:Json(name = "two_factor_enabled")
var isTwoFactorEnabled: Boolean = false
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "state")
@State
@get:State
var state: String? = null
@field:Json(name = "avatar_url")
var avatarUrl: String? = null
@field:Json(name = "web_url")
lateinit var webUrl: String
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "username")
var username: String? = null
@field:Json(name = "private_token")
var privateToken: String? = null
@field:Json(name = "access_level")
var accessLevel: Int = 0
}
package com.commit451.gitlab.model.api
import android.support.annotation.StringDef
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
open class UserBasic : UserSafe() {
companion object {
const val STATE_ACTIVE = "active"
const val STATE_BLOCKED = "blocked"
}
@StringDef(STATE_ACTIVE, STATE_BLOCKED)
@Retention(AnnotationRetention.SOURCE)
annotation class State
@field:Json(name = "id")
var id: Long = 0
@field:Json(name = "state")
@State
@get:State
var state: String? = null
@field:Json(name = "avatar_url")
var avatarUrl: String? = null
@field:Json(name = "web_url")
lateinit var webUrl: String
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
import java.util.*
@Parcel
open class UserFull : User() {
@field:Json(name = "email")
var email: String? = null
@field:Json(name = "theme_id")
var themeId: Int = 0
@field:Json(name = "color_scheme_id")
var colorSchemeId: Int = 0
@field:Json(name = "projects_limit")
var projectsLimit: Int = 0
@field:Json(name = "current_sign_in_at")
var currentSignInAt: Date? = null
@field:Json(name = "identities")
var identities: List<Identity>? = null
@field:Json(name = "can_create_group")
var canCreateGroup: Boolean = false
@field:Json(name = "can_create_project")
var canCreateProject: Boolean = false
@field:Json(name = "two_factor_enabled")
var isTwoFactorEnabled: Boolean = false
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
class UserLogin : UserFull() {
@field:Json(name = "private_token")
var privateToken: String? = null
}
package com.commit451.gitlab.model.api
import com.squareup.moshi.Json
import org.parceler.Parcel
@Parcel
open class UserSafe {
@field:Json(name = "name")
var name: String? = null
@field:Json(name = "username")
var username: String? = null
}
package com.commit451.gitlab.model.rss;
import org.parceler.Parcel;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
import java.util.Date;
@Parcel
@Root(strict = false)
public class Entry {
@Element(name = "link", required = true)
Link link;
@Element(name = "title", required = true)
String title;
@Element(name = "updated", required = true)
Date updated;
@Element(name = "thumbnail", required = true)
Thumbnail thumbnail;
@Element(name = "summary", required = true)
String summary;
public Entry() {}
public Link getLink() {
return link;
}
public String getTitle() {
return title;
}
public Date getUpdated() {
return updated;
}
public Thumbnail getThumbnail() {
return thumbnail;
}
public String getSummary() {
return summary;
}
}
package com.commit451.gitlab.model.rss
import org.parceler.Parcel
import org.simpleframework.xml.Element
import org.simpleframework.xml.Root
import java.util.*
@Parcel(Parcel.Serialization.BEAN)
@Root(strict = false)
class Entry {
@Element(name = "link", required = true)
lateinit var link: Link
@Element(name = "title", required = true)
lateinit var title: String
@Element(name = "updated", required = true)
lateinit var updated: Date
@Element(name = "thumbnail", required = true)
lateinit var thumbnail: Thumbnail
@Element(name = "summary", required = true)
lateinit var summary: String
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment