{"action":"created","comment":{"url":"https://api.github.com/repos/janisz/knowledge-representation/pulls/comments/68392358","id":68392358,"diff_hunk":"@@ -0,0 +1,395 @@\n+package pl.edu.pw.mini.msi.knowledgerepresentation;\r\n+\r\n+import org.slf4j.Logger;\r\n+import org.slf4j.LoggerFactory;\r\n+import pl.edu.pw.mini.msi.knowledgerepresentation.actionDomain.ActionDomain;\r\n+import pl.edu.pw.mini.msi.knowledgerepresentation.actionDomain.sentenceParts.*;\r\n+import pl.edu.pw.mini.msi.knowledgerepresentation.actionDomain.sentences.*;\r\n+import pl.edu.pw.mini.msi.knowledgerepresentation.grammar.ActionLanguageBaseListener;\r\n+import pl.edu.pw.mini.msi.knowledgerepresentation.grammar.ActionLanguageParser;\r\n+\r\n+public class ActionLanguageListener extends ActionLanguageBaseListener {\r\n+\r\n+    private static final Logger log = LoggerFactory.getLogger(ActionLanguageListener.class);\r\n+\r\n+    private Action lastAction = null;\r\n+    private Action preLastAction = null;\r\n+    private Actor lastActor = null;\r\n+    //private ActionLanguageParser.LogicalExpressionContext lastLogExpr = null;\r\n+    private EQueryType lastQueryType = EQueryType.always;\r\n+    private Fluent lastFluent = null;\r\n+    private IFormula lastFormula = null;\r\n+    private ScenarioName lastScenarioName = null;\r\n+    private Time lastTime = null;\r\n+    private boolean lastTypically = false;\r\n+\r\n+\r\n+    private boolean isInLogicalExpression = false;\r\n+    private IFormula lastUnderConditionFormula = null;\r\n+    private boolean isInUnderCondition = false;\r\n+\r\n+    //===========================================================================================\r\n+    private ActionDomain actionDomain = new ActionDomain();\r\n+\r\n+\r\n+    public ActionLanguageListener(ActionDomain actionDomain) {\r\n+        this.actionDomain = actionDomain;\r\n+        log.debug(\"ActionLanguageListener(ActionDomain actionDomain)\");\r\n+    }\r\n+\r\n+    public ActionDomain getActionDomain() {\r\n+        //actionDomain.baseSentences.add(...);\r\n+        //actionDomain.scenarios.add(...);\r\n+        //actionDomain.addQueries(...);\r\n+        actionDomain.calculateFullScenarios();\r\n+        actionDomain.calculateMappedQueries();\r\n+        actionDomain.fillFluentsAndActionsIDs();\r\n+\r\n+        return actionDomain;\r\n+    }\r\n+    //ActionLanguageParser.LogicalExpressionContext ctx;\r\n+    //===========================================================================================\r\n+\r\n+    /**\r\n+     * {@inheritDoc}\r\n+     * <p/>\r\n+     * <p>The default implementation does nothing.</p>\r\n+     */\r\n+    @Override\r\n+    public void enterProgramm(ActionLanguageParser.ProgrammContext ctx) {\r\n+    }\r\n+\r\n+    /**\r\n+     * {@inheritDoc}\r\n+     * <p/>\r\n+     * <p>The default implementation does nothing.</p>\r\n+     */\r\n+    @Override\r\n+    public void exitProgramm(ActionLanguageParser.ProgrammContext ctx) {\r\n+    }\r\n+\r\n+    private void clear(boolean clearLastScenarioName) {\r\n+        lastAction = null;\r\n+        preLastAction = null;\r\n+        lastActor = null;\r\n+        //ActionLanguageParser.LogicalExpressionContext lastLogExpr = null;\r\n+        lastQueryType = null;\r\n+        lastFluent = null;\r\n+        lastFormula = null;\r\n+        if (clearLastScenarioName) {\r\n+            lastScenarioName = null;\r\n+        }\r\n+        lastTime = null;\r\n+\r\n+\r\n+        lastTypically = false;\r\n+        isInLogicalExpression = false;\r\n+\r\n+        lastUnderConditionFormula = null;\r\n+        isInUnderCondition = false;\r\n+    }\r\n+\r\n+    @Override\r\n+    public void enterInstruction(ActionLanguageParser.InstructionContext ctx) {\r\n+        clear(true);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void exitInstruction(ActionLanguageParser.InstructionContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterEntry(ActionLanguageParser.EntryContext ctx) {\r\n+        lastTypically = !(ctx.TYPICALLY() == null);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitEntry(ActionLanguageParser.EntryContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterInitialization(ActionLanguageParser.InitializationContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitInitialization(ActionLanguageParser.InitializationContext ctx) {\r\n+        AtSentence atSentence = new AtSentence(lastFormula, new Time(\"0\"), this.actionDomain);\r\n+        this.actionDomain.addBaseSentence(atSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterCauses(ActionLanguageParser.CausesContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitCauses(ActionLanguageParser.CausesContext ctx) {\r\n+        //causes: action CAUSES logicalExpression underCondition?;\r\n+        CausesSentence causesSentence;\r\n+        //if (preLastFormula == null) {\r\n+        //    causesSentence = new CausesSentence(lastAction, lastFormula, null, actionDomain);\r\n+        //}\r\n+        //else {\r\n+        causesSentence = new CausesSentence(lastAction, lastFormula, lastUnderConditionFormula, actionDomain);\r\n+        //}\r\n+        actionDomain.addBaseSentence(causesSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterInvokes(ActionLanguageParser.InvokesContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitInvokes(ActionLanguageParser.InvokesContext ctx) {\r\n+        //invokes: action INVOKES action afterTime? underCondition?;\r\n+        InvokesSentence invokesSentence = new InvokesSentence(\r\n+                lastTypically, preLastAction, lastAction, lastTime, lastUnderConditionFormula, actionDomain);\r\n+        actionDomain.addBaseSentence(invokesSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterReleases(ActionLanguageParser.ReleasesContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitReleases(ActionLanguageParser.ReleasesContext ctx) {\r\n+        //releases: action RELEASES fluent underCondition?;\r\n+        ReleasesSentence releasesSentence = new ReleasesSentence(lastAction, lastFluent, lastUnderConditionFormula,\r\n+                actionDomain);\r\n+        actionDomain.addBaseSentence(releasesSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterTriggers(ActionLanguageParser.TriggersContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitTriggers(ActionLanguageParser.TriggersContext ctx) {\r\n+        //triggers: logicalExpression TRIGGERS action;\r\n+        TriggersSentence triggersSentence = new TriggersSentence(lastTypically, lastFormula, lastAction, actionDomain);\r\n+        actionDomain.addBaseSentence(triggersSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterOccurs(ActionLanguageParser.OccursContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitOccurs(ActionLanguageParser.OccursContext ctx) {\r\n+        //occurs: action OCCURS AT time;\r\n+        OccursAtSentence occursAtSentence = new OccursAtSentence(lastTypically, lastAction, lastTime, actionDomain);\r\n+        actionDomain.addBaseSentence(occursAtSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterAtsentence(ActionLanguageParser.AtsentenceContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitAtsentence(ActionLanguageParser.AtsentenceContext ctx) {\r\n+        //atsentence: logicalExpression AT time;\r\n+        AtSentence atSentence = new AtSentence(lastFormula, lastTime, actionDomain);\r\n+        actionDomain.addBaseSentence(atSentence);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterUnderCondition(ActionLanguageParser.UnderConditionContext ctx) {\r\n+        //lastUnderConditionFormula = new LogExprFormula( ctx.logicalExpression() );\r\n+        isInUnderCondition = true;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitUnderCondition(ActionLanguageParser.UnderConditionContext ctx) {\r\n+\r\n+        isInUnderCondition = false;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterAfterTime(ActionLanguageParser.AfterTimeContext ctx) {\r\n+        //lastTime = new Time( ctx.time().getText() ); //here commented, handled in enterTime\r\n+        //log.debug(\"enterAfterTime [\" + ctx.time().getText() + \"]\");\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitAfterTime(ActionLanguageParser.AfterTimeContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterAction(ActionLanguageParser.ActionContext ctx) {\r\n+        Actor foundActor = new Actor(ctx.actor().IDENTIFIER().getText());\r\n+        Task foundTask = new Task(ctx.task().NOT() != null, ctx.task().IDENTIFIER().getText());\r\n+        Action foundAction = new Action(foundActor, foundTask);\r\n+        if (lastAction == null) {\r\n+            lastAction = foundAction;\r\n+        } else {\r\n+            preLastAction = lastAction;\r\n+            lastAction = foundAction;\r\n+        }\r\n+        //log.debug(\"enterAction [\" + foundAction.toString() + \"]\");\r\n+        //log.debug(\"a\");\r\n+    }\r\n+\r\n+    @Override\r\n+    public void enterScenario(ActionLanguageParser.ScenarioContext ctx) {\r\n+        lastScenarioName = new ScenarioName(ctx.IDENTIFIER().getText());\r\n+        actionDomain.addEmptyScenario(lastScenarioName.scenarioName); //20150906\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitEvent(ActionLanguageParser.EventContext ctx) {\r\n+        OccursAtSentence occursAtSentence = new OccursAtSentence(false, lastAction, lastTime, actionDomain);\r\n+        actionDomain.addScenarioSentence(lastScenarioName.toString(), occursAtSentence);\r\n+        clear(false);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitObservation(ActionLanguageParser.ObservationContext ctx) {\r\n+        AtSentence atSentence = new AtSentence(lastFormula, lastTime, actionDomain);\r\n+        actionDomain.addScenarioSentence(lastScenarioName.toString(), atSentence);\r\n+        clear(false);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterLogicalExpression(ActionLanguageParser.LogicalExpressionContext ctx) {\r\n+        isInLogicalExpression = true;\r\n+        if (lastFormula == null) {\r\n+            lastFormula = new LogExprFormula(ctx);\r\n+        }\r\n+        if (isInUnderCondition) {\r\n+            if (lastUnderConditionFormula == null) {\r\n+                lastUnderConditionFormula = new LogExprFormula(ctx);\r\n+            }\r\n+        }\r\n+        //else {\r\n+        //    preLastFormula = lastFormula;\r\n+        //    lastFormula = new LogExprFormula(ctx);\r\n+        //} //I know this could be shrinked, but I prefer this way\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitLogicalExpression(ActionLanguageParser.LogicalExpressionContext ctx) {\r\n+        isInLogicalExpression = false;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitState(ActionLanguageParser.StateContext ctx) {\r\n+        //state: question logicalExpression AT time WHEN scenarioId;\r\n+        AtQuery atQuery = new AtQuery(lastQueryType, lastFormula, lastTime, lastScenarioName);\r\n+        actionDomain.addQuery(atQuery);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void exitPerformed(ActionLanguageParser.PerformedContext ctx) {\r\n+        //performed: question PERFORMED action AT time WHEN scenarioId;\r\n+        PerformedQuery performedQuery = new PerformedQuery(lastQueryType, lastAction, lastTime, lastScenarioName);\r\n+        actionDomain.addQuery(performedQuery);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitInvolved(ActionLanguageParser.InvolvedContext ctx) {\r\n+        //involved: basicQuestion INVOLVED actorsList WHEN scenarioId;\r\n+        InvolvedQuery involvedQuery = new InvolvedQuery(lastQueryType, lastActor, lastScenarioName);\r\n+        actionDomain.addQuery(involvedQuery);\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterQuestion(ActionLanguageParser.QuestionContext ctx) {\r\n+        if (ctx.TYPICALLY() != null) {\r\n+            lastQueryType = EQueryType.typically;\r\n+        }\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterBasicQuestion(ActionLanguageParser.BasicQuestionContext ctx) {\r\n+        if (ctx.ALWAYS() != null) {\r\n+            lastQueryType = EQueryType.always;\r\n+        }\r\n+        if (ctx.EVER() != null) {\r\n+            lastQueryType = EQueryType.ever;\r\n+        }\r\n+        //log.debug(\"enterBasicQuestion [\" + (ctx.ALWAYS() != null) + \"][\" + (ctx.EVER() != null) + \"]\");\r\n+        //log.debug(\"a\");\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterFluent(ActionLanguageParser.FluentContext ctx) {\r\n+        if (isInLogicalExpression == false) {\r\n+            lastFluent = new Fluent(ctx.IDENTIFIER().getText());\r\n+        }\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitFluent(ActionLanguageParser.FluentContext ctx) {\r\n+        ;\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterActor(ActionLanguageParser.ActorContext ctx) {\r\n+        lastActor = new Actor(ctx.IDENTIFIER().getText());\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void enterTime(ActionLanguageParser.TimeContext ctx) {\r\n+        lastTime = new Time(ctx.DecimalConstant().getText());\r\n+        //log.debug(\"enterTime [\" + lastTime.toString() + \"]\");\r\n+        //log.debug(\"a\");\r\n+\r\n+    }\r\n+\r\n+\r\n+    @Override\r\n+    public void exitTime(ActionLanguageParser.TimeContext ctx) {\r\n+        ;\r","path":"src/main/java/pl/edu/pw/mini/msi/knowledgerepresentation/ActionLanguageListener.java","position":384,"original_position":384,"commit_id":"1838c0e2bdd80c7d8eba7f3417fb72b0eb842252","original_commit_id":"1838c0e2bdd80c7d8eba7f3417fb72b0eb842252","user":{"login":"sputnikci","id":15047461,"avatar_url":"https://avatars.githubusercontent.com/u/15047461?v=3","gravatar_id":"","url":"https://api.github.com/users/sputnikci","html_url":"https://github.com/sputnikci","followers_url":"https://api.github.com/users/sputnikci/followers","following_url":"https://api.github.com/users/sputnikci/following{/other_user}","gists_url":"https://api.github.com/users/sputnikci/gists{/gist_id}","starred_url":"https://api.github.com/users/sputnikci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sputnikci/subscriptions","organizations_url":"https://api.github.com/users/sputnikci/orgs","repos_url":"https://api.github.com/users/sputnikci/repos","events_url":"https://api.github.com/users/sputnikci/events{/privacy}","received_events_url":"https://api.github.com/users/sputnikci/received_events","type":"User","site_admin":false},"body":"\\[Checkstyle\\] ERROR: Empty statement\\.","created_at":"2016-06-24T12:43:23Z","updated_at":"2016-06-24T12:43:23Z","html_url":"https://github.com/janisz/knowledge-representation/pull/9#discussion_r68392358","pull_request_url":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9","_links":{"self":{"href":"https://api.github.com/repos/janisz/knowledge-representation/pulls/comments/68392358"},"html":{"href":"https://github.com/janisz/knowledge-representation/pull/9#discussion_r68392358"},"pull_request":{"href":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9"}}},"pull_request":{"url":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9","id":75107902,"html_url":"https://github.com/janisz/knowledge-representation/pull/9","diff_url":"https://github.com/janisz/knowledge-representation/pull/9.diff","patch_url":"https://github.com/janisz/knowledge-representation/pull/9.patch","issue_url":"https://api.github.com/repos/janisz/knowledge-representation/issues/9","number":9,"state":"open","locked":false,"title":"Test ","user":{"login":"janisz","id":1616386,"avatar_url":"https://avatars.githubusercontent.com/u/1616386?v=3","gravatar_id":"","url":"https://api.github.com/users/janisz","html_url":"https://github.com/janisz","followers_url":"https://api.github.com/users/janisz/followers","following_url":"https://api.github.com/users/janisz/following{/other_user}","gists_url":"https://api.github.com/users/janisz/gists{/gist_id}","starred_url":"https://api.github.com/users/janisz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janisz/subscriptions","organizations_url":"https://api.github.com/users/janisz/orgs","repos_url":"https://api.github.com/users/janisz/repos","events_url":"https://api.github.com/users/janisz/events{/privacy}","received_events_url":"https://api.github.com/users/janisz/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-06-24T12:39:25Z","updated_at":"2016-06-24T12:43:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"978175307bf4edae012251fe4d223f60622a44fa","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9/commits","review_comments_url":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9/comments","review_comment_url":"https://api.github.com/repos/janisz/knowledge-representation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/janisz/knowledge-representation/issues/9/comments","statuses_url":"https://api.github.com/repos/janisz/knowledge-representation/statuses/1838c0e2bdd80c7d8eba7f3417fb72b0eb842252","head":{"label":"janisz:master","ref":"master","sha":"1838c0e2bdd80c7d8eba7f3417fb72b0eb842252","user":{"login":"janisz","id":1616386,"avatar_url":"https://avatars.githubusercontent.com/u/1616386?v=3","gravatar_id":"","url":"https://api.github.com/users/janisz","html_url":"https://github.com/janisz","followers_url":"https://api.github.com/users/janisz/followers","following_url":"https://api.github.com/users/janisz/following{/other_user}","gists_url":"https://api.github.com/users/janisz/gists{/gist_id}","starred_url":"https://api.github.com/users/janisz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janisz/subscriptions","organizations_url":"https://api.github.com/users/janisz/orgs","repos_url":"https://api.github.com/users/janisz/repos","events_url":"https://api.github.com/users/janisz/events{/privacy}","received_events_url":"https://api.github.com/users/janisz/received_events","type":"User","site_admin":false},"repo":{"id":31734459,"name":"knowledge-representation","full_name":"janisz/knowledge-representation","owner":{"login":"janisz","id":1616386,"avatar_url":"https://avatars.githubusercontent.com/u/1616386?v=3","gravatar_id":"","url":"https://api.github.com/users/janisz","html_url":"https://github.com/janisz","followers_url":"https://api.github.com/users/janisz/followers","following_url":"https://api.github.com/users/janisz/following{/other_user}","gists_url":"https://api.github.com/users/janisz/gists{/gist_id}","starred_url":"https://api.github.com/users/janisz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janisz/subscriptions","organizations_url":"https://api.github.com/users/janisz/orgs","repos_url":"https://api.github.com/users/janisz/repos","events_url":"https://api.github.com/users/janisz/events{/privacy}","received_events_url":"https://api.github.com/users/janisz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/janisz/knowledge-representation","description":"Scenariusze działań z projektami domyślymi","fork":false,"url":"https://api.github.com/repos/janisz/knowledge-representation","forks_url":"https://api.github.com/repos/janisz/knowledge-representation/forks","keys_url":"https://api.github.com/repos/janisz/knowledge-representation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/janisz/knowledge-representation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/janisz/knowledge-representation/teams","hooks_url":"https://api.github.com/repos/janisz/knowledge-representation/hooks","issue_events_url":"https://api.github.com/repos/janisz/knowledge-representation/issues/events{/number}","events_url":"https://api.github.com/repos/janisz/knowledge-representation/events","assignees_url":"https://api.github.com/repos/janisz/knowledge-representation/assignees{/user}","branches_url":"https://api.github.com/repos/janisz/knowledge-representation/branches{/branch}","tags_url":"https://api.github.com/repos/janisz/knowledge-representation/tags","blobs_url":"https://api.github.com/repos/janisz/knowledge-representation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/janisz/knowledge-representation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/janisz/knowledge-representation/git/refs{/sha}","trees_url":"https://api.github.com/repos/janisz/knowledge-representation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/janisz/knowledge-representation/statuses/{sha}","languages_url":"https://api.github.com/repos/janisz/knowledge-representation/languages","stargazers_url":"https://api.github.com/repos/janisz/knowledge-representation/stargazers","contributors_url":"https://api.github.com/repos/janisz/knowledge-representation/contributors","subscribers_url":"https://api.github.com/repos/janisz/knowledge-representation/subscribers","subscription_url":"https://api.github.com/repos/janisz/knowledge-representation/subscription","commits_url":"https://api.github.com/repos/janisz/knowledge-representation/commits{/sha}","git_commits_url":"https://api.github.com/repos/janisz/knowledge-representation/git/commits{/sha}","comments_url":"https://api.github.com/repos/janisz/knowledge-representation/comments{/number}","issue_comment_url":"https://api.github.com/repos/janisz/knowledge-representation/issues/comments{/number}","contents_url":"https://api.github.com/repos/janisz/knowledge-representation/contents/{+path}","compare_url":"https://api.github.com/repos/janisz/knowledge-representation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/janisz/knowledge-representation/merges","archive_url":"https://api.github.com/repos/janisz/knowledge-representation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/janisz/knowledge-representation/downloads","issues_url":"https://api.github.com/repos/janisz/knowledge-representation/issues{/number}","pulls_url":"https://api.github.com/repos/janisz/knowledge-representation/pulls{/number}","milestones_url":"https://api.github.com/repos/janisz/knowledge-representation/milestones{/number}","notifications_url":"https://api.github.com/repos/janisz/knowledge-representation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/janisz/knowledge-representation/labels{/name}","releases_url":"https://api.github.com/repos/janisz/knowledge-representation/releases{/id}","deployments_url":"https://api.github.com/repos/janisz/knowledge-representation/deployments","created_at":"2015-03-05T20:23:42Z","updated_at":"2016-03-04T14:37:52Z","pushed_at":"2016-06-24T12:39:25Z","git_url":"git://github.com/janisz/knowledge-representation.git","ssh_url":"git@github.com:janisz/knowledge-representation.git","clone_url":"https://github.com/janisz/knowledge-representation.git","svn_url":"https://github.com/janisz/knowledge-representation","homepage":null,"size":1903,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"janisz:test","ref":"test","sha":"c04df47408f65061dd7e1065a09a3ba1f95d2dc5","user":{"login":"janisz","id":1616386,"avatar_url":"https://avatars.githubusercontent.com/u/1616386?v=3","gravatar_id":"","url":"https://api.github.com/users/janisz","html_url":"https://github.com/janisz","followers_url":"https://api.github.com/users/janisz/followers","following_url":"https://api.github.com/users/janisz/following{/other_user}","gists_url":"https://api.github.com/users/janisz/gists{/gist_id}","starred_url":"https://api.github.com/users/janisz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janisz/subscriptions","organizations_url":"https://api.github.com/users/janisz/orgs","repos_url":"https://api.github.com/users/janisz/repos","events_url":"https://api.github.com/users/janisz/events{/privacy}","received_events_url":"https://api.github.com/users/janisz/received_events","type":"User","site_admin":false},"repo":{"id":31734459,"name":"knowledge-representation","full_name":"janisz/knowledge-representation","owner":{"login":"janisz","id":1616386,"avatar_url":"https://avatars.githubusercontent.com/u/1616386?v=3","gravatar_id":"","url":"https://api.github.com/users/janisz","html_url":"https://github.com/janisz","followers_url":"https://api.github.com/users/janisz/followers","following_url":"https://api.github.com/users/janisz/following{/other_user}","gists_url":"https://api.github.com/users/janisz/gists{/gist_id}","starred_url":"https://api.github.com/users/janisz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janisz/subscriptions","organizations_url":"https://api.github.com/users/janisz/orgs","repos_url":"https://api.github.com/users/janisz/repos","events_url":"https://api.github.com/users/janisz/events{/privacy}","received_events_url":"https://api.github.com/users/janisz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/janisz/knowledge-representation","description":"Scenariusze działań z projektami domyślymi","fork":false,"url":"https://api.github.com/repos/janisz/knowledge-representation","forks_url":"https://api.github.com/repos/janisz/knowledge-representation/forks","keys_url":"https://api.github.com/repos/janisz/knowledge-representation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/janisz/knowledge-representation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/janisz/knowledge-representation/teams","hooks_url":"https://api.github.com/repos/janisz/knowledge-representation/hooks","issue_events_url":"https://api.github.com/repos/janisz/knowledge-representation/issues/events{/number}","events_url":"https://api.github.com/repos/janisz/knowledge-representation/events","assignees_url":"https://api.github.com/repos/janisz/knowledge-representation/assignees{/user}","branches_url":"https://api.github.com/repos/janisz/knowledge-representation/branches{/branch}","tags_url":"https://api.github.com/repos/janisz/knowledge-representation/tags","blobs_url":"https://api.github.com/repos/janisz/knowledge-representation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/janisz/knowledge-representation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/janisz/knowledge-representation/git/refs{/sha}","trees_url":"https://api.github.com/repos/janisz/knowledge-representation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/janisz/knowledge-representation/statuses/{sha}","languages_url":"https://api.github.com/repos/janisz/knowledge-representation/languages","stargazers_url":"https://api.github.com/repos/janisz/knowledge-representation/stargazers","contributors_url":"https://api.github.com/repos/janisz/knowledge-representation/contributors","subscribers_url":"https://api.github.com/repos/janisz/knowledge-representation/subscribers","subscription_url":"https://api.github.com/repos/janisz/knowledge-representation/subscription","commits_url":"https://api.github.com/repos/janisz/knowledge-representation/commits{/sha}","git_commits_url":"https://api.github.com/repos/janisz/knowledge-representation/git/commits{/sha}","comments_url":"https://api.github.com/repos/janisz/knowledge-representation/comments{/number}","issue_comment_url":"https://api.github.com/repos/janisz/knowledge-representation/issues/comments{/number}","contents_url":"https://api.github.com/repos/janisz/knowledge-representation/contents/{+path}","compare_url":"https://api.github.com/repos/janisz/knowledge-representation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/janisz/knowledge-representation/merges","archive_url":"https://api.github.com/repos/janisz/knowledge-representation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/janisz/knowledge-representation/downloads","issues_url":"https://api.github.com/repos/janisz/knowledge-representation/issues{/number}","pulls_url":"https://api.github.com/repos/janisz/knowledge-representation/pulls{/number}","milestones_url":"https://api.github.com/repos/janisz/knowledge-representation/milestones{/number}","notifications_url":"https://api.github.com/repos/janisz/knowledge-representation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/janisz/knowledge-representation/labels{/name}","releases_url":"https://api.github.com/repos/janisz/knowledge-representation/releases{/id}","deployments_url":"https://api.github.com/repos/janisz/knowledge-representation/deployments","created_at":"2015-03-05T20:23:42Z","updated_at":"2016-03-04T14:37:52Z","pushed_at":"2016-06-24T12:39:25Z","git_url":"git://github.com/janisz/knowledge-representation.git","ssh_url":"git@github.com:janisz/knowledge-representation.git","clone_url":"https://github.com/janisz/knowledge-representation.git","svn_url":"https://github.com/janisz/knowledge-representation","homepage":null,"size":1903,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9"},"html":{"href":"https://github.com/janisz/knowledge-representation/pull/9"},"issue":{"href":"https://api.github.com/repos/janisz/knowledge-representation/issues/9"},"comments":{"href":"https://api.github.com/repos/janisz/knowledge-representation/issues/9/comments"},"review_comments":{"href":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9/comments"},"review_comment":{"href":"https://api.github.com/repos/janisz/knowledge-representation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/janisz/knowledge-representation/pulls/9/commits"},"statuses":{"href":"https://api.github.com/repos/janisz/knowledge-representation/statuses/1838c0e2bdd80c7d8eba7f3417fb72b0eb842252"}}}}
{"actor":{"display_login":"sputnikci"}}