1 /*******************************************************************************
2 * Copyright (c) 2007, 2010 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.diagram.synchronization.graph;
14 import org.simantics.db.ReadGraph;
15 import org.simantics.db.Session;
16 import org.simantics.db.exception.DatabaseException;
17 import org.simantics.db.request.Read;
18 import org.simantics.diagram.stubs.DiagramResource;
19 import org.simantics.diagram.stubs.G2DResource;
20 import org.simantics.layer0.Layer0;
21 import org.simantics.structural.stubs.StructuralResource2;
24 * @author Tuukka Lehtonen
26 public final class BasicResources {
28 public final Layer0 L0;
29 public final G2DResource G2D;
30 public final DiagramResource DIA;
31 public final StructuralResource2 STR;
33 public BasicResources(ReadGraph graph) {
34 L0 = Layer0.getInstance(graph);
35 G2D = G2DResource.getInstance(graph);
36 DIA = DiagramResource.getInstance(graph);
37 STR = StructuralResource2.getInstance(graph);
40 public static BasicResources getInstance(ReadGraph graph) {
41 BasicResources br = graph.peekService(BasicResources.class);
43 br = new BasicResources(graph);
44 graph.registerService(BasicResources.class, br);
49 public static BasicResources getInstance(Session session) throws DatabaseException {
50 BasicResources ret = session.peekService(BasicResources.class);
52 ret = session.syncRequest(new Read<BasicResources>() {
54 public BasicResources perform(ReadGraph graph) throws DatabaseException {
55 return new BasicResources(graph);
58 session.registerService(BasicResources.class, ret);