You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by st...@apache.org on 2016/03/24 13:08:59 UTC
[27/51] [abbrv] ambari git commit: Refactor and cleanup
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java
deleted file mode 100644
index e6ecc45..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AccessUnauthorizedAuditEvent;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.joda.time.DateTime;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-
-public class UnauthorizedEventCreator implements RequestAuditEventCreator{
-
- @Override
- public Set<Request.Type> getRequestTypes() {
- return null;
- }
-
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return null;
- }
-
- private Set<ResultStatus.STATUS> statuses = new HashSet<>();
-
- {
- statuses.add(ResultStatus.STATUS.UNAUTHORIZED);
- statuses.add(ResultStatus.STATUS.FORBIDDEN);
- }
-
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return statuses;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
-
- String username = ((User) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
- AccessUnauthorizedAuditEvent ae = AccessUnauthorizedAuditEvent.builder()
- .withRemoteIp(request.getRemoteAddress())
- .withResourcePath(request.getURI())
- .withTimestamp(DateTime.now())
- .withUserName(username)
- .build();
-
- return ae;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java
deleted file mode 100644
index 88ec5b0..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.audit.request.event.AddAlertGroupRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.AddUpgradeRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.ChangeAlertGroupRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.DeleteAlertGroupRequestAuditEvent;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.joda.time.DateTime;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-
-/**
- * This creator handles upgrade requests
- * For resource type {@link Resource.Type#Upgrade}
- * and request types {@link Request.Type#POST}
- */
-public class UpgradeEventCreator implements RequestAuditEventCreator {
-
- /**
- * Set of {@link Request.Type}s that are handled by this plugin
- */
- private Set<Request.Type> requestTypes = new HashSet<Request.Type>();
-
- {
- requestTypes.add(Request.Type.POST);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Request.Type> getRequestTypes() {
- return requestTypes;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return Collections.singleton(Resource.Type.Upgrade);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return null;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
- String username = ((User) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
-
- return AddUpgradeRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withRepositoryVersion(getProperty(request, "repository_version"))
- .withUpgradeType(getProperty(request, "upgrade_type"))
- .withClusterName(getProperty(request, "cluster_name"))
- .build();
-
- }
-
- private String getProperty(Request request, String propertyName) {
- if(!request.getBody().getPropertySets().isEmpty()) {
- return String.valueOf(request.getBody().getPropertySets().iterator().next().get(PropertyHelper.getPropertyId("Upgrade",propertyName)));
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java
deleted file mode 100644
index 6118dad..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.audit.request.event.AddUpgradeRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.UpdateUpgradeItemRequestAuditEvent;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.joda.time.DateTime;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-
-/**
- * This creator handles upgrade requests
- * For resource type {@link Resource.Type#Upgrade}
- * and request types {@link Request.Type#PUT}
- */
-public class UpgradeItemEventCreator implements RequestAuditEventCreator {
-
- /**
- * Set of {@link Request.Type}s that are handled by this plugin
- */
- private Set<Request.Type> requestTypes = new HashSet<Request.Type>();
-
- {
- requestTypes.add(Request.Type.PUT);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Request.Type> getRequestTypes() {
- return requestTypes;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return Collections.singleton(Resource.Type.UpgradeItem);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return null;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
- String username = ((User) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
-
- return UpdateUpgradeItemRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withStatus(getProperty(request, "status"))
- .withStageId(getProperty(request, "stage_id"))
- .withRequestId(getProperty(request, "request_id"))
- .build();
-
- }
-
- private String getProperty(Request request, String propertyName) {
- if(!request.getBody().getPropertySets().isEmpty()) {
- return String.valueOf(request.getBody().getPropertySets().iterator().next().get(PropertyHelper.getPropertyId("UpgradeItem",propertyName)));
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java
deleted file mode 100644
index e8386c8..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.event.ActivateUserRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.AdminUserRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.CreateUserRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.DeleteUserRequestAuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.audit.request.event.UserPasswordChangeRequestAuditEvent;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.joda.time.DateTime;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-
-/**
- * This creator handles user requests
- * For resource type {@link Resource.Type#User}
- * and request types {@link Request.Type#POST}, {@link Request.Type#PUT} and {@link Request.Type#DELETE}
- */
-public class UserEventCreator implements RequestAuditEventCreator {
-
- /**
- * Set of {@link Request.Type}s that are handled by this plugin
- */
- private Set<Request.Type> requestTypes = new HashSet<Request.Type>();
-
- {
- requestTypes.add(Request.Type.POST);
- requestTypes.add(Request.Type.PUT);
- requestTypes.add(Request.Type.DELETE);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Request.Type> getRequestTypes() {
- return requestTypes;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return Collections.singleton(Resource.Type.User);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return null;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
- String username = ((User) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
-
- switch(request.getRequestType()) {
- case POST:
- return CreateUserRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withCreatedUsername(getUsername(request))
- .withActive(isActive(request))
- .withAdmin(isAdmin(request))
- .build();
- case DELETE:
- return DeleteUserRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withDeletedUsername(request.getResource().getKeyValueMap().get(Resource.Type.User))
- .build();
- case PUT:
- if(hasActive(request)) {
- return ActivateUserRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withAffectedUsername(getUsername(request))
- .withActive(isActive(request))
- .build();
- }
- if(hasAdmin(request)) {
- return AdminUserRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withAffectedUsername(getUsername(request))
- .withAdmin(isAdmin(request))
- .build();
- }
- if(hasOldPassword(request)) {
- return UserPasswordChangeRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withAffectedUsername(getUsername(request))
- .build();
- }
- default:
- break;
- }
- return null;
- }
-
-
- private boolean isAdmin(Request request) {
- return hasAdmin(request) && "true".equals(request.getBody().getPropertySets().iterator().next().get(PropertyHelper.getPropertyId("Users", "admin")));
- }
-
- private boolean isActive(Request request) {
- return hasActive(request) && "true".equals(request.getBody().getPropertySets().iterator().next().get(PropertyHelper.getPropertyId("Users", "active")));
- }
-
- private boolean hasAdmin(Request request) {
- return !request.getBody().getPropertySets().isEmpty() && request.getBody().getPropertySets().iterator().next().containsKey(PropertyHelper.getPropertyId("Users", "admin"));
- }
-
- private boolean hasActive(Request request) {
- return !request.getBody().getPropertySets().isEmpty() && request.getBody().getPropertySets().iterator().next().containsKey(PropertyHelper.getPropertyId("Users", "active"));
- }
-
- private boolean hasOldPassword(Request request) {
- return !request.getBody().getPropertySets().isEmpty() && request.getBody().getPropertySets().iterator().next().containsKey(PropertyHelper.getPropertyId("Users", "old_password"));
- }
-
- private String getUsername(Request request) {
- if(!request.getBody().getPropertySets().isEmpty()) {
- return String.valueOf(request.getBody().getPropertySets().iterator().next().get(PropertyHelper.getPropertyId("Users", "user_name")));
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java
deleted file mode 100644
index e52aa10..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.controller.spi.Resource;
-
-/**
- * This creator ignores validation post requests
- * For resource type {@link Resource.Type#Validation}
- * and request types {@link Request.Type#POST}
- */
-public class ValidationIgnoreEventCreator implements RequestAuditEventCreator {
-
- /**
- * Set of {@link Request.Type}s that are handled by this plugin
- */
- private Set<Request.Type> requestTypes = new HashSet<Request.Type>();
-
- {
- requestTypes.add(Request.Type.POST);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Request.Type> getRequestTypes() {
- return requestTypes;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return Collections.singleton(Resource.Type.Validation);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return null;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
- // intentionally skipping this event
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java
deleted file mode 100644
index 59f8fbf..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.event.AddViewInstanceRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.ChangeViewInstanceRequestAuditEvent;
-import org.apache.ambari.server.audit.request.event.DeleteViewInstanceRequestAuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.joda.time.DateTime;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-
-/**
- * This creator handles view instance requests
- * For resource type {@link Resource.Type#ViewInstance}
- * and request types {@link Request.Type#POST}, {@link Request.Type#PUT} and {@link Request.Type#DELETE}
- */
-public class ViewInstanceEventCreator implements RequestAuditEventCreator {
-
- /**
- * Set of {@link Request.Type}s that are handled by this plugin
- */
- private Set<Request.Type> requestTypes = new HashSet<Request.Type>();
-
- {
- requestTypes.add(Request.Type.POST);
- requestTypes.add(Request.Type.PUT);
- requestTypes.add(Request.Type.DELETE);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Request.Type> getRequestTypes() {
- return requestTypes;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return Collections.singleton(Resource.Type.ViewInstance);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return null;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
- String username = ((User) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
-
- switch(request.getRequestType()) {
-
- case POST:
- return AddViewInstanceRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withType(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "view_name")))
- .withVersion(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "version")))
- .withName(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "instance_name")))
- .withDisplayName(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "label")))
- .withDescription(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "description")))
- .build();
-
- case PUT:
- return ChangeViewInstanceRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withType(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "view_name")))
- .withVersion(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "version")))
- .withName(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "instance_name")))
- .withDisplayName(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "label")))
- .withDescription(getProperty(request, PropertyHelper.getPropertyId("ViewInstanceInfo", "description")))
- .build();
-
- case DELETE:
- return DeleteViewInstanceRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withType(request.getResource().getKeyValueMap().get(Resource.Type.View))
- .withVersion(request.getResource().getKeyValueMap().get(Resource.Type.ViewVersion))
- .withName(request.getResource().getKeyValueMap().get(Resource.Type.ViewInstance))
- .build();
-
- default:
- return null;
- }
- }
-
- private String getProperty(Request request, String properyId) {
- if(!request.getBody().getPropertySets().isEmpty()) {
- return String.valueOf(request.getBody().getPropertySets().iterator().next().get(properyId));
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java
deleted file mode 100644
index fc57428..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit.request.eventcreator;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.ambari.server.api.services.Request;
-import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.audit.request.event.ViewPrivilegeChangeRequestAuditEvent;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.joda.time.DateTime;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-
-/**
- * This creator handles view privilege requests
- * For resource type {@link Resource.Type#ViewInstance}
- * and request types {@link Request.Type#PUT}
- */
-public class ViewPrivilegeEventCreator implements RequestAuditEventCreator {
-
- /**
- * Set of {@link Request.Type}s that are handled by this plugin
- */
- private Set<Request.Type> requestTypes = new HashSet<Request.Type>();
-
- {
- requestTypes.add(Request.Type.PUT);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Request.Type> getRequestTypes() {
- return requestTypes;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<Resource.Type> getResourceTypes() {
- return Collections.singleton(Resource.Type.ViewPrivilege);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<ResultStatus.STATUS> getResultStatuses() {
- return null;
- }
-
- @Override
- public AuditEvent createAuditEvent(Request request, Result result) {
- String username = ((User) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
-
-
- Map<String, List<String>> users = getEntities(request, "USER");
- Map<String, List<String>> groups = getEntities(request, "GROUP");
-
- return ViewPrivilegeChangeRequestAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRequestType(request.getRequestType())
- .withResultStatus(result.getStatus())
- .withUrl(request.getURI())
- .withRemoteIp(request.getRemoteAddress())
- .withUserName(username)
- .withType(getProperty(request, PropertyHelper.getPropertyId("PrivilegeInfo", "view_name")))
- .withVersion(getProperty(request, PropertyHelper.getPropertyId("PrivilegeInfo", "version")))
- .withName(getProperty(request, PropertyHelper.getPropertyId("PrivilegeInfo", "instance_name")))
- .withUsers(users)
- .withGroups(groups)
- .build();
-
- }
-
- private String getProperty(Request request, String properyId) {
- if (!request.getBody().getPropertySets().isEmpty()) {
- return String.valueOf(request.getBody().getPropertySets().iterator().next().get(properyId));
- }
- return null;
- }
-
- private Map<String, List<String>> getEntities(final Request request, final String type) {
- Map<String, List<String>> entities = new HashMap<String, List<String>>();
-
- for (Map<String, Object> propertyMap : request.getBody().getPropertySets()) {
- String ptype = String.valueOf(propertyMap.get(PropertyHelper.getPropertyId("PrivilegeInfo", "principal_type")));
- if (type.equals(ptype)) {
- String role = String.valueOf(propertyMap.get(PropertyHelper.getPropertyId("PrivilegeInfo", "permission_name")));
- String name = String.valueOf(propertyMap.get(PropertyHelper.getPropertyId("PrivilegeInfo", "principal_name")));
- if (!entities.containsKey(role)) {
- entities.put(role, new LinkedList<String>());
- }
-
- entities.get(role).add(name);
- }
- }
- return entities;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index 1a972ab..801378f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
@@ -51,7 +51,7 @@ import org.apache.ambari.server.api.services.PersistKeyValueService;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorBlueprintProcessor;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorHelper;
import org.apache.ambari.server.audit.AuditLogger;
-import org.apache.ambari.server.audit.request.RequestAuditLogger;
+import org.apache.ambari.server.audit.event.request.RequestAuditLogger;
import org.apache.ambari.server.audit.AuditLoggerModule;
import org.apache.ambari.server.security.authentication.AmbariAuthenticationFilter;
import org.apache.ambari.server.bootstrap.BootStrapImpl;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
index 74cd698..efc466d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
@@ -41,34 +41,34 @@ import org.apache.ambari.server.actionmanager.HostRoleCommandFactoryImpl;
import org.apache.ambari.server.actionmanager.RequestFactory;
import org.apache.ambari.server.actionmanager.StageFactory;
import org.apache.ambari.server.actionmanager.StageFactoryImpl;
-import org.apache.ambari.server.audit.request.RequestAuditEventCreator;
-import org.apache.ambari.server.audit.request.RequestAuditLogger;
-import org.apache.ambari.server.audit.request.RequestAuditLoggerImpl;
-import org.apache.ambari.server.audit.request.eventcreator.AlertGroupEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.AlertTargetEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.BlueprintEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.BlueprintExportEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.CredentialEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.HostEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.PrivilegeEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.GroupEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.MemberEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.RecommendationIgnoreEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.RepositoryEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.RepositoryVersionEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.RequestEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ServiceConfigDownloadEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.UnauthorizedEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ConfigurationChangeEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.DefaultEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ComponentEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ServiceEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.UpgradeEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.UpgradeItemEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.UserEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ValidationIgnoreEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ViewInstanceEventCreator;
-import org.apache.ambari.server.audit.request.eventcreator.ViewPrivilegeEventCreator;
+import org.apache.ambari.server.audit.event.request.RequestAuditEventCreator;
+import org.apache.ambari.server.audit.event.request.RequestAuditLogger;
+import org.apache.ambari.server.audit.event.request.RequestAuditLoggerImpl;
+import org.apache.ambari.server.audit.event.request.eventcreator.AlertGroupEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.AlertTargetEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.BlueprintEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.BlueprintExportEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.CredentialEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.HostEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.PrivilegeEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.GroupEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.MemberEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.RecommendationIgnoreEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.RepositoryEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.RepositoryVersionEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.RequestEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ServiceConfigDownloadEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.UnauthorizedEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ConfigurationChangeEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.DefaultEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ComponentEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ServiceEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.UpgradeEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.UpgradeItemEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.UserEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ValidationIgnoreEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ViewInstanceEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.ViewPrivilegeEventCreator;
import org.apache.ambari.server.checks.AbstractCheckDescriptor;
import org.apache.ambari.server.checks.UpgradeCheckRegistry;
import org.apache.ambari.server.configuration.Configuration;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java
index b41cfb7..79b055e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java
@@ -24,10 +24,9 @@ import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.ambari.server.audit.AuditEvent;
+import org.apache.ambari.server.audit.event.AuditEvent;
import org.apache.ambari.server.audit.AuditLogger;
-import org.apache.ambari.server.audit.LoginFailedAuditEvent;
-import org.apache.ambari.server.audit.LoginSucceededAuditEvent;
+import org.apache.ambari.server.audit.event.LoginAuditEvent;
import org.apache.ambari.server.security.authorization.AuthorizationHelper;
import org.apache.ambari.server.utils.RequestUtils;
import org.joda.time.DateTime;
@@ -59,10 +58,10 @@ public class AmbariAuthenticationFilter extends BasicAuthenticationFilter {
HttpServletRequest request = (HttpServletRequest) req;
String header = request.getHeader("Authorization");
if (AuthorizationHelper.getAuthenticatedName() == null && (header == null || !header.startsWith("Basic "))) {
- AuditEvent loginFailedAuditEvent = LoginFailedAuditEvent.builder()
+ AuditEvent loginFailedAuditEvent = LoginAuditEvent.builder()
.withRemoteIp(RequestUtils.getRemoteAddress(request))
.withTimestamp(DateTime.now())
- .withReason("Authentication required")
+ .withReasonOfFailure("Authentication required")
.withUserName(null)
.build();
auditLogger.log(loginFailedAuditEvent);
@@ -72,7 +71,7 @@ public class AmbariAuthenticationFilter extends BasicAuthenticationFilter {
@Override
protected void onSuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, Authentication authResult) throws IOException {
- AuditEvent loginSucceededAuditEvent = LoginSucceededAuditEvent.builder()
+ AuditEvent loginSucceededAuditEvent = LoginAuditEvent.builder()
.withRemoteIp(RequestUtils.getRemoteAddress(request))
.withUserName(authResult.getName())
.withTimestamp(DateTime.now())
@@ -91,10 +90,10 @@ public class AmbariAuthenticationFilter extends BasicAuthenticationFilter {
} catch (Exception e) {
LOG.warn("Error occurred during decoding authorization header.",e);
}
- AuditEvent loginFailedAuditEvent = LoginFailedAuditEvent.builder()
+ AuditEvent loginFailedAuditEvent = LoginAuditEvent.builder()
.withRemoteIp(RequestUtils.getRemoteAddress(request))
.withTimestamp(DateTime.now())
- .withReason("Invalid username/password combination")
+ .withReasonOfFailure("Invalid username/password combination")
.withUserName(username)
.build();
auditLogger.log(loginFailedAuditEvent);
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java
index 65fd213..b28f694 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java
@@ -19,10 +19,10 @@
package org.apache.ambari.server.security.authorization;
import com.google.inject.Inject;
-import org.apache.ambari.server.audit.AccessUnauthorizedAuditEvent;
-import org.apache.ambari.server.audit.AuditEvent;
+import org.apache.ambari.server.audit.event.AccessUnauthorizedAuditEvent;
+import org.apache.ambari.server.audit.event.AuditEvent;
import org.apache.ambari.server.audit.AuditLogger;
-import org.apache.ambari.server.audit.LoginSucceededAuditEvent;
+import org.apache.ambari.server.audit.event.LoginAuditEvent;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.orm.entities.PermissionEntity;
import org.apache.ambari.server.orm.entities.PrivilegeEntity;
@@ -136,12 +136,12 @@ public class AmbariAuthorizationFilter implements Filter {
if (token != null) {
InternalAuthenticationToken internalAuthenticationToken = new InternalAuthenticationToken(token);
context.setAuthentication(internalAuthenticationToken);
- LoginSucceededAuditEvent loginSucceededAuditEvent = LoginSucceededAuditEvent.builder()
+ LoginAuditEvent loginAuditEvent = LoginAuditEvent.builder()
.withUserName(internalAuthenticationToken.getName())
.withRemoteIp(RequestUtils.getRemoteAddress(httpRequest))
.withRoles(AuthorizationHelper.getPermissionLabels(authentication))
.withTimestamp(DateTime.now()).build();
- auditLogger.log(loginSucceededAuditEvent);
+ auditLogger.log(loginAuditEvent);
} else {
// for view access, we should redirect to the Ambari login
if (requestURI.matches(VIEWS_CONTEXT_ALL_PATTERN)) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
index 0fd530a..f36fede 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
@@ -24,9 +24,8 @@ import org.apache.ambari.server.actionmanager.HostRoleCommand;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
import org.apache.ambari.server.agent.CommandReport;
import org.apache.ambari.server.agent.ExecutionCommand;
-import org.apache.ambari.server.audit.AuditEvent;
+import org.apache.ambari.server.audit.event.AuditEvent;
import org.apache.ambari.server.audit.AuditLogger;
-import org.apache.ambari.server.controller.AmbariServer;
import org.apache.ambari.server.utils.StageUtils;
import java.util.Collections;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
index 1af0245..4086b85 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
@@ -22,8 +22,7 @@ import com.google.inject.Inject;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
import org.apache.ambari.server.agent.CommandReport;
-import org.apache.ambari.server.audit.kerberos.AbstractKerberosAuditEvent;
-import org.apache.ambari.server.audit.kerberos.CreateKeyTabKerberosAuditEvent;
+import org.apache.ambari.server.audit.event.kerberos.CreateKeyTabKerberosAuditEvent;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.orm.dao.HostDAO;
import org.apache.ambari.server.orm.dao.KerberosPrincipalDAO;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java
index 09df299..3ed001c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java
@@ -22,7 +22,7 @@ import com.google.inject.Inject;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
import org.apache.ambari.server.agent.CommandReport;
-import org.apache.ambari.server.audit.kerberos.CreatePrincipalKerberosAuditEvent;
+import org.apache.ambari.server.audit.event.kerberos.CreatePrincipalKerberosAuditEvent;
import org.apache.ambari.server.orm.dao.KerberosPrincipalDAO;
import org.apache.ambari.server.orm.dao.KerberosPrincipalHostDAO;
import org.apache.ambari.server.orm.entities.KerberosPrincipalEntity;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java
index ce46af4..7f94399 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java
@@ -21,7 +21,7 @@ package org.apache.ambari.server.serveraction.kerberos;
import com.google.inject.Inject;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.agent.CommandReport;
-import org.apache.ambari.server.audit.kerberos.DestroyPrincipalKerberosAuditEvent;
+import org.apache.ambari.server.audit.event.kerberos.DestroyPrincipalKerberosAuditEvent;
import org.apache.ambari.server.orm.dao.KerberosPrincipalDAO;
import org.apache.ambari.server.orm.entities.KerberosPrincipalEntity;
import org.joda.time.DateTime;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerAction.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerAction.java
index 55b1fbb..7ce97ce 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerAction.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerAction.java
@@ -21,7 +21,7 @@ package org.apache.ambari.server.serveraction.kerberos;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
import org.apache.ambari.server.agent.CommandReport;
-import org.apache.ambari.server.audit.kerberos.ChangeSecurityStateKerberosAuditEvent;
+import org.apache.ambari.server.audit.event.kerberos.ChangeSecurityStateKerberosAuditEvent;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Host;
import org.apache.ambari.server.state.SecurityState;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java
index ad39354..7f11af4 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java
@@ -22,12 +22,9 @@ import org.apache.ambari.server.api.resources.ResourceInstance;
import org.apache.ambari.server.api.services.parsers.BodyParseException;
import org.apache.ambari.server.api.services.parsers.RequestBodyParser;
import org.apache.ambari.server.api.services.serializers.ResultSerializer;
-import org.apache.ambari.server.audit.request.RequestAuditLogger;
-import org.apache.ambari.server.orm.GuiceJpaInitializer;
-import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
+import org.apache.ambari.server.audit.event.request.RequestAuditLogger;
import org.easymock.Capture;
import org.easymock.EasyMock;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -42,9 +39,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
import static org.easymock.EasyMock.*;
import static org.easymock.EasyMock.createNiceMock;
import static org.easymock.EasyMock.createStrictMock;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/AccessUnauthorizedAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/AccessUnauthorizedAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/AccessUnauthorizedAuditEventTest.java
index e91db27..94de686 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/AccessUnauthorizedAuditEventTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/AccessUnauthorizedAuditEventTest.java
@@ -17,6 +17,7 @@
*/
package org.apache.ambari.server.audit;
+import org.apache.ambari.server.audit.event.AccessUnauthorizedAuditEvent;
import org.joda.time.DateTime;
import org.junit.Test;
@@ -47,7 +48,7 @@ public class AccessUnauthorizedAuditEventTest {
String actualAuditMessage = evnt.getAuditMessage();
// Then
- String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(%s), ResourcePath(%s), Status(Access not authorized !)", testUserName, testRemoteIp, testHttpMethod, testResourcePath);
+ String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(%s), ResourcePath(%s), Status(Failed), Reason(Access not authorized)", testUserName, testRemoteIp, testHttpMethod, testResourcePath);
assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/BufferedAuditLoggerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/BufferedAuditLoggerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/BufferedAuditLoggerTest.java
index 8c7835b..a188b4c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/BufferedAuditLoggerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/BufferedAuditLoggerTest.java
@@ -21,6 +21,8 @@ package org.apache.ambari.server.audit;
import java.util.Collections;
import java.util.List;
+import org.apache.ambari.server.audit.event.AuditEvent;
+import org.apache.ambari.server.audit.event.OperationStatusAuditEvent;
import org.easymock.Capture;
import org.easymock.EasyMockRule;
import org.easymock.Mock;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
new file mode 100644
index 0000000..7536f3b
--- /dev/null
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
@@ -0,0 +1,119 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ambari.server.audit;
+
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ambari.server.audit.event.LoginAuditEvent;
+import org.joda.time.DateTime;
+import org.junit.Test;
+
+import nl.jqno.equalsverifier.EqualsVerifier;
+
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+public class LoginAuditEventTest {
+
+ @Test
+ public void testAuditMessage() throws Exception {
+ // Given
+ String testUserName = "USER1";
+ String testRemoteIp = "127.0.0.1";
+
+ Map<String, List<String>> roles = new HashMap<>();
+ roles.put("a", Arrays.asList("r1", "r2", "r3"));
+
+ LoginAuditEvent evnt = LoginAuditEvent.builder()
+ .withTimestamp(DateTime.now())
+ .withRemoteIp(testRemoteIp)
+ .withUserName(testUserName)
+ .withRoles(roles)
+ .build();
+
+ // When
+ String actualAuditMessage = evnt.getAuditMessage();
+
+ String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+
+ // Then
+ String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Success)",
+ testUserName, testRemoteIp, roleMessage);
+
+ assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
+
+ }
+
+ @Test
+ public void testFailedAuditMessage() throws Exception {
+ // Given
+ String testUserName = "USER1";
+ String testRemoteIp = "127.0.0.1";
+ String reason = "Bad credentials";
+
+ Map<String, List<String>> roles = new HashMap<>();
+ roles.put("a", Arrays.asList("r1", "r2", "r3"));
+
+ LoginAuditEvent evnt = LoginAuditEvent.builder()
+ .withTimestamp(DateTime.now())
+ .withRemoteIp(testRemoteIp)
+ .withUserName(testUserName)
+ .withRoles(roles)
+ .withReasonOfFailure(reason)
+ .build();
+
+ // When
+ String actualAuditMessage = evnt.getAuditMessage();
+
+ String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+
+ // Then
+ String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s)",
+ testUserName, testRemoteIp, roleMessage, reason);
+
+ assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
+
+ }
+
+ @Test
+ public void testTimestamp() throws Exception {
+ // Given
+ DateTime testTimestamp = DateTime.now();
+ LoginAuditEvent evnt = LoginAuditEvent.builder()
+ .withTimestamp(testTimestamp)
+ .build();
+
+ // When
+ DateTime actualTimestamp = evnt.getTimestamp();
+
+ // Then
+ assertThat(actualTimestamp, equalTo(testTimestamp));
+
+ }
+
+ @Test
+ public void testEquals() throws Exception {
+ EqualsVerifier.forClass(LoginAuditEvent.class)
+ .verify();
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginFailedAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginFailedAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginFailedAuditEventTest.java
deleted file mode 100644
index 56d47d0..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginFailedAuditEventTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit;
-
-import org.joda.time.DateTime;
-import org.junit.Test;
-
-import nl.jqno.equalsverifier.EqualsVerifier;
-
-import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
-
-public class LoginFailedAuditEventTest {
-
- @Test
- public void testAuditMessage() throws Exception {
- String testUserName = "USER1";
- String testRemoteIp = "127.0.0.1";
- String testReason = "Bad credentials";
-
- LoginFailedAuditEvent evnt = LoginFailedAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRemoteIp(testRemoteIp)
- .withUserName(testUserName)
- .withReason(testReason)
- .build();
-
- // When
- String actualAuditMessage = evnt.getAuditMessage();
-
- // Then
- String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Status(Login failed !), Reason(%s)", testUserName, testRemoteIp, testReason);
-
- assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
-
- }
-
- @Test
- public void testTimestamp() throws Exception {
- // Given
- DateTime testTimestamp = DateTime.now();
- LoginFailedAuditEvent evnt = LoginFailedAuditEvent.builder()
- .withTimestamp(testTimestamp)
- .build();
-
- // When
- DateTime actualTimestamp = evnt.getTimestamp();
-
- // Then
- assertThat(actualTimestamp, equalTo(testTimestamp));
-
- }
-
- @Test
- public void testEquals() throws Exception {
- EqualsVerifier.forClass(LoginFailedAuditEvent.class)
- .verify();
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginSucceededAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginSucceededAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginSucceededAuditEventTest.java
deleted file mode 100644
index 31e7eef..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginSucceededAuditEventTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.audit;
-
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang.StringUtils;
-import org.joda.time.DateTime;
-import org.junit.Test;
-
-import nl.jqno.equalsverifier.EqualsVerifier;
-
-import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
-
-public class LoginSucceededAuditEventTest {
-
- @Test
- public void testAuditMessage() throws Exception {
- // Given
- String testUserName = "USER1";
- String testRemoteIp = "127.0.0.1";
-
- Map<String, List<String>> roles = new HashMap<>();
- roles.put("a", Arrays.asList("r1", "r2", "r3"));
-
- LoginSucceededAuditEvent evnt = LoginSucceededAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRemoteIp(testRemoteIp)
- .withUserName(testUserName)
- .withRoles(roles)
- .build();
-
- // When
- String actualAuditMessage = evnt.getAuditMessage();
-
- String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
-
- // Then
- String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Roles(%s), Status(Login succeeded !)",
- testUserName, testRemoteIp, roleMessage);
-
- assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
-
- }
-
- @Test
- public void testTimestamp() throws Exception {
- // Given
- DateTime testTimestamp = DateTime.now();
- LoginSucceededAuditEvent evnt = LoginSucceededAuditEvent.builder()
- .withTimestamp(testTimestamp)
- .build();
-
- // When
- DateTime actualTimestamp = evnt.getTimestamp();
-
- // Then
- assertThat(actualTimestamp, equalTo(testTimestamp));
-
- }
-
- @Test
- public void testEquals() throws Exception {
- EqualsVerifier.forClass(LoginSucceededAuditEvent.class)
- .verify();
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/LogoutAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LogoutAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LogoutAuditEventTest.java
index ec6ea2d..ad4c8bc 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/LogoutAuditEventTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/LogoutAuditEventTest.java
@@ -18,6 +18,8 @@
package org.apache.ambari.server.audit;
import nl.jqno.equalsverifier.EqualsVerifier;
+
+import org.apache.ambari.server.audit.event.LogoutAuditEvent;
import org.joda.time.DateTime;
import org.junit.Test;
@@ -42,7 +44,7 @@ public class LogoutAuditEventTest {
String actualAuditMessage = evnt.getAuditMessage();
// Then
- String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Status(Logout succeeded !)",
+ String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(Logout), Status(Success)",
testUserName, testRemoteIp);
assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java
index 7225158..084fcab 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java
@@ -18,6 +18,7 @@
package org.apache.ambari.server.audit;
+import org.apache.ambari.server.audit.event.OperationStatusAuditEvent;
import org.joda.time.DateTime;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationAuditEventTest.java
new file mode 100644
index 0000000..d564d76
--- /dev/null
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationAuditEventTest.java
@@ -0,0 +1,80 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ambari.server.audit;
+
+import org.apache.ambari.server.audit.event.LoginAuditEvent;
+import org.apache.ambari.server.audit.event.StartOperationAuditEvent;
+import org.joda.time.DateTime;
+import org.junit.Test;
+
+import nl.jqno.equalsverifier.EqualsVerifier;
+
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+public class StartOperationAuditEventTest {
+
+ @Test
+ public void testAuditMessage() throws Exception {
+ // Given
+ String testUserName = "USER1";
+ String testRemoteIp = "127.0.0.1";
+ String testRequestDetails = "{ \"key\": \"value\"}";
+ Long testRequestId = 100L;
+
+ StartOperationAuditEvent evnt = StartOperationAuditEvent.builder()
+ .withTimestamp(DateTime.now())
+ .withRemoteIp(testRemoteIp)
+ .withUserName(testUserName)
+ .withOperation(testRequestDetails)
+ .withRequestId(testRequestId.toString())
+ .build();
+
+ // When
+ String actualAuditMessage = evnt.getAuditMessage();
+
+ // Then
+ String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(%s), RequestId(%d), Status(Success)", testUserName, testRemoteIp, testRequestDetails, testRequestId);
+
+ assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
+
+ }
+
+ @Test
+ public void testTimestamp() throws Exception {
+ // Given
+ DateTime testTimestamp = DateTime.now();
+ StartOperationAuditEvent evnt = StartOperationAuditEvent.builder()
+ .withTimestamp(testTimestamp)
+ .build();
+
+ // When
+ DateTime actualTimestamp = evnt.getTimestamp();
+
+ // Then
+ assertThat(actualTimestamp, equalTo(testTimestamp));
+
+ }
+
+
+ @Test
+ public void testEquals() throws Exception {
+ EqualsVerifier.forClass(LoginAuditEvent.class)
+ .verify();
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationFailedAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationFailedAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationFailedAuditEventTest.java
deleted file mode 100644
index 9544abb..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationFailedAuditEventTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.audit;
-
-import org.joda.time.DateTime;
-import org.junit.Test;
-
-import nl.jqno.equalsverifier.EqualsVerifier;
-
-import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
-
-public class StartOperationFailedAuditEventTest {
-
- @Test
- public void testAuditMessage() throws Exception {
- // Given
- String testUserName = "USER1";
- String testRemoteIp = "127.0.0.1";
- String testRequestDetails = "{ \"key\": \"value\"}";
- String testReason = "Parse exception";
-
-
- StartOperationFailedAuditEvent evnt = StartOperationFailedAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRemoteIp(testRemoteIp)
- .withUserName(testUserName)
- .withOperation(testRequestDetails)
- .withReason(testReason)
- .build();
-
- // When
- String actualAuditMessage = evnt.getAuditMessage();
-
- // Then
- String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(%s), Status(Request failed to be processed !), Reason(%s)", testUserName, testRemoteIp, testRequestDetails, testReason);
-
- assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
- }
-
- @Test
- public void testTimestamp() throws Exception {
- // Given
- DateTime testTimestamp = DateTime.now();
- StartOperationFailedAuditEvent evnt = StartOperationFailedAuditEvent.builder()
- .withTimestamp(testTimestamp)
- .build();
-
- // When
- DateTime actualTimestamp = evnt.getTimestamp();
-
- // Then
- assertThat(actualTimestamp, equalTo(testTimestamp));
-
- }
-
- @Test
- public void testEquals() throws Exception {
- EqualsVerifier.forClass(StartOperationFailedAuditEvent.class)
- .verify();
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationSucceededAuditEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationSucceededAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationSucceededAuditEventTest.java
deleted file mode 100644
index 0027271..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationSucceededAuditEventTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.audit;
-
-import org.joda.time.DateTime;
-import org.junit.Test;
-
-import nl.jqno.equalsverifier.EqualsVerifier;
-
-import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
-
-public class StartOperationSucceededAuditEventTest {
-
- @Test
- public void testAuditMessage() throws Exception {
- // Given
- String testUserName = "USER1";
- String testRemoteIp = "127.0.0.1";
- String testRequestDetails = "{ \"key\": \"value\"}";
- Long testRequestId = 100L;
-
- StartOperationSucceededAuditEvent evnt = StartOperationSucceededAuditEvent.builder()
- .withTimestamp(DateTime.now())
- .withRemoteIp(testRemoteIp)
- .withUserName(testUserName)
- .withOperation(testRequestDetails)
- .withRequestId(testRequestId.toString())
- .build();
-
- // When
- String actualAuditMessage = evnt.getAuditMessage();
-
- // Then
- String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(%s), Status(Request queued for processing with request id %d)", testUserName, testRemoteIp, testRequestDetails, testRequestId);
-
- assertThat(actualAuditMessage, equalTo(expectedAuditMessage));
-
- }
-
- @Test
- public void testTimestamp() throws Exception {
- // Given
- DateTime testTimestamp = DateTime.now();
- StartOperationSucceededAuditEvent evnt = StartOperationSucceededAuditEvent.builder()
- .withTimestamp(testTimestamp)
- .build();
-
- // When
- DateTime actualTimestamp = evnt.getTimestamp();
-
- // Then
- assertThat(actualTimestamp, equalTo(testTimestamp));
-
- }
-
-
- @Test
- public void testEquals() throws Exception {
- EqualsVerifier.forClass(LoginSucceededAuditEvent.class)
- .verify();
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java
index 1847f31..1c38b49 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java
@@ -20,7 +20,8 @@ package org.apache.ambari.server.audit.request;
import org.apache.ambari.server.api.services.Request;
import org.apache.ambari.server.api.services.Result;
-import org.apache.ambari.server.audit.AuditEvent;
+import org.apache.ambari.server.audit.event.AuditEvent;
+import org.apache.ambari.server.audit.event.request.RequestAuditEventCreator;
import org.joda.time.DateTime;
public abstract class AbstractBaseCreator implements RequestAuditEventCreator {
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/request/DefaultEventCreatorTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/DefaultEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/DefaultEventCreatorTest.java
index 0d17319..1db6a18 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/DefaultEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/DefaultEventCreatorTest.java
@@ -28,7 +28,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
-import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -45,10 +44,6 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpUpgradeHandler;
import javax.servlet.http.Part;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
import org.apache.ambari.server.api.query.QueryImpl;
import org.apache.ambari.server.api.resources.HostComponentResourceDefinition;
@@ -60,7 +55,7 @@ import org.apache.ambari.server.api.services.RequestFactory;
import org.apache.ambari.server.api.services.Result;
import org.apache.ambari.server.api.services.ResultImpl;
import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.request.eventcreator.DefaultEventCreator;
+import org.apache.ambari.server.audit.event.request.eventcreator.DefaultEventCreator;
import org.apache.ambari.server.controller.spi.Resource;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -73,8 +68,6 @@ import org.springframework.security.core.userdetails.User;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-
public class DefaultEventCreatorTest {
private DefaultEventCreator defaultEventCreator;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java
index 52ad44c..7a3b0d1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java
@@ -20,6 +20,9 @@ package org.apache.ambari.server.audit.request;
import org.apache.ambari.server.audit.AuditLogger;
import org.apache.ambari.server.audit.AuditLoggerDefaultImpl;
+import org.apache.ambari.server.audit.event.request.RequestAuditEventCreator;
+import org.apache.ambari.server.audit.event.request.RequestAuditLogger;
+import org.apache.ambari.server.audit.event.request.RequestAuditLoggerImpl;
import org.easymock.EasyMock;
import com.google.inject.AbstractModule;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLoggerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLoggerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLoggerTest.java
index 549bd4c..6cae132 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLoggerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLoggerTest.java
@@ -34,8 +34,9 @@ import org.apache.ambari.server.api.services.RequestFactory;
import org.apache.ambari.server.api.services.Result;
import org.apache.ambari.server.api.services.ResultImpl;
import org.apache.ambari.server.api.services.ResultStatus;
-import org.apache.ambari.server.audit.AuditEvent;
+import org.apache.ambari.server.audit.event.AuditEvent;
import org.apache.ambari.server.audit.AuditLogger;
+import org.apache.ambari.server.audit.event.request.RequestAuditLogger;
import org.apache.ambari.server.controller.spi.Resource;
import org.easymock.Capture;
import org.easymock.EasyMock;
http://git-wip-us.apache.org/repos/asf/ambari/blob/1b1b3bc6/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java
index 8430326..a415b4c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java
@@ -27,7 +27,7 @@ import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.ambari.server.audit.AuditEvent;
+import org.apache.ambari.server.audit.event.AuditEvent;
import org.apache.ambari.server.audit.AuditLogger;
import org.apache.ambari.server.security.authorization.AuthorizationHelper;
import org.junit.runner.RunWith;