X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Frequest%2FApplyTemplatesRequest.java;h=b1b8b5968164d3a6c750cf12596210a7e42e8347;hb=5ef2cc0bbaf6e69c23bd1f26ea2a5ff09b6473ce;hp=cc1463ca4d86e0d7cc98b5275b5464d989d66782;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ApplyTemplatesRequest.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ApplyTemplatesRequest.java index cc1463ca4..b1b8b5968 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ApplyTemplatesRequest.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ApplyTemplatesRequest.java @@ -1,82 +1,82 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 Association for Decentralized Information Management - * in Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.db.layer0.request; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - -import org.simantics.db.Resource; -import org.simantics.db.WriteGraph; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.adapter.Template; -import org.simantics.operation.Layer0X; - -/** - * Applies templates to an instance. - * @author Hannu Niemist� - */ -public class ApplyTemplatesRequest { - Map parameters; - Collection contexts; - - public ApplyTemplatesRequest(Map parameters, - Collection contexts) { - this.parameters = parameters; - this.contexts = contexts; - } - - public ApplyTemplatesRequest(Map parameters) { - this(parameters, new ArrayList(2)); - } - - public ApplyTemplatesRequest() { - this(new HashMap()); - } - - public void perform(WriteGraph g, Resource resource) throws DatabaseException { - Layer0X L0X = Layer0X.getInstance(g); - - parameters.put("", resource); - - // Use default context if no other contexts have been defined - if(contexts.isEmpty()) - contexts.add(L0X.HasTemplate); - - // Collect templates - HashSet templates = new HashSet(); - for(Resource context : contexts) - templates.addAll(g.getObjects(resource, context)); - - // Apply templates - for(Resource template : templates) - g.adapt(template, Template.class).apply(g, parameters); - } - - public void addContext(Resource context) { - contexts.add(context); - } - - public void addParameter(String key, Object value) { - parameters.put(key, value); - } - - public T getParameter(String key) { - return (T)parameters.get(key); - } - - public Map getParameters() { - return parameters; - } -} +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.db.layer0.request; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.adapter.Template; +import org.simantics.operation.Layer0X; + +/** + * Applies templates to an instance. + * @author Hannu Niemist� + */ +public class ApplyTemplatesRequest { + Map parameters; + Collection contexts; + + public ApplyTemplatesRequest(Map parameters, + Collection contexts) { + this.parameters = parameters; + this.contexts = contexts; + } + + public ApplyTemplatesRequest(Map parameters) { + this(parameters, new ArrayList(2)); + } + + public ApplyTemplatesRequest() { + this(new HashMap()); + } + + public void perform(WriteGraph g, Resource resource) throws DatabaseException { + Layer0X L0X = Layer0X.getInstance(g); + + parameters.put("", resource); + + // Use default context if no other contexts have been defined + if(contexts.isEmpty()) + contexts.add(L0X.HasTemplate); + + // Collect templates + HashSet templates = new HashSet(); + for(Resource context : contexts) + templates.addAll(g.getObjects(resource, context)); + + // Apply templates + for(Resource template : templates) + g.adapt(template, Template.class).apply(g, parameters); + } + + public void addContext(Resource context) { + contexts.add(context); + } + + public void addParameter(String key, Object value) { + parameters.put(key, value); + } + + public T getParameter(String key) { + return (T)parameters.get(key); + } + + public Map getParameters() { + return parameters; + } +}