View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.syncope.core.workflow.java;
20  
21  import java.time.OffsetDateTime;
22  import org.apache.syncope.core.persistence.api.dao.GroupDAO;
23  import org.apache.syncope.core.persistence.api.entity.Any;
24  import org.apache.syncope.core.persistence.api.entity.EntityFactory;
25  import org.springframework.context.ApplicationEventPublisher;
26  
27  public abstract class AbstractWorkflowAdapter {
28  
29      protected final GroupDAO groupDAO;
30  
31      protected final EntityFactory entityFactory;
32  
33      protected final ApplicationEventPublisher publisher;
34  
35      protected AbstractWorkflowAdapter(
36              final GroupDAO groupDAO,
37              final EntityFactory entityFactory,
38              final ApplicationEventPublisher publisher) {
39  
40          this.groupDAO = groupDAO;
41          this.entityFactory = entityFactory;
42          this.publisher = publisher;
43      }
44  
45      protected void metadata(final Any<?> any, final String who, final String context) {
46          OffsetDateTime now = OffsetDateTime.now();
47  
48          if (any.getCreationDate() == null) {
49              any.setCreationDate(now);
50              any.setCreator(who);
51              any.setCreationContext(context);
52          }
53  
54          any.setLastModifier(who);
55          any.setLastChangeDate(now);
56          any.setLastChangeContext(context);
57      }
58  }