]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/property/svg/SVGModifier.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / property / svg / SVGModifier.java
1 /*******************************************************************************
2  * Copyright (c) 2011 Association for Decentralized Information Management in
3  * Industry THTH ry.
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
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.modeling.ui.property.svg;
13
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.diagram.stubs.G2DResource;
20
21 /**
22  * @author Antti Villberg
23  */
24 public class SVGModifier extends TextModifyListenerImpl<SVGInput> {
25
26     @Override
27     public void applyText(WriteGraph graph, SVGInput ui, String text) throws DatabaseException {
28         if (text == null)
29             return;
30
31         try {
32             XMLPrettyPrinter.parseDocument(text);
33         } catch (Exception e) {
34             // Never write non-well-formed SVG into the database.
35             return;
36         }
37
38         G2DResource G2D = G2DResource.getInstance(graph);
39         Resource element = ui.getDatum();
40         graph.claimLiteral(element, G2D.HasSVGDocument, text, Bindings.STRING);
41    }
42
43 }