| /********************************************************************************* |
| * Copyright (c) 2021 Robert Bosch GmbH and others. |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Robert Bosch GmbH - initial API and implementation |
| ******************************************************************************** |
| */ |
| |
| package org.eclipse.app4mc.amalthea.model.editor.contribution.service.processing; |
| |
| import java.text.SimpleDateFormat; |
| import java.util.Date; |
| |
| import javax.annotation.PostConstruct; |
| |
| import org.eclipse.app4mc.amalthea.model.IAnnotatable; |
| import org.eclipse.app4mc.amalthea.model.editor.contribution.service.ProcessingService; |
| import org.eclipse.app4mc.amalthea.model.util.CustomPropertyUtil; |
| import org.osgi.service.component.annotations.Component; |
| |
| @Component( |
| property = { |
| "name = Custom properties | Add modification timestamp", |
| "description = Creates a custom property with the current date and time" }) |
| |
| public class AddModificationTimestamp implements ProcessingService { |
| |
| private final SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| |
| @PostConstruct |
| public void addTimestamp(IAnnotatable object) { |
| CustomPropertyUtil.customPut(object, "modified", timestampFormat.format(new Date())); |
| } |
| |
| } |