X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fgenericrelation%2FUnsupportedRelation.java;h=9c101e37d7000b63226d109a0f117b4afd2c9f81;hp=b2656699b3d85d868cbec091387a7dadc2e4bc14;hb=HEAD;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/UnsupportedRelation.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/UnsupportedRelation.java index b2656699b..9c101e37d 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/UnsupportedRelation.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/UnsupportedRelation.java @@ -1,93 +1,93 @@ -/******************************************************************************* - * 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.genericrelation; - -import java.util.List; - -import org.simantics.db.ReadGraph; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.adapter.GenericRelation; -import org.simantics.utils.datastructures.Pair; - -/** - * Default implementation for some methods of IRelation interface. - */ -public class UnsupportedRelation implements GenericRelation { - - @Override - public boolean contains(ReadGraph graph, Object[] tuple) throws DatabaseException { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isRealizable() { - throw new UnsupportedOperationException(); - } - - @Override - public List realize(ReadGraph graph) throws DatabaseException { - throw new UnsupportedOperationException(); - } - - @Override - public GenericRelation select(String bindingPattern, Object[] constants) { - throw new UnsupportedOperationException(); - } - - @Override - public GenericRelation selectByRelation(String bindingPattern, - GenericRelation constraint) { - throw new UnsupportedOperationException(); - } - - @Override - public Pair[] getFields() { - throw new UnsupportedOperationException(); - } - - private Class getClass(String clazz) { - if("Long".equals(clazz)) return Long.class; - else return String.class; - } - - protected void checkSelectionArguments(String bindingPattern, Object[] constants, String[] allowedPatterns) { - - boolean allowed = false; - for(String allow : allowedPatterns) { - if(allow.equals(bindingPattern)) { - allowed = true; - break; - } - } - - if(!allowed) throw new IllegalArgumentException("Select does not support binding pattern '" + bindingPattern + "'"); - - Pair[] fields = getFields(); - - assert(bindingPattern.length() == fields.length); - int constantIndex = 0; - for(int i=0;i clazz = getClass(fields[i].second); - switch(bindingPattern.charAt(i)) { - case 'b': - if(!clazz.isInstance(constants[constantIndex++])) throw new IllegalArgumentException("Invalid constant."); - break; - case 'f': - break; - default: - throw new IllegalArgumentException("Invalid binding character '" + bindingPattern.charAt(i) + "'"); - } - } - - } - -} +/******************************************************************************* + * 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.genericrelation; + +import java.util.List; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.adapter.GenericRelation; +import org.simantics.utils.datastructures.Pair; + +/** + * Default implementation for some methods of IRelation interface. + */ +public class UnsupportedRelation implements GenericRelation { + + @Override + public boolean contains(ReadGraph graph, Object[] tuple) throws DatabaseException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isRealizable() { + throw new UnsupportedOperationException(); + } + + @Override + public List realize(ReadGraph graph) throws DatabaseException { + throw new UnsupportedOperationException(); + } + + @Override + public GenericRelation select(String bindingPattern, Object[] constants) { + throw new UnsupportedOperationException(); + } + + @Override + public GenericRelation selectByRelation(String bindingPattern, + GenericRelation constraint) { + throw new UnsupportedOperationException(); + } + + @Override + public Pair[] getFields() { + throw new UnsupportedOperationException(); + } + + private Class getClass(String clazz) { + if("Long".equals(clazz)) return Long.class; + else return String.class; + } + + protected void checkSelectionArguments(String bindingPattern, Object[] constants, String[] allowedPatterns) { + + boolean allowed = false; + for(String allow : allowedPatterns) { + if(allow.equals(bindingPattern)) { + allowed = true; + break; + } + } + + if(!allowed) throw new IllegalArgumentException("Select does not support binding pattern '" + bindingPattern + "'"); + + Pair[] fields = getFields(); + + assert(bindingPattern.length() == fields.length); + int constantIndex = 0; + for(int i=0;i clazz = getClass(fields[i].second); + switch(bindingPattern.charAt(i)) { + case 'b': + if(!clazz.isInstance(constants[constantIndex++])) throw new IllegalArgumentException("Invalid constant."); + break; + case 'f': + break; + default: + throw new IllegalArgumentException("Invalid binding character '" + bindingPattern.charAt(i) + "'"); + } + } + + } + +}