GitHub PullRequestReviewCommentEvent at 2014-12-09 23:03:45
Repository: fizteh-java-2014
Actor: AndreyW
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/comments/21570919","id":21570919,"diff_hunk":"@@ -0,0 +1,565 @@\n+package ru.fizteh.fivt.students.MaximGotovchits.Storeable;\n+\n+import ru.fizteh.fivt.storage.structured.ColumnFormatException;\n+import ru.fizteh.fivt.storage.structured.Storeable;\n+import ru.fizteh.fivt.storage.structured.Table;\n+import ru.fizteh.fivt.storage.structured.TableProvider;\n+import java.io.*;\n+import java.nio.charset.StandardCharsets;\n+import java.text.ParseException;\n+import java.util.LinkedList;\n+import java.util.List;\n+import java.util.Objects;\n+\n+public class ObjectTableProvider extends CommandsTools implements TableProvider {\n+    private String rootDirectory; // Только ради тестов. Или нет...\n+    public ObjectTableProvider() {\n+        rootDirectory = dataBaseName;\n+    }\n+    public ObjectTableProvider(String dir) {\n+        dataBaseName = dir;\n+        rootDirectory = dir;\n+    }\n+    public int hashCode() {\n+        return Objects.hashCode(this.rootDirectory);\n+    }\n+    @Override\n+    public boolean equals(Object obj) {\n+        ObjectTableProvider tempObj = (ObjectTableProvider) obj;\n+        if (tempObj.rootDirectory.equals(this.rootDirectory)) {\n+            return true;\n+        }\n+        return false;\n+    }\n+    @Override\n+    public Table getTable(String name) throws IllegalArgumentException {\n+        checkException(name);\n+        if (new File(rootDirectory + File.separator + name).exists()) {\n+            return new ObjectTable(rootDirectory + File.separator + name);\n+        }\n+        return null;\n+    }\n+    @Override\n+    public Table createTable(String name, List<Class<?>> columnTypes) throws IOException {\n+        checkException(name);\n+        File file = new File(rootDirectory + File.separator + name);\n+        File signatureFile = new File(rootDirectory + File.separator + name + File.separator + signatureFileName);\n+        if (file.exists()) {\n+            System.out.println(name + \" exists\");\n+        } else {\n+            file.mkdir();\n+            signatureFile.createNewFile();\n+            PrintWriter writer = new PrintWriter(signatureFile, \"UTF-8\");\n+            String tempTypes = new String();\n+            for (Class<?> type : columnTypes) {\n+                if (type.equals(String.class)) {\n+                    tempTypes += \"String \";\n+                } else {\n+                    tempTypes += type.getName() + \" \";\n+                }\n+            }\n+            tempTypes = tempTypes.substring(0, tempTypes.length() - 1);\n+            writer.println(tempTypes);\n+            writer.close();\n+            System.out.println(\"created\");\n+        }\n+        return new ObjectTable(name, columnTypes);\n+    }\n+    @Override\n+    public void removeTable(String name) throws IllegalArgumentException, IllegalStateException {\n+        try {\n+            if (name == null || name.length() > longestName) {\n+                throw new IllegalArgumentException();\n+            }\n+            String tableName = rootDirectory + File.separator + name;\n+            File toBeRemoved = new File(tableName);\n+            if (toBeRemoved.exists()) {\n+                if (tableIsChosen) {\n+                    if (usingTable.equals(name)) {\n+                        storage.clear();\n+                        commitStorage.clear();\n+                        uncommitedChanges = 0;\n+                        tableIsChosen = false;\n+                        usingTable = null;\n+                    }\n+                }\n+                recRem(tableName);\n+                toBeRemoved.delete();\n+                System.out.println(\"dropped\");\n+            } else {\n+                throw new IllegalStateException();\n+            }\n+        } catch (IllegalArgumentException s) {\n+            System.err.println(s);\n+            return;\n+        } catch (IllegalStateException s) {\n+            System.err.println(s);\n+            return;\n+        }\n+    }\n+    @Override\n+    public Storeable deserialize(Table table, String value) throws ParseException {\n+        if (!checkCorrectness(value)) {\n+            return null;\n+        }\n+        try {\n+            ObjectStoreable tempStoreable = new ObjectStoreable();\n+            ObjectTable tempTable = (ObjectTable) table;\n+            String[] toBeParsed = value.split(\"\");\n+            if (!toBeParsed[0].equals(\"[\")) {\n+                throw new ParseException(value, 0);\n+            }\n+            if (!toBeParsed[toBeParsed.length - 1].equals(\"]\")) {\n+                throw new ParseException(value, toBeParsed.length - 1);\n+            }\n+            int writingIndex = 0;\n+            int readingIndex = 1;\n+            boolean detector = false; // Detects if JSON format is incorrect.\n+            while (readingIndex < toBeParsed.length - 1) { // Parsing process.\n+                detector = false;\n+                if (toBeParsed[readingIndex].equals(\"\\\"\")) { // String is found.\n+                    detector = true;\n+                    readingIndex = parseString(tempTable, toBeParsed, readingIndex, writingIndex, tempStoreable);\n+                    readingIndex += 3;\n+                    ++writingIndex;\n+                    if (whetherIsParsed(toBeParsed, readingIndex)) { // Checks if parsing has to be stopped immediately.\n+                        break;\n+                    }\n+                }\n+                if (toBeParsed[readingIndex].equals(\"t\") || toBeParsed[readingIndex].equals(\"f\")) { // Boolean is found.\n+                    detector = true;\n+                    readingIndex = parseBoolean(tempTable, toBeParsed, readingIndex, writingIndex, tempStoreable);\n+                    readingIndex += 2;\n+                    ++writingIndex;\n+                    if (whetherIsParsed(toBeParsed, readingIndex)) {\n+                        break;\n+                    }\n+                }\n+                if (toBeParsed[readingIndex].equals(\"n\")) { // Null is found.\n+                    detector = true;\n+                    parseNull(tempTable, toBeParsed, readingIndex, writingIndex, tempStoreable);\n+                    readingIndex += 2;\n+                    ++writingIndex;\n+                    if (whetherIsParsed(toBeParsed, readingIndex)) {\n+                        break;\n+                    }\n+                }\n+                if (isNumber(toBeParsed[readingIndex])) {\n+                    detector = true;\n+                    readingIndex = parseNumber(tempTable, toBeParsed, readingIndex, writingIndex, tempStoreable);\n+                    if (!toBeParsed[readingIndex].equals(\",\") && !toBeParsed[readingIndex].equals(\"]\")) {\n+                        throw new ParseException(value, readingIndex);\n+                    }\n+                    readingIndex += 2;\n+                    ++writingIndex;\n+                    if (whetherIsParsed(toBeParsed, readingIndex)) {\n+                        break;\n+                    }\n+                }\n+                if (!detector) {\n+                    throw new ParseException(value, readingIndex);\n+                }\n+            }\n+            tempStoreable.serialisedValue = value;\n+            return tempStoreable;\n+        } catch (ParseException s) {\n+            System.err.println(s);\n+            return null;\n+        }\n+    }\n+    @Override\n+    public String serialize(Table table, Storeable value) throws ColumnFormatException {\n+        ObjectStoreable valueToSerialize = (ObjectStoreable) value;\n+        ObjectTable tableObj = (ObjectTable) table;\n+        try {\n+            int index = 0;\n+            for (Class<?> type : tableObj.typeKeeper) {\n+                if (!type.equals(valueToSerialize.typeKeeper.get(index))) {\n+                    throw new ColumnFormatException();\n+                }\n+                ++index;\n+            }\n+        } catch (ColumnFormatException s) {\n+            System.out.println(s);\n+            return null;\n+        }\n+        return valueToSerialize.serialisedValue;\n+    }\n+    @Override\n+    public Storeable createFor(Table table) {\n+        return new ObjectStoreable((ObjectTable) table);\n+    }\n+    @Override\n+    public Storeable createFor(Table table, List<?> values) throws ColumnFormatException, IndexOutOfBoundsException {\n+        int ind = 0;\n+        ObjectTable tempTable = new ObjectTable(table);\n+        try {\n+            List<Class<?>> valTypes = new LinkedList<Class<?>>();\n+            valTypes = convertToPrimitive(values);\n+            if (values.size() != tempTable.getColumnsCount()) {\n+                throw new IndexOutOfBoundsException();\n+            }\n+            Class<?> tableType;\n+            Class<?> valueType;\n+            if (!valTypes.equals(tempTable.typeKeeper)) {\n+                throw new ColumnFormatException();\n+            }\n+        } catch (ColumnFormatException s) {\n+            System.err.println(s);\n+            return null;\n+        } catch (IndexOutOfBoundsException s) {\n+            System.err.println(s);\n+            return null;\n+        }\n+        ObjectStoreable toReturn = new ObjectStoreable(values);\n+        toReturn.typeKeeper = tempTable.typeKeeper;\n+        return toReturn;\n+    }\n+    @Override\n+    public List<String> getTableNames() {\n+        List<String> list = new LinkedList<String>();\n+        String currentFile = new String();\n+        int recordsAmount = 0;\n+        File file = new File(rootDirectory);\n+        for (File sub : file.listFiles()) {\n+            recordsAmount = 0;\n+            for (Integer i = 0; i < dirNum; ++i) {\n+                currentFile = rootDirectory + File.separator + sub.getName() + File.separator\n+                        + i + fileExt;\n+                File file1 = new File(currentFile);\n+                if (file1.exists()) {\n+                    for (Integer j = 0; j < fileNum; ++j) {\n+                        currentFile = rootDirectory + File.separator + sub.getName() + File.separator\n+                                + i + dirExt + File.separator + j + fileExt;\n+                        file1 = new File(currentFile);\n+                        try {\n+                            if (file1.exists()) {\n+                                DataInputStream stream = new DataInputStream(new FileInputStream(currentFile));\n+                                byte[] data = new byte[(int) file1.length()];\n+                                stream.read(data);\n+                                String temp = new String(data, StandardCharsets.UTF_8);\n+                                recordsAmount += (temp.length() - temp.replaceAll(\" \", \"\").length()) / 4;\n+                            }\n+                        } catch (IOException s) {\n+                            return null;\n+                        }\n+                    }\n+                }\n+            }\n+            currentFile = new File(new File(new File(currentFile).getParent()).getParent()).getName();\n+            list.add(sub.getName());\n+            if (sub.getName().equals(usingTable)) {\n+                System.out.println(sub.getName() + \" \" + (recordsAmount + storage.size()));\n+            } else {\n+                System.out.println(sub.getName() + \" \" + recordsAmount);\n+            }\n+        }\n+        return list;\n+    }\n+\n+    void recRem(String myFile) {\n+        File file = new File(myFile);\n+        if (!file.exists()) {\n+            return;\n+        }\n+        if (file.isDirectory()) {\n+            for (File f : file.listFiles()) {\n+                recRem(f.getAbsolutePath());\n+            }\n+        }\n+        file.delete();\n+    }\n+\n+    public Object checkException(String name) throws IllegalArgumentException {\n+        try {\n+            if (name == null || name.length() > longestName) {\n+                throw new IllegalArgumentException();\n+            }\n+        } catch (IllegalArgumentException s) {\n+            System.err.println(s);\n+            return null;\n+        }\n+        return null;\n+    }\n+    private boolean whetherIsParsed(String[] toBeParsed, int readingIndex) {\n+        if (toBeParsed.length - readingIndex < 3) {\n+            return true;\n+        }\n+        return false;\n+    }\n+    private int parseString(ObjectTable table, String[] toBeParsed,\n+                            int readingIndex, int writingIndex, ObjectStoreable tempStoreable) {\n+        ++readingIndex;\n+        String toAdd = new String();\n+        while (!toBeParsed[readingIndex].equals(\"\\\"\")) {\n+            toAdd += toBeParsed[readingIndex];\n+            ++readingIndex;\n+        }\n+        tempStoreable.typeKeeper.add(writingIndex, String.class);\n+        tempStoreable.subValueList.add(writingIndex, \"\\\"\" + toAdd + \"\\\"\");\n+        return readingIndex;\n+    }\n+\n+    private int parseBoolean(ObjectTable table, String[] toBeParsed,\n+                             int readingIndex, int writingIndex, ObjectStoreable tempStoreable) {\n+        if (toBeParsed[readingIndex].equals(\"t\")) {\n+            tempStoreable.subValueList.add(writingIndex, true);\n+            readingIndex += 4;\n+        } else {\n+            tempStoreable.subValueList.add(writingIndex, false);\n+            readingIndex += 5;\n+        }\n+        tempStoreable.typeKeeper.add(writingIndex, boolean.class);\n+        return readingIndex;\n+    }\n+    private int parseNull(ObjectTable table, String[] toBeParsed,\n+                          int readingIndex, int writingIndex, ObjectStoreable tempStoreable) {\n+        tempStoreable.subValueList.add(writingIndex, null);\n+        readingIndex += 4;\n+        tempStoreable.typeKeeper.add(writingIndex, Object.class);\n+        return readingIndex;\n+    }\n+    private int parseNumber(ObjectTable table, String[] toBeParsed,\n+                            int readingIndex, int writingIndex, ObjectStoreable tempStoreable) {\n+        int firstIndex = readingIndex;\n+        int lastIndex = readingIndex;\n+        boolean isDouble = false;\n+        boolean isByte = false;\n+        while ((!toBeParsed[lastIndex].equals(\"]\")) && (!toBeParsed[lastIndex].equals(\",\"))) {\n+            // Checks if it's a boolean.\n+            if (toBeParsed[lastIndex].equals(\"x\")) {\n+                if (isDouble) {\n+                    return lastIndex;\n+                }\n+                isByte = true;\n+                ++lastIndex;\n+                continue;\n+            }\n+            if (toBeParsed[lastIndex].equals(\".\") && !isByte) {\n+                if (isByte) {\n+                    return lastIndex;\n+                }\n+                isDouble = true;\n+                ++lastIndex;\n+                continue;\n+            }\n+            ++lastIndex;\n+        }\n+        String temp = new String();\n+        for (int i = firstIndex; i < lastIndex; ++i) {\n+            temp += toBeParsed[i];\n+        }\n+        firstIndex = lastIndex + 2;\n+        if (isByte) { // Is Byte.\n+            tempStoreable.subValueList.add(writingIndex, Byte.parseByte(temp));\n+            tempStoreable.typeKeeper.add(writingIndex, byte.class);\n+            return lastIndex;\n+        }\n+        if (isDouble) {","path":"src/ru/fizteh/fivt/students/MaximGotovchits/Storeable/ObjectTableProvider.java","position":358,"original_position":358,"commit_id":"f8567f3e3d1453c005293b5ef40b3eea827f93b8","original_commit_id":"f8567f3e3d1453c005293b5ef40b3eea827f93b8","user":{"login":"AndreyW","id":8088194,"avatar_url":"https://avatars.githubusercontent.com/u/8088194?v=3","gravatar_id":"","url":"https://api.github.com/users/AndreyW","html_url":"https://github.com/AndreyW","followers_url":"https://api.github.com/users/AndreyW/followers","following_url":"https://api.github.com/users/AndreyW/following{/other_user}","gists_url":"https://api.github.com/users/AndreyW/gists{/gist_id}","starred_url":"https://api.github.com/users/AndreyW/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndreyW/subscriptions","organizations_url":"https://api.github.com/users/AndreyW/orgs","repos_url":"https://api.github.com/users/AndreyW/repos","events_url":"https://api.github.com/users/AndreyW/events{/privacy}","received_events_url":"https://api.github.com/users/AndreyW/received_events","type":"User","site_admin":false},"body":"Опять","created_at":"2014-12-09T23:03:45Z","updated_at":"2014-12-09T23:03:45Z","html_url":"https://github.com/dkomanov/fizteh-java-2014/pull/467#discussion_r21570919","pull_request_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467","_links":{"self":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/comments/21570919"},"html":{"href":"https://github.com/dkomanov/fizteh-java-2014/pull/467#discussion_r21570919"},"pull_request":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467"}}},"pull_request":{"url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467","id":25460922,"html_url":"https://github.com/dkomanov/fizteh-java-2014/pull/467","diff_url":"https://github.com/dkomanov/fizteh-java-2014/pull/467.diff","patch_url":"https://github.com/dkomanov/fizteh-java-2014/pull/467.patch","issue_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues/467","number":467,"state":"open","locked":false,"title":"Готовчиц Максим, 396, Storeable","user":{"login":"MaximGotovchits","id":8759433,"avatar_url":"https://avatars.githubusercontent.com/u/8759433?v=3","gravatar_id":"","url":"https://api.github.com/users/MaximGotovchits","html_url":"https://github.com/MaximGotovchits","followers_url":"https://api.github.com/users/MaximGotovchits/followers","following_url":"https://api.github.com/users/MaximGotovchits/following{/other_user}","gists_url":"https://api.github.com/users/MaximGotovchits/gists{/gist_id}","starred_url":"https://api.github.com/users/MaximGotovchits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaximGotovchits/subscriptions","organizations_url":"https://api.github.com/users/MaximGotovchits/orgs","repos_url":"https://api.github.com/users/MaximGotovchits/repos","events_url":"https://api.github.com/users/MaximGotovchits/events{/privacy}","received_events_url":"https://api.github.com/users/MaximGotovchits/received_events","type":"User","site_admin":false},"body":"JSON","created_at":"2014-12-03T23:21:30Z","updated_at":"2014-12-09T23:03:45Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4d2df90ad030becd6ac0fc18daee65749df8104f","assignee":{"login":"vpavlenko","id":1491908,"avatar_url":"https://avatars.githubusercontent.com/u/1491908?v=3","gravatar_id":"","url":"https://api.github.com/users/vpavlenko","html_url":"https://github.com/vpavlenko","followers_url":"https://api.github.com/users/vpavlenko/followers","following_url":"https://api.github.com/users/vpavlenko/following{/other_user}","gists_url":"https://api.github.com/users/vpavlenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vpavlenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpavlenko/subscriptions","organizations_url":"https://api.github.com/users/vpavlenko/orgs","repos_url":"https://api.github.com/users/vpavlenko/repos","events_url":"https://api.github.com/users/vpavlenko/events{/privacy}","received_events_url":"https://api.github.com/users/vpavlenko/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467/commits","review_comments_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467/comments","review_comment_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/comments/{number}","comments_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues/467/comments","statuses_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/statuses/f8567f3e3d1453c005293b5ef40b3eea827f93b8","head":{"label":"MaximGotovchits:Storeable","ref":"Storeable","sha":"f8567f3e3d1453c005293b5ef40b3eea827f93b8","user":{"login":"MaximGotovchits","id":8759433,"avatar_url":"https://avatars.githubusercontent.com/u/8759433?v=3","gravatar_id":"","url":"https://api.github.com/users/MaximGotovchits","html_url":"https://github.com/MaximGotovchits","followers_url":"https://api.github.com/users/MaximGotovchits/followers","following_url":"https://api.github.com/users/MaximGotovchits/following{/other_user}","gists_url":"https://api.github.com/users/MaximGotovchits/gists{/gist_id}","starred_url":"https://api.github.com/users/MaximGotovchits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaximGotovchits/subscriptions","organizations_url":"https://api.github.com/users/MaximGotovchits/orgs","repos_url":"https://api.github.com/users/MaximGotovchits/repos","events_url":"https://api.github.com/users/MaximGotovchits/events{/privacy}","received_events_url":"https://api.github.com/users/MaximGotovchits/received_events","type":"User","site_admin":false},"repo":{"id":26563334,"name":"fizteh-java-2014","full_name":"MaximGotovchits/fizteh-java-2014","owner":{"login":"MaximGotovchits","id":8759433,"avatar_url":"https://avatars.githubusercontent.com/u/8759433?v=3","gravatar_id":"","url":"https://api.github.com/users/MaximGotovchits","html_url":"https://github.com/MaximGotovchits","followers_url":"https://api.github.com/users/MaximGotovchits/followers","following_url":"https://api.github.com/users/MaximGotovchits/following{/other_user}","gists_url":"https://api.github.com/users/MaximGotovchits/gists{/gist_id}","starred_url":"https://api.github.com/users/MaximGotovchits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaximGotovchits/subscriptions","organizations_url":"https://api.github.com/users/MaximGotovchits/orgs","repos_url":"https://api.github.com/users/MaximGotovchits/repos","events_url":"https://api.github.com/users/MaximGotovchits/events{/privacy}","received_events_url":"https://api.github.com/users/MaximGotovchits/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MaximGotovchits/fizteh-java-2014","description":"","fork":true,"url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014","forks_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/forks","keys_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/teams","hooks_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/hooks","issue_events_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/issues/events{/number}","events_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/events","assignees_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/assignees{/user}","branches_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/branches{/branch}","tags_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/tags","blobs_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/git/refs{/sha}","trees_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/statuses/{sha}","languages_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/languages","stargazers_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/stargazers","contributors_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/contributors","subscribers_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/subscribers","subscription_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/subscription","commits_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/commits{/sha}","git_commits_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/git/commits{/sha}","comments_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/comments{/number}","issue_comment_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/issues/comments/{number}","contents_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/contents/{+path}","compare_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/merges","archive_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/downloads","issues_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/issues{/number}","pulls_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/pulls{/number}","milestones_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/milestones{/number}","notifications_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/labels{/name}","releases_url":"https://api.github.com/repos/MaximGotovchits/fizteh-java-2014/releases{/id}","created_at":"2014-11-13T00:42:39Z","updated_at":"2014-11-13T00:42:42Z","pushed_at":"2014-12-06T17:05:46Z","git_url":"git://github.com/MaximGotovchits/fizteh-java-2014.git","ssh_url":"git@github.com:MaximGotovchits/fizteh-java-2014.git","clone_url":"https://github.com/MaximGotovchits/fizteh-java-2014.git","svn_url":"https://github.com/MaximGotovchits/fizteh-java-2014","homepage":null,"size":8580,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dkomanov:master","ref":"master","sha":"2cc5506437e8bb65c7d2fbea8fc1798b5f5021c2","user":{"login":"dkomanov","id":1158662,"avatar_url":"https://avatars.githubusercontent.com/u/1158662?v=3","gravatar_id":"","url":"https://api.github.com/users/dkomanov","html_url":"https://github.com/dkomanov","followers_url":"https://api.github.com/users/dkomanov/followers","following_url":"https://api.github.com/users/dkomanov/following{/other_user}","gists_url":"https://api.github.com/users/dkomanov/gists{/gist_id}","starred_url":"https://api.github.com/users/dkomanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkomanov/subscriptions","organizations_url":"https://api.github.com/users/dkomanov/orgs","repos_url":"https://api.github.com/users/dkomanov/repos","events_url":"https://api.github.com/users/dkomanov/events{/privacy}","received_events_url":"https://api.github.com/users/dkomanov/received_events","type":"User","site_admin":false},"repo":{"id":23866876,"name":"fizteh-java-2014","full_name":"dkomanov/fizteh-java-2014","owner":{"login":"dkomanov","id":1158662,"avatar_url":"https://avatars.githubusercontent.com/u/1158662?v=3","gravatar_id":"","url":"https://api.github.com/users/dkomanov","html_url":"https://github.com/dkomanov","followers_url":"https://api.github.com/users/dkomanov/followers","following_url":"https://api.github.com/users/dkomanov/following{/other_user}","gists_url":"https://api.github.com/users/dkomanov/gists{/gist_id}","starred_url":"https://api.github.com/users/dkomanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkomanov/subscriptions","organizations_url":"https://api.github.com/users/dkomanov/orgs","repos_url":"https://api.github.com/users/dkomanov/repos","events_url":"https://api.github.com/users/dkomanov/events{/privacy}","received_events_url":"https://api.github.com/users/dkomanov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dkomanov/fizteh-java-2014","description":"","fork":false,"url":"https://api.github.com/repos/dkomanov/fizteh-java-2014","forks_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/forks","keys_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/teams","hooks_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/hooks","issue_events_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues/events{/number}","events_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/events","assignees_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/assignees{/user}","branches_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/branches{/branch}","tags_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/tags","blobs_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/git/refs{/sha}","trees_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/statuses/{sha}","languages_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/languages","stargazers_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/stargazers","contributors_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/contributors","subscribers_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/subscribers","subscription_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/subscription","commits_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/commits{/sha}","git_commits_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/git/commits{/sha}","comments_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/comments{/number}","issue_comment_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues/comments/{number}","contents_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/contents/{+path}","compare_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/merges","archive_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/downloads","issues_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues{/number}","pulls_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls{/number}","milestones_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/milestones{/number}","notifications_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/labels{/name}","releases_url":"https://api.github.com/repos/dkomanov/fizteh-java-2014/releases{/id}","created_at":"2014-09-10T08:32:49Z","updated_at":"2014-12-08T19:31:57Z","pushed_at":"2014-12-08T19:31:57Z","git_url":"git://github.com/dkomanov/fizteh-java-2014.git","ssh_url":"git@github.com:dkomanov/fizteh-java-2014.git","clone_url":"https://github.com/dkomanov/fizteh-java-2014.git","svn_url":"https://github.com/dkomanov/fizteh-java-2014","homepage":null,"size":29003,"stargazers_count":6,"watchers_count":6,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":85,"mirror_url":null,"open_issues_count":123,"forks":85,"open_issues":123,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467"},"html":{"href":"https://github.com/dkomanov/fizteh-java-2014/pull/467"},"issue":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues/467"},"comments":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/issues/467/comments"},"review_comments":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467/comments"},"review_comment":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/pulls/467/commits"},"statuses":{"href":"https://api.github.com/repos/dkomanov/fizteh-java-2014/statuses/f8567f3e3d1453c005293b5ef40b3eea827f93b8"}}}}