1 /*******************************************************************************
2 * Copyright (c) 2007, 2012 Association for Decentralized Information Management
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License v1.0
6 * which accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * VTT Technical Research Centre of Finland - initial API and implementation
11 *******************************************************************************/
12 package org.simantics.browsing.ui.swt.widgets;
14 import org.simantics.browsing.ui.swt.widgets.impl.TextModifyListenerImpl;
15 import org.simantics.databoard.Bindings;
16 import org.simantics.db.Resource;
17 import org.simantics.db.WriteGraph;
18 import org.simantics.db.exception.DatabaseException;
19 import org.simantics.db.layer0.util.Layer0Utils;
20 import org.simantics.db.management.ISessionContext;
23 public class StringPropertyModifier extends TextModifyListenerImpl<Resource> {
25 final private String propertyURI;
26 final private boolean undo;
27 public StringPropertyModifier(ISessionContext context, String propertyURI) {
28 this(context, propertyURI,true);
31 public StringPropertyModifier(ISessionContext context, String propertyURI, boolean undo) {
32 this.propertyURI = propertyURI;
37 public void applyText(WriteGraph graph, Resource issue, String text) throws DatabaseException {
39 String meta = propertyURI;
40 int i = propertyURI.lastIndexOf("/");
42 meta = meta.substring(i+1);
43 Layer0Utils.addCommentMetadata(graph, "Modify String " +meta);
44 graph.markUndoPoint();
46 graph.claimLiteral(issue, graph.getResource(propertyURI), text, Bindings.STRING);