1 /*******************************************************************************
2 * Copyright (c) 2012, 2013 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Bernd Hufmann - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.lttng2
.core
.tests
.control
.model
.impl
;
15 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IBaseEventInfo
;
16 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IChannelInfo
;
17 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IDomainInfo
;
18 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IEventInfo
;
19 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IFieldInfo
;
20 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IProbeEventInfo
;
21 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.ISessionInfo
;
22 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IUstProviderInfo
;
23 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceEnablement
;
24 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceEventType
;
25 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceLogLevel
;
26 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceSessionState
;
27 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.BaseEventInfo
;
28 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.ChannelInfo
;
29 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.DomainInfo
;
30 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.EventInfo
;
31 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.FieldInfo
;
32 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.ProbeEventInfo
;
33 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.SessionInfo
;
34 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.UstProviderInfo
;
37 * Test facility to constants across test case
39 @SuppressWarnings("javadoc")
40 public class ModelImplFactory
{
42 private ISessionInfo fSessionInfo1
= null;
43 private ISessionInfo fSessionInfo2
= null;
44 private IDomainInfo fDomainInfo1
= null;
45 private IDomainInfo fDomainInfo2
= null;
46 private IChannelInfo fChannelInfo1
= null;
47 private IChannelInfo fChannelInfo2
= null;
48 private IEventInfo fEventInfo1
= null;
49 private IEventInfo fEventInfo2
= null;
50 private IEventInfo fEventInfo3
= null;
51 private IFieldInfo fFieldInfo1
= null;
52 private IFieldInfo fFieldInfo2
= null;
53 private IBaseEventInfo fBaseEventInfo1
= null;
54 private IBaseEventInfo fBaseEventInfo2
= null;
55 private IUstProviderInfo fUstProviderInfo1
= null;
56 private IUstProviderInfo fUstProviderInfo2
= null;
57 private IProbeEventInfo fProbeEventInfo1
= null;
58 private IProbeEventInfo fProbeEventInfo2
= null;
60 public ModelImplFactory() {
62 fFieldInfo1
= new FieldInfo("intfield");
63 fFieldInfo1
.setFieldType("int");
64 fFieldInfo2
= new FieldInfo("stringfield");
65 fFieldInfo2
.setFieldType("string");
67 fBaseEventInfo1
= new BaseEventInfo("event1");
68 fBaseEventInfo1
.setEventType(TraceEventType
.UNKNOWN
);
69 fBaseEventInfo1
.setLogLevel(TraceLogLevel
.TRACE_ERR
);
70 fBaseEventInfo1
.addField(fFieldInfo1
);
71 fBaseEventInfo1
.addField(fFieldInfo2
);
72 fBaseEventInfo1
.setFilterExpression("intField==10");
74 fBaseEventInfo2
= new BaseEventInfo("event2");
75 fBaseEventInfo2
.setEventType(TraceEventType
.TRACEPOINT
);
76 fBaseEventInfo1
.setLogLevel(TraceLogLevel
.TRACE_DEBUG
);
78 fEventInfo1
= new EventInfo("event1");
79 fEventInfo1
.setEventType(TraceEventType
.TRACEPOINT
);
80 fEventInfo1
.setState(TraceEnablement
.ENABLED
);
82 fEventInfo2
= new EventInfo("event2");
83 fEventInfo2
.setEventType(TraceEventType
.UNKNOWN
);
84 fEventInfo2
.setState(TraceEnablement
.DISABLED
);
86 fEventInfo3
= new EventInfo("event3");
87 fEventInfo3
.setEventType(TraceEventType
.TRACEPOINT
);
88 fEventInfo3
.setState(TraceEnablement
.DISABLED
);
90 fUstProviderInfo1
= new UstProviderInfo("myUST1");
91 fUstProviderInfo1
.setPid(1234);
92 fUstProviderInfo1
.addEvent(fBaseEventInfo1
);
94 fUstProviderInfo2
= new UstProviderInfo("myUST2");
95 fUstProviderInfo2
.setPid(2345);
96 fUstProviderInfo2
.addEvent(fBaseEventInfo1
);
97 fUstProviderInfo2
.addEvent(fBaseEventInfo2
);
99 fChannelInfo1
= new ChannelInfo("channel1");
100 fChannelInfo1
.setSwitchTimer(10L);
101 fChannelInfo1
.setOverwriteMode(true);
102 fChannelInfo1
.setReadTimer(11L);
103 fChannelInfo1
.setState(TraceEnablement
.DISABLED
);
104 fChannelInfo1
.setNumberOfSubBuffers(12);
105 fChannelInfo1
.setOutputType("splice()");
106 fChannelInfo1
.setSubBufferSize(13L);
107 fChannelInfo1
.addEvent(fEventInfo1
);
109 fChannelInfo2
= new ChannelInfo("channel2");
110 fChannelInfo2
.setSwitchTimer(1L);
111 fChannelInfo2
.setOverwriteMode(false);
112 fChannelInfo2
.setReadTimer(2L);
113 fChannelInfo2
.setState(TraceEnablement
.ENABLED
);
114 fChannelInfo2
.setNumberOfSubBuffers(3);
115 fChannelInfo2
.setOutputType("mmap()");
116 fChannelInfo2
.setSubBufferSize(4L);
117 fChannelInfo2
.addEvent(fEventInfo2
);
118 fChannelInfo2
.addEvent(fEventInfo3
);
120 fDomainInfo1
= new DomainInfo("test1");
121 fDomainInfo1
.addChannel(fChannelInfo1
);
123 fDomainInfo2
= new DomainInfo("test2");
124 fDomainInfo2
.addChannel(fChannelInfo1
);
125 fDomainInfo2
.addChannel(fChannelInfo2
);
127 fSessionInfo1
= new SessionInfo("session1");
128 fSessionInfo1
.setSessionPath("/home/user");
129 fSessionInfo1
.setSessionState(TraceSessionState
.ACTIVE
);
130 fSessionInfo1
.addDomain(fDomainInfo1
);
132 fSessionInfo2
= new SessionInfo("session2");
133 fSessionInfo2
.setSessionPath("/home/user1");
134 fSessionInfo2
.setSessionState(TraceSessionState
.INACTIVE
);
135 fSessionInfo2
.addDomain(fDomainInfo1
);
136 fSessionInfo2
.addDomain(fDomainInfo2
);
137 fSessionInfo2
.setStreamedTrace(true);
139 fProbeEventInfo1
= new ProbeEventInfo("probeEvent1");
140 fProbeEventInfo1
.setEventType(TraceEventType
.TRACEPOINT
);
141 fProbeEventInfo1
.setState(TraceEnablement
.ENABLED
);
142 fProbeEventInfo1
.setAddress("0xc1231234");
144 fProbeEventInfo2
= new ProbeEventInfo("probeEvent2");
145 fProbeEventInfo2
.setEventType(TraceEventType
.UNKNOWN
);
146 fProbeEventInfo2
.setState(TraceEnablement
.DISABLED
);
147 fProbeEventInfo2
.setOffset("0x100");
148 fProbeEventInfo2
.setSymbol("init_post");
151 public ISessionInfo
getSessionInfo1() {
152 return fSessionInfo1
;
155 public ISessionInfo
getSessionInfo2() {
156 return fSessionInfo2
;
159 public IDomainInfo
getDomainInfo1() {
163 public IDomainInfo
getDomainInfo2() {
167 public IChannelInfo
getChannel1() {
168 return fChannelInfo1
;
171 public IChannelInfo
getChannel2() {
172 return fChannelInfo2
;
175 public IEventInfo
getEventInfo1() {
179 public IEventInfo
getEventInfo2() {
183 public IEventInfo
getEventInfo3() {
187 public IBaseEventInfo
getBaseEventInfo1() {
188 return fBaseEventInfo1
;
191 public IBaseEventInfo
getBaseEventInfo2() {
192 return fBaseEventInfo2
;
195 public IUstProviderInfo
getUstProviderInfo1() {
196 return fUstProviderInfo1
;
199 public IUstProviderInfo
getUstProviderInfo2() {
200 return fUstProviderInfo2
;
203 public IProbeEventInfo
getProbeEventInfo1() {
204 return fProbeEventInfo1
;
207 public IProbeEventInfo
getProbeEventInfo2() {
208 return fProbeEventInfo2
;
211 public IFieldInfo
getFieldInfo1() {
215 public IFieldInfo
getFieldInfo2() {