{"action":"created","comment":{"url":"https://api.github.com/repos/dotCMS/core/pulls/comments/223493442","pull_request_review_id":162634784,"id":223493442,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMzQ5MzQ0Mg==","diff_hunk":"@@ -1438,5 +1457,472 @@ public void Test_Fire_Save_Instance_Then_Fire_Update_Instance() throws Exception\n         }\n     }\n \n+    static ImmutableMap <Class, DataTypes> fieldTypesMetaDataMap = new ImmutableMap.Builder<Class, DataTypes>()\n+            //   .put(BinaryField.class, DataTypes.SYSTEM)\n+            //   .put(CategoryField.class, DataTypes.SYSTEM)\n+                .put(CheckboxField.class, DataTypes.TEXT)\n+                .put(CustomField.class, DataTypes.LONG_TEXT)\n+                .put(DateField.class, DataTypes.DATE)\n+                .put(DateTimeField.class, DataTypes.DATE)\n+            //   .put(FileField.class, DataTypes.TEXT)\n+            //   .put(HiddenField.class, DataTypes.SYSTEM)\n+            //   .put(HostFolderField.class,DataTypes.SYSTEM)\n+                .put(ImageField.class,DataTypes.TEXT)\n+                .put(KeyValueField.class,DataTypes.LONG_TEXT)\n+            //   .put(LineDividerField.class,DataTypes.SYSTEM)\n+                .put(MultiSelectField.class,DataTypes.LONG_TEXT)\n+            //   .put(PermissionTabField.class,DataTypes.SYSTEM)\n+                .put(RadioField.class,DataTypes.TEXT)\n+            //   .put(RelationshipField.class,DataTypes.SYSTEM)\n+            //   .put(RelationshipsTabField.class,  DataTypes.SYSTEM)\n+                .put(SelectField.class, DataTypes.TEXT)\n+            //   .put(TabDividerField.class, DataTypes.SYSTEM)\n+            //   .put(TagField.class, DataTypes.SYSTEM)\n+                .put(TextField.class, DataTypes.TEXT)\n+                .put(TextAreaField.class, DataTypes.LONG_TEXT)\n+                .put(TimeField.class, DataTypes.DATE)\n+                .put(WysiwygField.class, DataTypes.LONG_TEXT)\n+                .build();\n+\n+\n+    private static final String SAVE_ACTION_ID = \"ceca71a0-deee-4999-bd47-b01baa1bcfc8\";\n+    private static final String NON_REQUIRED_IMAGE_FIELD_NAME = \"nonRequiredImageField\";\n+    private static final String NON_REQUIRED_IMAGE_VALUE= \"/path/to/the/image/random.jpg\";\n+\n+    private static final String REQUIRED_TEXT_FIELD_NAME = \"requiredTextField\";\n+    private static final String REQUIRED_TEXT_FIELD_VALUE= \"This Value is Required\";\n+\n+    private static final String NON_REQUIRED_TEXT_FIELD_NAME = \"nonRequiredTextField\";\n+    private static final String NON_REQUIRED_TEXT_FIELD_VALUE= \"This Value isn't required\";\n+\n+    private static final String REQUIRED_NUMERIC_TEXT_FIELD_NAME = \"requiredNumericTextField\";\n+    private static final String REQUIRED_NUMERIC_TEXT_FIELD_VALUE= \"0\";\n+\n+    private static final String NON_REQUIRED_NUMERIC_TEXT_FIELD_NAME = \"nonRequiredNumericTextField\";\n+    private static final String NON_REQUIRED_NUMERIC_TEXT_FIELD_VALUE= \"0\";\n+\n+    @Test\n+    public void Test_Fire_Save_Remove_Image_Then_Verify_Fields_Were_Cleared_Issue_15340() throws Exception {\n+\n+        final User sysUser = APILocator.systemUser();\n+        final FieldAPI fieldAPI = APILocator.getContentTypeFieldAPI();\n+\n+        ContentType contentType = null;\n+        try {\n+            // We create a contentType that is associated with the two workflows that come out of the box.\n+            contentType = createSampleContentType();\n+            Contentlet brandNewContentlet = null;\n+            try {\n+\n+                //Lets add even more fields to the contentType.\n+                Field imageField =\n+                        FieldBuilder.builder(ImageField.class).name(NON_REQUIRED_IMAGE_FIELD_NAME).variable(NON_REQUIRED_IMAGE_FIELD_NAME)\n+                                .required(false)\n+                                .contentTypeId(contentType.id()).dataType(DataTypes.TEXT).build();\n+\n+                imageField = fieldAPI.save(imageField, sysUser);\n+                final List<Field> fields = Stream.concat (\n+                        Stream.of(imageField),contentType.fields().stream()).collect(\n+                                CollectionsUtils.toImmutableList()\n+                        );\n+\n+                contentType = contentTypeAPI.save(contentType, fields);\n+\n+                //Save Action (Creates the initial content)\n+                final FireActionForm.Builder builder1 = new FireActionForm.Builder();\n+                final Map <String,Object>contentletFormData = new HashMap<>();\n+                contentletFormData.put(\"stInode\", contentType.inode());\n+                contentletFormData.put(REQUIRED_TEXT_FIELD_NAME, REQUIRED_TEXT_FIELD_VALUE);\n+                contentletFormData.put(NON_REQUIRED_IMAGE_FIELD_NAME, NON_REQUIRED_IMAGE_VALUE);\n+                builder1.contentletFormData(contentletFormData);\n+\n+                final FireActionForm fireActionForm1 = new FireActionForm(builder1);\n+                final HttpServletRequest request1 = mock(HttpServletRequest.class);\n+                final Response response1 = workflowResource\n+                        .fireAction(request1, null, SAVE_ACTION_ID, fireActionForm1);\n+\n+                final int statusCode1 = response1.getStatus();\n+                assertEquals(Status.OK.getStatusCode(), statusCode1);\n+                final ResponseEntityView fireEntityView1 = ResponseEntityView.class\n+                        .cast(response1.getEntity());\n+                brandNewContentlet = Contentlet.class.cast(fireEntityView1.getEntity());\n+                assertNotNull(brandNewContentlet);\n+                assertEquals(REQUIRED_TEXT_FIELD_VALUE, brandNewContentlet.getMap().get(REQUIRED_TEXT_FIELD_NAME));\n+                assertEquals(NON_REQUIRED_IMAGE_VALUE, brandNewContentlet.getMap().get(NON_REQUIRED_IMAGE_FIELD_NAME));\n+\n+                //Save Action (Creates the initial content)\n+                final FireActionForm.Builder builder2 = new FireActionForm.Builder();\n+                final Map <String,Object>contentletFormData2 = new HashMap<>();\n+                contentletFormData2.put(\"stInode\", contentType.inode());\n+                // We're not sending this property here so we can verify it comes back without any modifications.\n+                //contentletFormData.put(\"requiredField\", \"value-1\");\n+                //W're just marking the image null so we can get it removed.\n+                contentletFormData2.put(NON_REQUIRED_IMAGE_FIELD_NAME, null);\n+                builder2.contentletFormData(contentletFormData2);\n+\n+                final FireActionForm fireActionForm2 = new FireActionForm(builder2);\n+                final HttpServletRequest request2 = mock(HttpServletRequest.class);\n+                final Response response2 = workflowResource\n+                        .fireAction(request2, brandNewContentlet.getInode(), SAVE_ACTION_ID, fireActionForm2);\n+\n+                final int statusCode2 = response2.getStatus();\n+                assertEquals(Status.OK.getStatusCode(), statusCode2);\n+                final ResponseEntityView fireEntityView2 = ResponseEntityView.class\n+                        .cast(response2.getEntity());\n+                Contentlet fetchedContentlet = Contentlet.class.cast(fireEntityView2.getEntity());\n+                assertNotNull(fetchedContentlet);\n+                assertEquals(REQUIRED_TEXT_FIELD_VALUE, fetchedContentlet.getMap().get(REQUIRED_TEXT_FIELD_NAME));\n+\n+                assertNull(fetchedContentlet.getMap().get(NON_REQUIRED_IMAGE_FIELD_NAME)); // Image.. still should be gone!\n+\n+                final Contentlet found = APILocator.getContentletAPI().find(fetchedContentlet.getInode(), sysUser,false);\n+                assertNotNull(found);\n+\n+                assertEquals(REQUIRED_TEXT_FIELD_VALUE, found.getMap().get(REQUIRED_TEXT_FIELD_NAME));\n+                assertNull(found.getMap().get(NON_REQUIRED_IMAGE_FIELD_NAME)); // Image.. still should be gone!\n+                //if we send null we should get back null.\n+\n+            }finally {\n+                if(null != brandNewContentlet){\n+                    contentletAPI.archive(brandNewContentlet, APILocator.systemUser(), false);\n+                    contentletAPI.delete(brandNewContentlet, APILocator.systemUser(), false);\n+                }\n+            }\n+\n+        }finally {\n+            if(null != contentType){\n+                contentTypeAPI.delete(contentType);\n+            }\n+        }\n+    }\n+\n+\n+    @Test\n+    public void Test_Set_Value_on_All_NonRequired_Fields_Then_Fire_Save_Set_Null_Then_Verify_Fields_Were_Cleared_Issue_15340()\n+            throws Exception {\n+\n+        ContentType contentType = null;\n+        try {\n+            // We create a contentType that is associated with the two workflows that come out of the box.\n+            contentType = createLargeContentType(false);\n+            Contentlet brandNewContentlet = null;\n+\n+            //Save Action (Creates the initial content)\n+            final FireActionForm.Builder builder1 = new FireActionForm.Builder();\n+            final Map <String,Object>contentletFormData = new HashMap<>();\n+            contentletFormData.put(\"stInode\", contentType.inode());\n+            for(final Field field : contentType.fields()){\n+                final Object value = generateValue(field);\n+                if( null != value){\n+                    contentletFormData.put(field.name(), value);\n+                }\n+            }\n+            builder1.contentletFormData(contentletFormData);\n+            final FireActionForm fireActionForm1 = new FireActionForm(builder1);\n+            final HttpServletRequest request1 = mock(HttpServletRequest.class);\n+            final Response response1 = workflowResource\n+                    .fireAction(request1, null, SAVE_ACTION_ID, fireActionForm1);\n+\n+            final int statusCode1 = response1.getStatus();\n+            assertEquals(Status.OK.getStatusCode(), statusCode1);\n+            final ResponseEntityView fireEntityView1 = ResponseEntityView.class\n+                    .cast(response1.getEntity());\n+            brandNewContentlet = Contentlet.class.cast(fireEntityView1.getEntity());\n+            assertNotNull(brandNewContentlet);\n+\n+            for(final Field field : contentType.fields()){\n+                assertNotNull(brandNewContentlet.get(field.name()));\n+            }\n+\n+            final FireActionForm.Builder builder2 = new FireActionForm.Builder();\n+            final Map <String,Object>contentletFormData2 = new HashMap<>();\n+            contentletFormData2.put(\"stInode\", contentType.inode());\n+            for(final Field field : contentType.fields()){\n+                contentletFormData2.put(field.name(), null);\n+            }\n+            builder2.contentletFormData(contentletFormData2);\n+            final FireActionForm fireActionForm2 = new FireActionForm(builder2);\n+            final HttpServletRequest request2 = mock(HttpServletRequest.class);\n+            final Response response2 = workflowResource\n+                    .fireAction(request2, brandNewContentlet.getInode(), SAVE_ACTION_ID, fireActionForm2);\n+\n+            final int statusCode2 = response2.getStatus();\n+            assertEquals(Status.OK.getStatusCode(), statusCode2);\n+\n+            final ResponseEntityView fireEntityView2 = ResponseEntityView.class\n+                    .cast(response2.getEntity());\n+            final Contentlet fetchedContentlet = Contentlet.class.cast(fireEntityView2.getEntity());\n+            assertNotNull(fetchedContentlet);\n+\n+            for(final Field field : contentType.fields()){\n+                assertNull(fetchedContentlet.get(field.name()));\n+            }\n+\n+        } finally {\n+            if (null != contentType) {\n+                contentTypeAPI.delete(contentType);\n+            }\n+        }\n+\n+    }\n+\n+\n+    /**\n+     * This Test demostrates that the workflow resource is capable of performing an update on a subset of fields.\n+     * @throws Exception\n+     */\n+    @Test\n+    public void Test_Create_Instance_Of_Content_With_Mandatory_Fields_Then_Send_Partial_Number_Of_Required_Fields_Issue_15340()\n+        throws Exception {\n+        ContentType contentType = null;\n+        try {\n+            // This CT has a mix of required and non-required fields.\n+            contentType = createMixedRequiredAndNonRequiredFieldsContentType();\n+            Contentlet brandNewContentlet = null;\n+\n+            //Save Action (Creates the initial content)\n+            final FireActionForm.Builder builder1 = new FireActionForm.Builder();\n+            final Map <String,Object>contentletFormData = new HashMap<>();\n+            contentletFormData.put(\"stInode\", contentType.inode());\n+            contentletFormData.put(REQUIRED_TEXT_FIELD_NAME, REQUIRED_TEXT_FIELD_VALUE);\n+            contentletFormData.put(NON_REQUIRED_TEXT_FIELD_NAME, NON_REQUIRED_TEXT_FIELD_VALUE);\n+\n+            builder1.contentletFormData(contentletFormData);\n+            final FireActionForm fireActionForm1 = new FireActionForm(builder1);\n+            final HttpServletRequest request1 = mock(HttpServletRequest.class);\n+            final Response response1 = workflowResource\n+                    .fireAction(request1, null, SAVE_ACTION_ID, fireActionForm1);\n+\n+            final int statusCode1 = response1.getStatus();\n+            assertEquals(Status.OK.getStatusCode(), statusCode1);\n+            final ResponseEntityView fireEntityView1 = ResponseEntityView.class\n+                    .cast(response1.getEntity());\n+            brandNewContentlet = Contentlet.class.cast(fireEntityView1.getEntity());\n+            assertNotNull(brandNewContentlet);\n+\n+            //Once the content has been created lets send another request with half the fields\n+\n+            final FireActionForm.Builder builder2 = new FireActionForm.Builder();\n+\n+            final String NON_REQUIRED_UPDATED_VALUE = \"Non required updated value.\";\n+\n+            final Map <String,Object>contentletFormData2 = new HashMap<>();\n+            contentletFormData2.put(\"stInode\", contentType.inode());\n+            contentletFormData2.put(NON_REQUIRED_TEXT_FIELD_NAME, NON_REQUIRED_UPDATED_VALUE);\n+            builder2.contentletFormData(contentletFormData2);\n+\n+            final FireActionForm fireActionForm2 = new FireActionForm(builder2);\n+            final HttpServletRequest request2 = mock(HttpServletRequest.class);\n+            final Response response2 = workflowResource\n+                    .fireAction(request2, brandNewContentlet.getInode(), SAVE_ACTION_ID, fireActionForm2);\n+\n+            final int statusCode2 = response2.getStatus();\n+            assertEquals(Status.OK.getStatusCode(), statusCode2);\n+\n+            //Now we need to test sending only required fields and not the nonRequired see if they get affected!!!\n+\n+            final ResponseEntityView fireEntityView2 = ResponseEntityView.class\n+                    .cast(response2.getEntity());\n+            final Contentlet fetchedContentlet = Contentlet.class.cast(fireEntityView2.getEntity());\n+            assertNotNull(fetchedContentlet);\n+\n+            //This one got changed. It is expected since we are using the resource to modify its value.\n+            assertEquals(NON_REQUIRED_UPDATED_VALUE, fetchedContentlet.getMap().get(NON_REQUIRED_TEXT_FIELD_NAME));\n+            //This one should remain unchanged. since it never got send on the form.\n+            assertEquals(REQUIRED_TEXT_FIELD_VALUE, fetchedContentlet.getMap().get(REQUIRED_TEXT_FIELD_NAME));\n+\n+\n+            //Meaning the endpoint is flexible to modify a subset of fields. No need to send them all.\n+        } finally {\n+            if (null != contentType) {\n+                contentTypeAPI.delete(contentType);\n+            }\n+        }\n+    }\n+\n+    @Test\n+    public void Test_Create_Instance_Of_Content_With_Numeric_Fields_Verify_Message_When_Setting_Invalid_Values_Issue_15340()\n+            throws Exception {\n+        ContentType contentType = null;\n+        try {\n+            // This CT has a mix of required and non-required fields.\n+            contentType = createNumericRequiredAndNonRequiredFieldsContentType();\n+            Contentlet brandNewContentlet = null;\n+\n+            //Save Action (Creates the initial content)\n+            final FireActionForm.Builder builder1 = new FireActionForm.Builder();\n+            final Map<String, Object> contentletFormData = new HashMap<>();\n+            contentletFormData.put(\"stInode\", contentType.inode());\n+            contentletFormData.put(REQUIRED_NUMERIC_TEXT_FIELD_NAME, \"0\");\n+            contentletFormData.put(NON_REQUIRED_NUMERIC_TEXT_FIELD_NAME, \"0\");\n+\n+            builder1.contentletFormData(contentletFormData);\n+            final FireActionForm fireActionForm1 = new FireActionForm(builder1);\n+            final HttpServletRequest request1 = mock(HttpServletRequest.class);\n+            final Response response1 = workflowResource\n+                    .fireAction(request1, null, SAVE_ACTION_ID, fireActionForm1);\n+\n+            final int statusCode1 = response1.getStatus();\n+            assertEquals(Status.OK.getStatusCode(), statusCode1);\n+\n+            final ResponseEntityView fireEntityView1 = ResponseEntityView.class\n+                    .cast(response1.getEntity());\n+            brandNewContentlet = Contentlet.class.cast(fireEntityView1.getEntity());\n+            assertNotNull(brandNewContentlet);\n+\n+            final FireActionForm.Builder builder2 = new FireActionForm.Builder();\n+            final Map <String,Object>contentletFormData2 = new HashMap<>();\n+            contentletFormData2.put(\"stInode\", contentType.inode());\n+            contentletFormData2.put(REQUIRED_NUMERIC_TEXT_FIELD_NAME, null);\n+            contentletFormData2.put(NON_REQUIRED_NUMERIC_TEXT_FIELD_NAME, \"0\");\n+            builder2.contentletFormData(contentletFormData2);\n+\n+            final FireActionForm fireActionForm2 = new FireActionForm(builder2);\n+            final HttpServletRequest request2 = mock(HttpServletRequest.class);\n+            final Response response2 = workflowResource\n+                    .fireAction(request2, brandNewContentlet.getInode(), SAVE_ACTION_ID, fireActionForm2);\n+\n+            final int statusCode2 = response2.getStatus();\n+            assertEquals(Status.BAD_REQUEST.getStatusCode(), statusCode2);\n+            final ResponseEntityView errorEntityView = ResponseEntityView.class.cast(response2.getEntity());\n+            assertEquals(1, errorEntityView.getErrors().stream().filter(errorEntity -> \"required\".equals(errorEntity.getErrorCode())).count());\n+\n+        } finally {\n+            if (null != contentType) {\n+                contentTypeAPI.delete(contentType);\n+            }\n+        }\n+    }\n+\n+    private ContentType createNumericRequiredAndNonRequiredFieldsContentType() throws Exception{\n+        ContentType contentType;\n+        final String ctPrefix = \"NumericRequiredAndNonRequiredFieldsContentType\";\n+        final String newContentTypeName = ctPrefix + System.currentTimeMillis();\n \n+        // Create ContentType\n+        contentType = createContentTypeAndAssignPermissions(newContentTypeName,\n+                BaseContentType.CONTENT, PermissionAPI.PERMISSION_READ, adminRole.getId());\n+        final WorkflowScheme systemWorkflow = workflowAPI.findSystemWorkflowScheme();\n+        final WorkflowScheme documentWorkflow = workflowAPI.findSchemeByName(DM_WORKFLOW);\n+\n+        final Field requiredField = FieldBuilder.builder(TextField.class)\n+                .dataType(DataTypes.INTEGER)\n+                .name(REQUIRED_NUMERIC_TEXT_FIELD_NAME).variable(REQUIRED_NUMERIC_TEXT_FIELD_NAME)\n+                .required(true)\n+                .contentTypeId(contentType.id()).build();\n+\n+        final Field nonRequiredField = FieldBuilder.builder(TextField.class)\n+                .dataType(DataTypes.INTEGER)\n+                .name(NON_REQUIRED_NUMERIC_TEXT_FIELD_NAME).variable(NON_REQUIRED_NUMERIC_TEXT_FIELD_NAME)\n+                .required(false)\n+                .contentTypeId(contentType.id()).build();\n+\n+        final List<Field> fields = Arrays.asList(requiredField, nonRequiredField);\n+        contentType = contentTypeAPI.save(contentType, fields);\n+\n+        // Assign contentType to Workflows\n+        workflowAPI.saveSchemeIdsForContentType(contentType,\n+                Arrays.asList(\n+                        systemWorkflow.getId(), documentWorkflow.getId()\n+                )\n+        );\n+\n+        return contentType;\n+    }\n+\n+    private ContentType createMixedRequiredAndNonRequiredFieldsContentType() throws Exception{","path":"dotCMS/src/integration-test/java/com/dotcms/rest/api/v1/workflow/WorkflowResourceIntegrationTest.java","position":497,"original_position":497,"commit_id":"fbf9755b5514f54b0b52bc7387bf1a69fd0b9f6b","original_commit_id":"fbf9755b5514f54b0b52bc7387bf1a69fd0b9f6b","user":{"login":"codacy-bot","id":19940114,"node_id":"MDQ6VXNlcjE5OTQwMTE0","avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://app.codacy.com/assets/images/favicon.png) Issue found: [A method/constructor should not explicitly throw java.lang.Exception](https://app.codacy.com/app/dotCMS/core/pullRequest?prid=2306130)","created_at":"2018-10-08T20:50:38Z","updated_at":"2018-10-08T20:50:38Z","html_url":"https://github.com/dotCMS/core/pull/15386#discussion_r223493442","pull_request_url":"https://api.github.com/repos/dotCMS/core/pulls/15386","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/dotCMS/core/pulls/comments/223493442"},"html":{"href":"https://github.com/dotCMS/core/pull/15386#discussion_r223493442"},"pull_request":{"href":"https://api.github.com/repos/dotCMS/core/pulls/15386"}}},"pull_request":{"url":"https://api.github.com/repos/dotCMS/core/pulls/15386","id":220551842,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIwNTUxODQy","html_url":"https://github.com/dotCMS/core/pull/15386","diff_url":"https://github.com/dotCMS/core/pull/15386.diff","patch_url":"https://github.com/dotCMS/core/pull/15386.patch","issue_url":"https://api.github.com/repos/dotCMS/core/issues/15386","number":15386,"state":"open","locked":false,"title":"Issue 15340 remove image field err","user":{"login":"fabrizzio-dotCMS","id":37148755,"node_id":"MDQ6VXNlcjM3MTQ4NzU1","avatar_url":"https://avatars1.githubusercontent.com/u/37148755?v=4","gravatar_id":"","url":"https://api.github.com/users/fabrizzio-dotCMS","html_url":"https://github.com/fabrizzio-dotCMS","followers_url":"https://api.github.com/users/fabrizzio-dotCMS/followers","following_url":"https://api.github.com/users/fabrizzio-dotCMS/following{/other_user}","gists_url":"https://api.github.com/users/fabrizzio-dotCMS/gists{/gist_id}","starred_url":"https://api.github.com/users/fabrizzio-dotCMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabrizzio-dotCMS/subscriptions","organizations_url":"https://api.github.com/users/fabrizzio-dotCMS/orgs","repos_url":"https://api.github.com/users/fabrizzio-dotCMS/repos","events_url":"https://api.github.com/users/fabrizzio-dotCMS/events{/privacy}","received_events_url":"https://api.github.com/users/fabrizzio-dotCMS/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-10-05T00:10:16Z","updated_at":"2018-10-08T20:50:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ba43ace857f213b1adc991466e785e3973c68599","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotCMS/core/pulls/15386/commits","review_comments_url":"https://api.github.com/repos/dotCMS/core/pulls/15386/comments","review_comment_url":"https://api.github.com/repos/dotCMS/core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotCMS/core/issues/15386/comments","statuses_url":"https://api.github.com/repos/dotCMS/core/statuses/fbf9755b5514f54b0b52bc7387bf1a69fd0b9f6b","head":{"label":"dotCMS:issue-15340-remove-image-field-err","ref":"issue-15340-remove-image-field-err","sha":"fbf9755b5514f54b0b52bc7387bf1a69fd0b9f6b","user":{"login":"dotCMS","id":1005263,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwMDUyNjM=","avatar_url":"https://avatars3.githubusercontent.com/u/1005263?v=4","gravatar_id":"","url":"https://api.github.com/users/dotCMS","html_url":"https://github.com/dotCMS","followers_url":"https://api.github.com/users/dotCMS/followers","following_url":"https://api.github.com/users/dotCMS/following{/other_user}","gists_url":"https://api.github.com/users/dotCMS/gists{/gist_id}","starred_url":"https://api.github.com/users/dotCMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotCMS/subscriptions","organizations_url":"https://api.github.com/users/dotCMS/orgs","repos_url":"https://api.github.com/users/dotCMS/repos","events_url":"https://api.github.com/users/dotCMS/events{/privacy}","received_events_url":"https://api.github.com/users/dotCMS/received_events","type":"Organization","site_admin":false},"repo":{"id":3729629,"node_id":"MDEwOlJlcG9zaXRvcnkzNzI5NjI5","name":"core","full_name":"dotCMS/core","private":false,"owner":{"login":"dotCMS","id":1005263,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwMDUyNjM=","avatar_url":"https://avatars3.githubusercontent.com/u/1005263?v=4","gravatar_id":"","url":"https://api.github.com/users/dotCMS","html_url":"https://github.com/dotCMS","followers_url":"https://api.github.com/users/dotCMS/followers","following_url":"https://api.github.com/users/dotCMS/following{/other_user}","gists_url":"https://api.github.com/users/dotCMS/gists{/gist_id}","starred_url":"https://api.github.com/users/dotCMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotCMS/subscriptions","organizations_url":"https://api.github.com/users/dotCMS/orgs","repos_url":"https://api.github.com/users/dotCMS/repos","events_url":"https://api.github.com/users/dotCMS/events{/privacy}","received_events_url":"https://api.github.com/users/dotCMS/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/dotCMS/core","description":"Source Code for dotCMS Java Enterprise Content Management System","fork":false,"url":"https://api.github.com/repos/dotCMS/core","forks_url":"https://api.github.com/repos/dotCMS/core/forks","keys_url":"https://api.github.com/repos/dotCMS/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotCMS/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotCMS/core/teams","hooks_url":"https://api.github.com/repos/dotCMS/core/hooks","issue_events_url":"https://api.github.com/repos/dotCMS/core/issues/events{/number}","events_url":"https://api.github.com/repos/dotCMS/core/events","assignees_url":"https://api.github.com/repos/dotCMS/core/assignees{/user}","branches_url":"https://api.github.com/repos/dotCMS/core/branches{/branch}","tags_url":"https://api.github.com/repos/dotCMS/core/tags","blobs_url":"https://api.github.com/repos/dotCMS/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotCMS/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotCMS/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotCMS/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotCMS/core/statuses/{sha}","languages_url":"https://api.github.com/repos/dotCMS/core/languages","stargazers_url":"https://api.github.com/repos/dotCMS/core/stargazers","contributors_url":"https://api.github.com/repos/dotCMS/core/contributors","subscribers_url":"https://api.github.com/repos/dotCMS/core/subscribers","subscription_url":"https://api.github.com/repos/dotCMS/core/subscription","commits_url":"https://api.github.com/repos/dotCMS/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotCMS/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotCMS/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotCMS/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotCMS/core/contents/{+path}","compare_url":"https://api.github.com/repos/dotCMS/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotCMS/core/merges","archive_url":"https://api.github.com/repos/dotCMS/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotCMS/core/downloads","issues_url":"https://api.github.com/repos/dotCMS/core/issues{/number}","pulls_url":"https://api.github.com/repos/dotCMS/core/pulls{/number}","milestones_url":"https://api.github.com/repos/dotCMS/core/milestones{/number}","notifications_url":"https://api.github.com/repos/dotCMS/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotCMS/core/labels{/name}","releases_url":"https://api.github.com/repos/dotCMS/core/releases{/id}","deployments_url":"https://api.github.com/repos/dotCMS/core/deployments","created_at":"2012-03-15T15:24:14Z","updated_at":"2018-10-08T19:33:23Z","pushed_at":"2018-10-08T19:33:22Z","git_url":"git://github.com/dotCMS/core.git","ssh_url":"git@github.com:dotCMS/core.git","clone_url":"https://github.com/dotCMS/core.git","svn_url":"https://github.com/dotCMS/core","homepage":"http://dotcms.com","size":313039,"stargazers_count":402,"watchers_count":402,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":322,"mirror_url":null,"archived":false,"open_issues_count":1980,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":322,"open_issues":1980,"watchers":402,"default_branch":"master"}},"base":{"label":"dotCMS:master","ref":"master","sha":"1e858284eb2d70a3e65e371eea67fdf4adffdefc","user":{"login":"dotCMS","id":1005263,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwMDUyNjM=","avatar_url":"https://avatars3.githubusercontent.com/u/1005263?v=4","gravatar_id":"","url":"https://api.github.com/users/dotCMS","html_url":"https://github.com/dotCMS","followers_url":"https://api.github.com/users/dotCMS/followers","following_url":"https://api.github.com/users/dotCMS/following{/other_user}","gists_url":"https://api.github.com/users/dotCMS/gists{/gist_id}","starred_url":"https://api.github.com/users/dotCMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotCMS/subscriptions","organizations_url":"https://api.github.com/users/dotCMS/orgs","repos_url":"https://api.github.com/users/dotCMS/repos","events_url":"https://api.github.com/users/dotCMS/events{/privacy}","received_events_url":"https://api.github.com/users/dotCMS/received_events","type":"Organization","site_admin":false},"repo":{"id":3729629,"node_id":"MDEwOlJlcG9zaXRvcnkzNzI5NjI5","name":"core","full_name":"dotCMS/core","private":false,"owner":{"login":"dotCMS","id":1005263,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwMDUyNjM=","avatar_url":"https://avatars3.githubusercontent.com/u/1005263?v=4","gravatar_id":"","url":"https://api.github.com/users/dotCMS","html_url":"https://github.com/dotCMS","followers_url":"https://api.github.com/users/dotCMS/followers","following_url":"https://api.github.com/users/dotCMS/following{/other_user}","gists_url":"https://api.github.com/users/dotCMS/gists{/gist_id}","starred_url":"https://api.github.com/users/dotCMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotCMS/subscriptions","organizations_url":"https://api.github.com/users/dotCMS/orgs","repos_url":"https://api.github.com/users/dotCMS/repos","events_url":"https://api.github.com/users/dotCMS/events{/privacy}","received_events_url":"https://api.github.com/users/dotCMS/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/dotCMS/core","description":"Source Code for dotCMS Java Enterprise Content Management System","fork":false,"url":"https://api.github.com/repos/dotCMS/core","forks_url":"https://api.github.com/repos/dotCMS/core/forks","keys_url":"https://api.github.com/repos/dotCMS/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotCMS/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotCMS/core/teams","hooks_url":"https://api.github.com/repos/dotCMS/core/hooks","issue_events_url":"https://api.github.com/repos/dotCMS/core/issues/events{/number}","events_url":"https://api.github.com/repos/dotCMS/core/events","assignees_url":"https://api.github.com/repos/dotCMS/core/assignees{/user}","branches_url":"https://api.github.com/repos/dotCMS/core/branches{/branch}","tags_url":"https://api.github.com/repos/dotCMS/core/tags","blobs_url":"https://api.github.com/repos/dotCMS/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotCMS/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotCMS/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotCMS/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotCMS/core/statuses/{sha}","languages_url":"https://api.github.com/repos/dotCMS/core/languages","stargazers_url":"https://api.github.com/repos/dotCMS/core/stargazers","contributors_url":"https://api.github.com/repos/dotCMS/core/contributors","subscribers_url":"https://api.github.com/repos/dotCMS/core/subscribers","subscription_url":"https://api.github.com/repos/dotCMS/core/subscription","commits_url":"https://api.github.com/repos/dotCMS/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotCMS/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotCMS/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotCMS/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotCMS/core/contents/{+path}","compare_url":"https://api.github.com/repos/dotCMS/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotCMS/core/merges","archive_url":"https://api.github.com/repos/dotCMS/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotCMS/core/downloads","issues_url":"https://api.github.com/repos/dotCMS/core/issues{/number}","pulls_url":"https://api.github.com/repos/dotCMS/core/pulls{/number}","milestones_url":"https://api.github.com/repos/dotCMS/core/milestones{/number}","notifications_url":"https://api.github.com/repos/dotCMS/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotCMS/core/labels{/name}","releases_url":"https://api.github.com/repos/dotCMS/core/releases{/id}","deployments_url":"https://api.github.com/repos/dotCMS/core/deployments","created_at":"2012-03-15T15:24:14Z","updated_at":"2018-10-08T19:33:23Z","pushed_at":"2018-10-08T19:33:22Z","git_url":"git://github.com/dotCMS/core.git","ssh_url":"git@github.com:dotCMS/core.git","clone_url":"https://github.com/dotCMS/core.git","svn_url":"https://github.com/dotCMS/core","homepage":"http://dotcms.com","size":313039,"stargazers_count":402,"watchers_count":402,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":322,"mirror_url":null,"archived":false,"open_issues_count":1980,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":322,"open_issues":1980,"watchers":402,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotCMS/core/pulls/15386"},"html":{"href":"https://github.com/dotCMS/core/pull/15386"},"issue":{"href":"https://api.github.com/repos/dotCMS/core/issues/15386"},"comments":{"href":"https://api.github.com/repos/dotCMS/core/issues/15386/comments"},"review_comments":{"href":"https://api.github.com/repos/dotCMS/core/pulls/15386/comments"},"review_comment":{"href":"https://api.github.com/repos/dotCMS/core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotCMS/core/pulls/15386/commits"},"statuses":{"href":"https://api.github.com/repos/dotCMS/core/statuses/fbf9755b5514f54b0b52bc7387bf1a69fd0b9f6b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"codacy-bot"}}