]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.procore/src/org/simantics/db/procore/cluster/ClusterPrintDebugInfo.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.procore / src / org / simantics / db / procore / cluster / ClusterPrintDebugInfo.java
1 /*******************************************************************************\r
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
3  * in Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.db.procore.cluster;\r
13 \r
14 import org.simantics.db.exception.DatabaseException;\r
15 import org.simantics.db.impl.ClusterBase;\r
16 import org.simantics.db.impl.ClusterI;\r
17 import org.simantics.db.impl.ClusterSupport;\r
18 \r
19 public class ClusterPrintDebugInfo\r
20 implements ClusterI.ObjectProcedure<Integer> {\r
21     private ClusterBase cluster;\r
22     private ClusterSupport support;\r
23     private ObjectTable ot;\r
24     private int n = 0;\r
25         public ClusterPrintDebugInfo(ClusterBase cluster, ResourceTable resourceTable\r
26                         , PredicateTable predicateTable, ClusterSupport support,\r
27                      ObjectTable ot) throws DatabaseException {\r
28                 this.cluster = cluster;\r
29                 if (null == support)\r
30                     throw new DatabaseException("Illegal argument.");\r
31                 this.support = support;\r
32                 this.ot = ot;\r
33         }\r
34         \r
35     @Override\r
36     public boolean execute(Integer i, int resourceRef) {\r
37         int resourceKey;\r
38         try {\r
39             resourceKey = ClusterTraits.createResourceKey(cluster.getClusterKey(), resourceRef);\r
40         } catch (DatabaseException e) {\r
41             e.printStackTrace();\r
42             return false; // continue loop\r
43         }\r
44         CalculateStatements cs = new CalculateStatements(resourceRef, ot);\r
45         try {\r
46             cluster.forPredicates(resourceKey, cs, cs, support);\r
47         } catch (Throwable t) {\r
48             t.printStackTrace();\r
49         }\r
50         return false; // continue loop\r
51     }\r
52         public int getSize() {\r
53                 return n;\r
54         }\r
55         \r
56 }\r