// Path: sample/src/main/java/com/alexvasilkov/events/sample/data/Emojis.java
// public class Emojis {
// 
//     private static final String FILE = "emoji.json";
//     private static final String FIELD_CODE = "c";
//     private static final String FIELD_EMOJI = "e";
//     private static final Pattern FROM_CODE = Pattern.compile("\\:[^\\:]+\\:");
// 
//     private static Context context;
//     private static Map<String, String> emojis;
// 
//     private Emojis() {}
// 
//     public static void init(Context context) {
//         Emojis.context = context;
//     }
// 
//     @WorkerThread
//     private static void initInternal() {
//         if (emojis == null) {
//             synchronized (Emojis.class) {
//                 if (emojis == null) {
//                     emojis = new HashMap<>();
// 
//                     try {
//                         convertEmojis(emojis);
//                     } catch (IOException e) {
//                         Log.e(Emojis.class.getSimpleName(), "Can't load emojis", e);
//                     }
//                 }
//             }
//         }
//     }
// 
//     private static void convertEmojis(Map<String, String> map) throws IOException {
//         Reader reader = null;
//         try {
//             reader = new InputStreamReader(context.getAssets().open(FILE));
//             JsonReader json = new JsonReader(reader);
// 
//             json.beginArray();
//             while (json.hasNext()) {
//                 convertEmoji(map, json);
//             }
//         } finally {
//             if (reader != null) {
//                 reader.close();
//             }
//         }
//     }
// 
//     private static void convertEmoji(Map<String, String> map, JsonReader json) throws IOException {
//         String code = null;
//         String emoji = null;
// 
//         json.beginObject();
//         while (json.hasNext()) {
//             switch (json.nextName()) {
//                 case FIELD_CODE:
//                     code = json.nextString();
//                     break;
//                 case FIELD_EMOJI:
//                     emoji = json.nextString();
//                     break;
//                 default:
//             }
//         }
//         json.endObject();
// 
//         if (code != null && emoji != null) {
//             map.put(code, emoji);
//         }
//     }
// 
//     @WorkerThread
//     public static String replaceCodes(String from) {
//         initInternal();
// 
//         if (from == null || from.length() == 0) {
//             return from;
//         }
// 
//         StringBuilder builder = null;
//         int last = 0;
// 
//         Matcher matcher = FROM_CODE.matcher(from);
//         while (matcher.find()) {
//             String code = from.substring(matcher.start() + 1, matcher.end() - 1);
//             String emoji = emojis.get(code);
//             if (emoji != null) {
//                 if (builder == null) {
//                     builder = new StringBuilder();
//                 }
//                 builder.append(from.substring(last, matcher.start()));
//                 last = matcher.end();
//                 builder.append(emoji);
//             }
//         }
// 
//         if (builder == null) {
//             return from;
//         } else {
//             builder.append(from.substring(last));
//             return builder.toString();
//         }
//     }
// 
// }
// 
// Path: sample/src/main/java/com/alexvasilkov/events/sample/model/Repository.java
// public class Repository {
// 
//     private long id;
//     private User user;
//     private String name;
//     private String description;
//     private String language;
//     private int forks;
//     private int stars;
//     private int issues;
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public User getUser() {
//         return user;
//     }
// 
//     public void setUser(User user) {
//         this.user = user;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public String getLanguage() {
//         return language;
//     }
// 
//     public void setLanguage(String language) {
//         this.language = language;
//     }
// 
//     public int getForks() {
//         return forks;
//     }
// 
//     public void setForks(int forks) {
//         this.forks = forks;
//     }
// 
//     public int getStars() {
//         return stars;
//     }
// 
//     public void setStars(int stars) {
//         this.stars = stars;
//     }
// 
//     public int getIssues() {
//         return issues;
//     }
// 
//     public void setIssues(int issues) {
//         this.issues = issues;
//     }
// 
// }


import com.alexvasilkov.android.commons.converters.Convertable;
import com.alexvasilkov.events.sample.data.Emojis;
import com.alexvasilkov.events.sample.model.Repository;
import java.text.ParseException;
package com.alexvasilkov.events.sample.data.api.model;



public class JsonRepository implements Convertable<Repository> {

    private long id;
    private JsonUser owner;
    private String name;
    private String description;
    private String language;
    private int forks;
    private int watchers;
    private int open_issues;

    @Override
    public Repository convert() throws ParseException {
        Repository repo = new Repository();
// Path: sample/src/main/java/com/alexvasilkov/events/sample/data/Emojis.java
// public class Emojis {
// 
//     private static final String FILE = "emoji.json";
//     private static final String FIELD_CODE = "c";
//     private static final String FIELD_EMOJI = "e";
//     private static final Pattern FROM_CODE = Pattern.compile("\\:[^\\:]+\\:");
// 
//     private static Context context;
//     private static Map<String, String> emojis;
// 
//     private Emojis() {}
// 
//     public static void init(Context context) {
//         Emojis.context = context;
//     }
// 
//     @WorkerThread
//     private static void initInternal() {
//         if (emojis == null) {
//             synchronized (Emojis.class) {
//                 if (emojis == null) {
//                     emojis = new HashMap<>();
// 
//                     try {
//                         convertEmojis(emojis);
//                     } catch (IOException e) {
//                         Log.e(Emojis.class.getSimpleName(), "Can't load emojis", e);
//                     }
//                 }
//             }
//         }
//     }
// 
//     private static void convertEmojis(Map<String, String> map) throws IOException {
//         Reader reader = null;
//         try {
//             reader = new InputStreamReader(context.getAssets().open(FILE));
//             JsonReader json = new JsonReader(reader);
// 
//             json.beginArray();
//             while (json.hasNext()) {
//                 convertEmoji(map, json);
//             }
//         } finally {
//             if (reader != null) {
//                 reader.close();
//             }
//         }
//     }
// 
//     private static void convertEmoji(Map<String, String> map, JsonReader json) throws IOException {
//         String code = null;
//         String emoji = null;
// 
//         json.beginObject();
//         while (json.hasNext()) {
//             switch (json.nextName()) {
//                 case FIELD_CODE:
//                     code = json.nextString();
//                     break;
//                 case FIELD_EMOJI:
//                     emoji = json.nextString();
//                     break;
//                 default:
//             }
//         }
//         json.endObject();
// 
//         if (code != null && emoji != null) {
//             map.put(code, emoji);
//         }
//     }
// 
//     @WorkerThread
//     public static String replaceCodes(String from) {
//         initInternal();
// 
//         if (from == null || from.length() == 0) {
//             return from;
//         }
// 
//         StringBuilder builder = null;
//         int last = 0;
// 
//         Matcher matcher = FROM_CODE.matcher(from);
//         while (matcher.find()) {
//             String code = from.substring(matcher.start() + 1, matcher.end() - 1);
//             String emoji = emojis.get(code);
//             if (emoji != null) {
//                 if (builder == null) {
//                     builder = new StringBuilder();
//                 }
//                 builder.append(from.substring(last, matcher.start()));
//                 last = matcher.end();
//                 builder.append(emoji);
//             }
//         }
// 
//         if (builder == null) {
//             return from;
//         } else {
//             builder.append(from.substring(last));
//             return builder.toString();
//         }
//     }
// 
// }
// 
// Path: sample/src/main/java/com/alexvasilkov/events/sample/model/Repository.java
// public class Repository {
// 
//     private long id;
//     private User user;
//     private String name;
//     private String description;
//     private String language;
//     private int forks;
//     private int stars;
//     private int issues;
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public User getUser() {
//         return user;
//     }
// 
//     public void setUser(User user) {
//         this.user = user;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public String getLanguage() {
//         return language;
//     }
// 
//     public void setLanguage(String language) {
//         this.language = language;
//     }
// 
//     public int getForks() {
//         return forks;
//     }
// 
//     public void setForks(int forks) {
//         this.forks = forks;
//     }
// 
//     public int getStars() {
//         return stars;
//     }
// 
//     public void setStars(int stars) {
//         this.stars = stars;
//     }
// 
//     public int getIssues() {
//         return issues;
//     }
// 
//     public void setIssues(int issues) {
//         this.issues = issues;
//     }
// 
// }


// Path: sample/src/main/java/com/alexvasilkov/events/sample/data/api/model/JsonRepository.java
import com.alexvasilkov.android.commons.converters.Convertable;
import com.alexvasilkov.events.sample.data.Emojis;
import com.alexvasilkov.events.sample.model.Repository;
import java.text.ParseException;

package com.alexvasilkov.events.sample.data.api.model;



public class JsonRepository implements Convertable<Repository> {

    private long id;
    private JsonUser owner;
    private String name;
    private String description;
    private String language;
    private int forks;
    private int watchers;
    private int open_issues;

    @Override
    public Repository convert() throws ParseException {
        Repository repo = new Repository();
        repo.setId(id);