1 /*******************************************************************************
2 * Copyright (c) 2012 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({"nls", "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
);
138 fProbeEventInfo1
= new ProbeEventInfo("probeEvent1");
139 fProbeEventInfo1
.setEventType(TraceEventType
.TRACEPOINT
);
140 fProbeEventInfo1
.setState(TraceEnablement
.ENABLED
);
141 fProbeEventInfo1
.setAddress("0xc1231234");
143 fProbeEventInfo2
= new ProbeEventInfo("probeEvent2");
144 fProbeEventInfo2
.setEventType(TraceEventType
.UNKNOWN
);
145 fProbeEventInfo2
.setState(TraceEnablement
.DISABLED
);
146 fProbeEventInfo2
.setOffset("0x100");
147 fProbeEventInfo2
.setSymbol("init_post");
150 public ISessionInfo
getSessionInfo1() {
151 return fSessionInfo1
;
154 public ISessionInfo
getSessionInfo2() {
155 return fSessionInfo2
;
158 public IDomainInfo
getDomainInfo1() {
162 public IDomainInfo
getDomainInfo2() {
166 public IChannelInfo
getChannel1() {
167 return fChannelInfo1
;
170 public IChannelInfo
getChannel2() {
171 return fChannelInfo2
;
174 public IEventInfo
getEventInfo1() {
178 public IEventInfo
getEventInfo2() {
182 public IEventInfo
getEventInfo3() {
186 public IBaseEventInfo
getBaseEventInfo1() {
187 return fBaseEventInfo1
;
190 public IBaseEventInfo
getBaseEventInfo2() {
191 return fBaseEventInfo2
;
194 public IUstProviderInfo
getUstProviderInfo1() {
195 return fUstProviderInfo1
;
198 public IUstProviderInfo
getUstProviderInfo2() {
199 return fUstProviderInfo2
;
202 public IProbeEventInfo
getProbeEventInfo1() {
203 return fProbeEventInfo1
;
206 public IProbeEventInfo
getProbeEventInfo2() {
207 return fProbeEventInfo2
;
210 public IFieldInfo
getFieldInfo1() {
214 public IFieldInfo
getFieldInfo2() {