> On márc. 29, 2016, 4:33 du, Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java,
> >  line 843
> > <https://reviews.apache.org/r/44265/diff/4/?file=1313493#file1313493line843>
> >
> >     These work with the above cache, but don't take into account HRCs being 
> > updated externally; especially from places like server-side executors. How 
> > does this work during a stack upgrade? Does this properly clear all of the 
> > requests out?

Requests that are started by stack upgrade are handled in the same way as any 
other requests, so they are also removed. (they have requestID and tasks, so 
status of them can be checked and based on that we can clear the cache)


- Daniel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44265/#review125892
-----------------------------------------------------------


On márc. 30, 2016, 12:44 du, Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/44265/
> -----------------------------------------------------------
> 
> (Updated márc. 30, 2016, 12:44 du)
> 
> 
> Review request for Ambari, Laszlo Puskas, Oliver Szabo, Robert Levas, Sandor 
> Magyari, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15241
>     https://issues.apache.org/jira/browse/AMBARI-15241
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Entry points for logging events:
> - Login and logout: AmbariAuthenticationFilter, AmbariAuthorizationFilter, 
> LogoutService
> - Operation and tasks: ActionDBAAccessorImpl
> - Kerberos related events: CreateKeytabFilesServerAction, 
> CreatePrincipalServerAction, DestroyPrincipalsServerAction, 
> FinalizeKerberosServerAction
> - REST api: BaseService
> 
> Architecture:
> AuditLogger injectable is created and wired in by Guice. The default 
> implementation (AuditLoggerDefaultImpl) for this interface logs to a file. 
> Considering performance impact, there is a buffered audit logger 
> implementation (BufferedAuditLogger) that is a wrapper for an audit logger 
> implementation and does the logging asynchronously.
> 
> Audit loggers have a single log method that accepts an AuditEvent object. At 
> the entry points an AuditEvent is assembled and log method is called (except 
> for the REST api, see below...)
> 
> REST Api:
> In BaseService, there is a RequestAuditLogger, that is responsible for 
> handling and assembling AuditEvents. It also has a log method, but the 
> parameters for that is the Request and Result objects.
> RequestAuditLogger is a small framework for that plugins can be implemented 
> to handle different type of requests.
> Plugins implements RequestAuditEventCreator interface and can be set to 
> handle one or multiple request types (PUT, POST, DELETE, etc...), resource 
> types (HOST_COMPONENT, BLUEPRINT, etc..) and results statuses (200 OK, 202 
> ACCEPTED, 404 NOT_FOUND, etc). If null is returned by these getters, it means 
> "all". If there are more than one RequestAuditEventCreators can handle a 
> request, then the most specific is called. (Priority order: resourceType > 
> resultStatus > requestType)
> For example it is possible to define a plugin for all the POST requests, but 
> if there is an other plugin for POST request and for resource type 
> HOST_COMPONENT, then this latter is used (because it is more specific). The 
> method createAuditEvent is responsible for creating the AuditEvent object for 
> the RequestAuditEventLogger. If null is returned, then request is not logged 
> (can be used for ignoring events).
> Plugins are registered in ControllerModule and wired by guice to the 
> RequestAuditLogger. If a new plugin is needed, then implementing the 
> RequestAuditEventCreator interface and registering it in Guice is the only 
> things to do. (open-closed principle)
> 
> 
> Diffs
> -----
> 
>   ambari-project/pom.xml b3d9ca2 
>   ambari-server/conf/unix/log4j.properties 2ee32d4 
>   ambari-server/conf/windows/log4j.properties cc40f74 
>   ambari-server/pom.xml 1e44517 
>   ambari-server/src/main/conf/log4j.properties 8e6652d 
>   
> ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
>  429f573 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseRequest.java
>  a33e8a7 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
>  7945599 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java
>  df8faaa 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/Request.java
>  ff9b6c7 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/AsyncAuditLogger.java
>  PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLogger.java 
> PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerDefaultImpl.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/AuditLoggerModule.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/AbstractAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/AbstractUserAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/AccessUnauthorizedAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/AuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/LogoutAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/OperationStatusAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/TaskStatusAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/kerberos/AbstractKerberosAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/kerberos/ChangeSecurityStateKerberosAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/kerberos/CreateKeyTabKerberosAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/kerberos/CreatePrincipalKerberosAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/kerberos/DestroyPrincipalKerberosAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ActivateUserRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddAlertGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddAlertTargetRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddBlueprintRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddComponentToHostRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddCredentialRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddHostRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRequestRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddUpgradeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddUserToGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddViewInstanceRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AdminUserRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/BlueprintExportRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeAlertGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeAlertTargetRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeViewInstanceRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClientConfigDownloadRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterNameChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ConfigurationChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/CreateGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/CreateUserRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteAlertGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteAlertTargetRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteBlueprintRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteHostRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteRepositoryVersionRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteServiceRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteUserRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/DeleteViewInstanceRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/MembershipChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/PrivilegeChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/RemoveUserFromGroupRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/StartOperationRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/UpdateRepositoryRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/UpdateUpgradeItemRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/UserPasswordChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEvent.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLogger.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/RequestAuditLoggerImpl.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertGroupEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/AlertTargetEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/BlueprintExportEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ComponentEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ConfigurationChangeEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/CredentialEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/DefaultEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/GroupEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/HostEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/MemberEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/PrivilegeEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RecommendationIgnoreEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceConfigDownloadEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ServiceEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UnauthorizedEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UpgradeItemEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/UserEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ValidationIgnoreEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewInstanceEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/ViewPrivilegeEventCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
>  9404506 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
>  076f850 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
>  daca64d 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CalculatedStatus.java
>  1d8df9b 
>   
> ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilter.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilter.java
>  4be804d 
>   
> ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AuthorizationHelper.java
>  b136182 
>   
> ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PermissionHelper.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/serveraction/AbstractServerAction.java
>  33191bf 
>   
> ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
>  cadfe28 
>   
> ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java
>  8009ae1 
>   
> ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java
>  93daae8 
>   
> ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerAction.java
>  c710b8e 
>   
> ambari-server/src/main/java/org/apache/ambari/server/utils/RequestUtils.java 
> PRE-CREATION 
>   ambari-server/src/main/resources/webapp/WEB-INF/spring-security.xml 3bbc785 
>   
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
>  f88cf8e 
>   
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
>  d7d08b1 
>   
> ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatProcessorTest.java
>  7f3d763 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java
>  19eeffb 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/AccessUnauthorizedAuditEventTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/LogoutAuditEventTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/OperationStatusAuditEventTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/StartOperationRequestAuditEventTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/AbstractBaseCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/AllGetCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/AllPostAndPutCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/DefaultEventCreatorTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/PutHostComponentCreator.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLogModule.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/audit/request/RequestAuditLoggerTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/checks/UpgradeCheckOrderTest.java
>  d4ff566 
>   
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
>  ca062c0 
>   
> ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
>  f6027f3 
>   
> ambari-server/src/test/java/org/apache/ambari/server/notifications/DispatchFactoryTest.java
>  6834d5c 
>   
> ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java
>  3ecfe14 
>   
> ambari-server/src/test/java/org/apache/ambari/server/orm/JdbcPropertyTest.java
>  c07382b 
>   
> ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationFilterTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationFilterTest.java
>  9db3904 
>   
> ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
>  da8d9bc 
>   
> ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
>  d48be85 
>   
> ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserDetailsServiceTest.java
>  c410f5b 
>   
> ambari-server/src/test/java/org/apache/ambari/server/security/authorization/LdapServerPropertiesTest.java
>  0797239 
>   
> ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerActionTest.java
>  ce97f25 
>   
> ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/UpdateKerberosConfigsServerActionTest.java
>  d6f9efe 
>   
> ambari-server/src/test/java/org/apache/ambari/server/utils/RequestUtilsTest.java
>  PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/44265/diff/
> 
> 
> Testing
> -------
> 
> Unit tests are added to cover functionality. 
> 
> All tests passed on local machine.
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>

Reply via email to