Toggle navigation
Toggle navigation
This project
Loading...
Sign in
홍길동
/
onos
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Bri Prebilic Cole
2015-01-07 17:13:54 -0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
09e464bc620d410430874b9e784ab00dd3242238
09e464bc
1 parent
cacce344
Starting GUI server-side code
Change-Id: Id3d5e198a2326f50ef2661f6971cf23271bf7644
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
446 additions
and
4 deletions
core/api/src/test/java/org/onosproject/core/CoreServiceAdapter.java
core/api/src/test/java/org/onosproject/net/device/DeviceServiceAdapter.java
core/api/src/test/java/org/onosproject/net/flow/FlowRuleServiceAdapter.java
core/api/src/test/java/org/onosproject/net/intent/IntentServiceAdapter.java
core/api/src/test/java/org/onosproject/net/statistic/StatisticServiceAdapter.java
web/gui/pom.xml
web/gui/src/main/java/org/onosproject/gui/TopologyViewWebSocket.java
web/gui/src/test/java/org/onosproject/gui/TopologyViewWebSocketTest.java
core/api/src/test/java/org/onosproject/core/CoreServiceAdapter.java
0 → 100644
View file @
09e464b
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
onosproject
.
core
;
import
java.util.Set
;
/**
* Test adapter for core service.
*/
public
class
CoreServiceAdapter
implements
CoreService
{
@Override
public
Version
version
()
{
return
null
;
}
@Override
public
Set
<
ApplicationId
>
getAppIds
()
{
return
null
;
}
@Override
public
ApplicationId
getAppId
(
Short
id
)
{
return
null
;
}
@Override
public
ApplicationId
registerApplication
(
String
identifier
)
{
return
null
;
}
@Override
public
IdGenerator
getIdGenerator
(
String
topic
)
{
return
null
;
}
}
core/api/src/test/java/org/onosproject/net/device/DeviceServiceAdapter.java
View file @
09e464b
...
...
@@ -15,15 +15,14 @@
*/
package
org
.
onosproject
.
net
.
device
;
import
com.google.common.base.Predicate
;
import
com.google.common.collect.FluentIterable
;
import
org.onosproject.net.Device
;
import
org.onosproject.net.DeviceId
;
import
org.onosproject.net.MastershipRole
;
import
org.onosproject.net.Port
;
import
org.onosproject.net.PortNumber
;
import
com.google.common.base.Predicate
;
import
com.google.common.collect.FluentIterable
;
import
java.util.List
;
/**
...
...
core/api/src/test/java/org/onosproject/net/flow/FlowRuleServiceAdapter.java
0 → 100644
View file @
09e464b
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
onosproject
.
net
.
flow
;
import
org.onosproject.core.ApplicationId
;
import
org.onosproject.net.DeviceId
;
import
java.util.concurrent.Future
;
/**
* Test adapter for flow rule service.
*/
public
class
FlowRuleServiceAdapter
implements
FlowRuleService
{
@Override
public
int
getFlowRuleCount
()
{
return
0
;
}
@Override
public
Iterable
<
FlowEntry
>
getFlowEntries
(
DeviceId
deviceId
)
{
return
null
;
}
@Override
public
void
applyFlowRules
(
FlowRule
...
flowRules
)
{
}
@Override
public
void
removeFlowRules
(
FlowRule
...
flowRules
)
{
}
@Override
public
void
removeFlowRulesById
(
ApplicationId
appId
)
{
}
@Override
public
Iterable
<
FlowRule
>
getFlowRulesById
(
ApplicationId
id
)
{
return
null
;
}
@Override
public
Iterable
<
FlowRule
>
getFlowRulesByGroupId
(
ApplicationId
appId
,
short
groupId
)
{
return
null
;
}
@Override
public
Future
<
CompletedBatchOperation
>
applyBatch
(
FlowRuleBatchOperation
batch
)
{
return
null
;
}
@Override
public
void
addListener
(
FlowRuleListener
listener
)
{
}
@Override
public
void
removeListener
(
FlowRuleListener
listener
)
{
}
}
core/api/src/test/java/org/onosproject/net/intent/IntentServiceAdapter.java
0 → 100644
View file @
09e464b
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
onosproject
.
net
.
intent
;
import
java.util.List
;
/**
* Test adapter for intent service.
*/
public
class
IntentServiceAdapter
implements
IntentService
{
@Override
public
void
submit
(
Intent
intent
)
{
}
@Override
public
void
withdraw
(
Intent
intent
)
{
}
@Override
public
void
replace
(
IntentId
oldIntentId
,
Intent
newIntent
)
{
}
@Override
public
void
execute
(
IntentOperations
operations
)
{
}
@Override
public
Iterable
<
Intent
>
getIntents
()
{
return
null
;
}
@Override
public
long
getIntentCount
()
{
return
0
;
}
@Override
public
Intent
getIntent
(
IntentId
id
)
{
return
null
;
}
@Override
public
IntentState
getIntentState
(
IntentId
id
)
{
return
null
;
}
@Override
public
List
<
Intent
>
getInstallableIntents
(
IntentId
intentId
)
{
return
null
;
}
@Override
public
void
addListener
(
IntentListener
listener
)
{
}
@Override
public
void
removeListener
(
IntentListener
listener
)
{
}
}
core/api/src/test/java/org/onosproject/net/statistic/StatisticServiceAdapter.java
0 → 100644
View file @
09e464b
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
onosproject
.
net
.
statistic
;
import
org.onosproject.core.ApplicationId
;
import
org.onosproject.core.GroupId
;
import
org.onosproject.net.ConnectPoint
;
import
org.onosproject.net.Link
;
import
org.onosproject.net.Path
;
import
org.onosproject.net.flow.FlowRule
;
import
java.util.Optional
;
/**
* Test adapter for statistics service.
*/
public
class
StatisticServiceAdapter
implements
StatisticService
{
@Override
public
Load
load
(
Link
link
)
{
return
null
;
}
@Override
public
Load
load
(
ConnectPoint
connectPoint
)
{
return
null
;
}
@Override
public
Link
max
(
Path
path
)
{
return
null
;
}
@Override
public
Link
min
(
Path
path
)
{
return
null
;
}
@Override
public
FlowRule
highestHitter
(
ConnectPoint
connectPoint
)
{
return
null
;
}
@Override
public
Load
load
(
Link
link
,
ApplicationId
appId
,
Optional
<
GroupId
>
groupId
)
{
return
null
;
}
}
web/gui/pom.xml
View file @
09e464b
...
...
@@ -46,5 +46,11 @@
<artifactId>
servlet-api
</artifactId>
<version>
2.5
</version>
</dependency>
<dependency>
<groupId>
org.onosproject
</groupId>
<artifactId>
onos-api
</artifactId>
<scope>
test
</scope>
<classifier>
tests
</classifier>
</dependency>
</dependencies>
</project>
...
...
web/gui/src/main/java/org/onosproject/gui/TopologyViewWebSocket.java
View file @
09e464b
...
...
@@ -267,7 +267,7 @@ public class TopologyViewWebSocket
}
// Sends the specified data to the client.
pr
ivate
synchronized
void
sendMessage
(
ObjectNode
data
)
{
pr
otected
synchronized
void
sendMessage
(
ObjectNode
data
)
{
try
{
if
(
connection
.
isOpen
())
{
connection
.
sendMessage
(
data
.
toString
());
...
...
web/gui/src/test/java/org/onosproject/gui/TopologyViewWebSocketTest.java
0 → 100644
View file @
09e464b
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
onosproject
.
gui
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.google.common.collect.ImmutableSet
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.onlab.osgi.ServiceDirectory
;
import
org.onlab.osgi.TestServiceDirectory
;
import
org.onlab.packet.ChassisId
;
import
org.onlab.packet.IpAddress
;
import
org.onlab.packet.MacAddress
;
import
org.onlab.packet.VlanId
;
import
org.onosproject.cluster.ClusterService
;
import
org.onosproject.cluster.ClusterServiceAdapter
;
import
org.onosproject.core.CoreService
;
import
org.onosproject.core.CoreServiceAdapter
;
import
org.onosproject.core.Version
;
import
org.onosproject.mastership.MastershipService
;
import
org.onosproject.mastership.MastershipServiceAdapter
;
import
org.onosproject.net.DefaultDevice
;
import
org.onosproject.net.DefaultHost
;
import
org.onosproject.net.Device
;
import
org.onosproject.net.DeviceId
;
import
org.onosproject.net.Host
;
import
org.onosproject.net.HostId
;
import
org.onosproject.net.HostLocation
;
import
org.onosproject.net.Port
;
import
org.onosproject.net.PortNumber
;
import
org.onosproject.net.device.DeviceService
;
import
org.onosproject.net.device.DeviceServiceAdapter
;
import
org.onosproject.net.flow.FlowEntry
;
import
org.onosproject.net.flow.FlowRuleService
;
import
org.onosproject.net.flow.FlowRuleServiceAdapter
;
import
org.onosproject.net.host.HostService
;
import
org.onosproject.net.host.HostServiceAdapter
;
import
org.onosproject.net.intent.IntentService
;
import
org.onosproject.net.intent.IntentServiceAdapter
;
import
org.onosproject.net.link.LinkService
;
import
org.onosproject.net.link.LinkServiceAdapter
;
import
org.onosproject.net.provider.ProviderId
;
import
org.onosproject.net.statistic.StatisticService
;
import
org.onosproject.net.statistic.StatisticServiceAdapter
;
import
org.onosproject.net.topology.TopologyService
;
import
org.onosproject.net.topology.TopologyServiceAdapter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
public
class
TopologyViewWebSocketTest
{
private
static
final
ProviderId
PID
=
new
ProviderId
(
"of"
,
"foo.bar"
);
private
static
final
ChassisId
CHID
=
new
ChassisId
(
123L
);
private
static
final
MacAddress
MAC
=
MacAddress
.
valueOf
(
"00:00:00:00:00:19"
);
private
static
final
DeviceId
DID
=
DeviceId
.
deviceId
(
"of:foo"
);
private
static
final
Set
<
IpAddress
>
IPS
=
ImmutableSet
.
of
(
IpAddress
.
valueOf
(
"1.2.3.4"
));
private
TestWebSocket
ws
;
private
TestServiceDirectory
sd
;
@Before
public
void
setUp
()
{
sd
=
new
TestServiceDirectory
();
sd
.
add
(
DeviceService
.
class
,
new
TestDeviceService
());
sd
.
add
(
ClusterService
.
class
,
new
ClusterServiceAdapter
());
sd
.
add
(
LinkService
.
class
,
new
LinkServiceAdapter
());
sd
.
add
(
HostService
.
class
,
new
TestHostService
());
sd
.
add
(
MastershipService
.
class
,
new
MastershipServiceAdapter
());
sd
.
add
(
IntentService
.
class
,
new
IntentServiceAdapter
());
sd
.
add
(
FlowRuleService
.
class
,
new
TestFlowService
());
sd
.
add
(
StatisticService
.
class
,
new
StatisticServiceAdapter
());
sd
.
add
(
TopologyService
.
class
,
new
TopologyServiceAdapter
());
sd
.
add
(
CoreService
.
class
,
new
TestCoreService
());
ws
=
new
TestWebSocket
(
sd
);
}
@Test
public
void
requestDetailsDevice
()
{
// build the request
String
request
=
"{\"event\":\"requestDetails\", \"sid\":0, "
+
"\"payload\":{\"id\":\"of:000001\",\"class\":\"device\"}}"
;
ws
.
onMessage
(
request
);
// look at the ws reply, and verify that it is correct
assertEquals
(
"incorrect id"
,
"of:000001"
,
ws
.
reply
.
path
(
"payload"
).
path
(
"id"
).
asText
());
assertEquals
(
"incorrect mfr"
,
"foo"
,
ws
.
reply
.
path
(
"payload"
).
path
(
"props"
).
path
(
"Vendor"
).
asText
());
}
@Test
public
void
requestDetailsHost
()
{
// build the request
String
request
=
"{\"event\":\"requestDetails\", \"sid\":0, "
+
"\"payload\":{\"id\":\"00:00:00:00:00:19/-1\",\"class\":\"host\"}}"
;
ws
.
onMessage
(
request
);
// look at the ws reply, and verify that it is correct
assertEquals
(
"incorrect id"
,
"00:00:00:00:00:19/-1"
,
ws
.
reply
.
path
(
"payload"
).
path
(
"id"
).
asText
());
assertEquals
(
"incorrect ip address"
,
"1.2.3.4"
,
ws
.
reply
.
path
(
"payload"
).
path
(
"props"
).
path
(
"IP"
).
asText
());
}
private
class
TestWebSocket
extends
TopologyViewWebSocket
{
private
ObjectNode
reply
;
/**
* Creates a new web-socket for serving data to GUI topology view.
*
* @param directory service directory
*/
public
TestWebSocket
(
ServiceDirectory
directory
)
{
super
(
directory
);
}
@Override
protected
synchronized
void
sendMessage
(
ObjectNode
data
)
{
reply
=
data
;
}
}
private
class
TestCoreService
extends
CoreServiceAdapter
{
@Override
public
Version
version
()
{
return
Version
.
version
(
"1.2.3"
);
}
}
private
class
TestDeviceService
extends
DeviceServiceAdapter
{
@Override
public
Device
getDevice
(
DeviceId
deviceId
)
{
return
new
DefaultDevice
(
PID
,
deviceId
,
Device
.
Type
.
SWITCH
,
"foo"
,
"hw"
,
"sw"
,
"sn"
,
CHID
);
}
@Override
public
List
<
Port
>
getPorts
(
DeviceId
deviceId
)
{
return
new
ArrayList
<>();
}
}
private
class
TestFlowService
extends
FlowRuleServiceAdapter
{
@Override
public
Iterable
<
FlowEntry
>
getFlowEntries
(
DeviceId
deviceId
)
{
return
new
ArrayList
<>();
}
}
private
class
TestHostService
extends
HostServiceAdapter
{
@Override
public
Host
getHost
(
HostId
hostId
)
{
return
new
DefaultHost
(
PID
,
hostId
,
MAC
,
VlanId
.
NONE
,
new
HostLocation
(
DID
,
PortNumber
.
P0
,
123L
),
IPS
);
}
}
}
\ No newline at end of file
Please
register
or
login
to post a comment