Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Simonstrator
PeerfactSim.KOM
Commits
26bd2c12
Commit
26bd2c12
authored
Jun 12, 2020
by
Julian Zobel
Browse files
Removed all sets and maps, set linkedhashmaps and linkedhashsets explicitly
parent
c4eb36b8
Changes
16
Hide whitespace changes
Inline
Side-by-side
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/ModularMovementModel.java
View file @
26bd2c12
...
...
@@ -115,11 +115,11 @@ public class ModularMovementModel implements MovementModel, EventHandler, Attrac
protected
AttractionPointViz
attractionPointViz
;
protected
Set
<
SimLocationActuator
>
moveableHosts
=
new
LinkedHashSet
<
SimLocationActuator
>();
protected
LinkedHash
Set
<
SimLocationActuator
>
moveableHosts
=
new
LinkedHashSet
<
SimLocationActuator
>();
protected
Map
<
SimLocationActuator
,
PositionVector
>
currentTargets
=
new
LinkedHashMap
<>();
protected
LinkedHash
Map
<
SimLocationActuator
,
PositionVector
>
currentTargets
=
new
LinkedHashMap
<>();
protected
Map
<
SimLocationActuator
,
RouteSensorComponent
>
routeSensorComponents
=
new
LinkedHashMap
<>();
protected
LinkedHash
Map
<
SimLocationActuator
,
RouteSensorComponent
>
routeSensorComponents
=
new
LinkedHashMap
<>();
protected
boolean
initialized
=
false
;
...
...
@@ -366,7 +366,7 @@ public class ModularMovementModel implements MovementModel, EventHandler, Attrac
* === GETTER AND SETTER FUNCTIONS
* =====================================================================================================
*/
public
Set
<
SimLocationActuator
>
getAllLocationActuators
()
{
public
LinkedHash
Set
<
SimLocationActuator
>
getAllLocationActuators
()
{
return
moveableHosts
;
}
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/SocialGroupMovementModel.java
View file @
26bd2c12
...
...
@@ -20,9 +20,8 @@
package
de.tud.kom.p2psim.impl.topology.movement.modularosm
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashSet
;
import
java.util.Map
;
import
java.util.Set
;
import
de.tud.kom.p2psim.api.scenario.ConfigurationException
;
import
de.tud.kom.p2psim.api.topology.Topology
;
...
...
@@ -55,7 +54,7 @@ public class SocialGroupMovementModel extends ModularMovementModel {
protected
IGroupFormingBehavior
groupFormingBehavior
;
protected
IGroupEncounterBehavior
groupEncounterBehavior
;
private
Set
<
SimLocationActuator
>
singleHosts
=
new
LinkedHashSet
<
SimLocationActuator
>();
private
LinkedHash
Set
<
SimLocationActuator
>
singleHosts
=
new
LinkedHashSet
<
SimLocationActuator
>();
private
int
numberOfSingleHosts
;
...
...
@@ -380,11 +379,11 @@ public class SocialGroupMovementModel extends ModularMovementModel {
this
.
numberOfSingleHosts
=
numberOfSingleHosts
;
}
public
Set
<
SimLocationActuator
>
getSingleHosts
(){
public
LinkedHash
Set
<
SimLocationActuator
>
getSingleHosts
(){
return
singleHosts
;
}
public
Map
<
SimLocationActuator
,
PositionVector
>
getCurrentTargets
(){
public
LinkedHash
Map
<
SimLocationActuator
,
PositionVector
>
getCurrentTargets
(){
return
currentTargets
;
}
}
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/AbstractAttractionProvider.java
View file @
26bd2c12
...
...
@@ -40,7 +40,7 @@ public class AbstractAttractionProvider implements IAttractionProvider {
this
.
worldDimension
=
Binder
.
getComponentOrNull
(
Topology
.
class
).
getWorldDimensions
();
}
public
List
<
AttractionPoint
>
getAttractionPoints
()
{
public
Linked
List
<
AttractionPoint
>
getAttractionPoints
()
{
return
new
LinkedList
<
AttractionPoint
>(
attractionPoints
);
}
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/AttractionPoint.java
View file @
26bd2c12
...
...
@@ -21,7 +21,6 @@
package
de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.IAttractionBasedMovementAnalyzer
;
import
de.tud.kom.p2psim.impl.topology.util.PositionVector
;
import
de.tudarmstadt.maki.simonstrator.api.Monitor
;
...
...
@@ -39,7 +38,7 @@ import de.tudarmstadt.maki.simonstrator.api.util.XMLConfigurableConstructor;
* @version 1.2, 24.01.2020 - added pause time interval, weight, and radius exclusively to this class, because {@link BasicAttractionPoint} should be just a named point.
*/
public
class
AttractionPoint
extends
BasicAttractionPoint
{
protected
static
Map
<
String
,
AttractionPoint
>
instances
=
new
LinkedHashMap
<>();
protected
static
LinkedHash
Map
<
String
,
AttractionPoint
>
instances
=
new
LinkedHashMap
<>();
protected
long
pauseTimeMin
=
-
1
;
protected
long
pauseTimeMax
=
-
1
;
...
...
@@ -141,6 +140,10 @@ public class AttractionPoint extends BasicAttractionPoint {
@Override
public
void
setRadius
(
double
radius
)
{
this
.
radius
=
radius
;
if
(
radius
>
0
)
{
this
.
area
=
Math
.
PI
*
Math
.
pow
(
radius
,
2
);
}
}
@Override
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/CsvAttractionGenerator.java
View file @
26bd2c12
...
...
@@ -64,7 +64,7 @@ public class CsvAttractionGenerator extends AbstractAttractionProvider {
}
@Override
public
List
<
AttractionPoint
>
getAttractionPoints
()
{
public
Linked
List
<
AttractionPoint
>
getAttractionPoints
()
{
if
(
super
.
getAttractionPoints
().
isEmpty
())
{
readData
();
}
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/EquidistantSquareAttractionGenerator.java
View file @
26bd2c12
...
...
@@ -20,6 +20,7 @@
package
de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction
;
import
java.util.LinkedList
;
import
java.util.List
;
import
de.tud.kom.p2psim.impl.topology.util.PositionVector
;
import
de.tudarmstadt.maki.simonstrator.api.util.XMLConfigurableConstructor
;
...
...
@@ -42,7 +43,7 @@ public class EquidistantSquareAttractionGenerator extends AbstractAttractionProv
}
@Override
public
List
<
AttractionPoint
>
getAttractionPoints
()
{
public
Linked
List
<
AttractionPoint
>
getAttractionPoints
()
{
if
(
super
.
getAttractionPoints
().
isEmpty
())
createAttractionPoints
();
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/JSONAttractionGenerator.java
View file @
26bd2c12
...
...
@@ -23,6 +23,7 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.IOException
;
import
java.util.LinkedList
;
import
java.util.List
;
import
org.apache.commons.io.IOUtils
;
import
org.json.JSONArray
;
...
...
@@ -70,7 +71,7 @@ public class JSONAttractionGenerator extends AbstractAttractionProvider {
}
@Override
public
List
<
AttractionPoint
>
getAttractionPoints
()
{
public
Linked
List
<
AttractionPoint
>
getAttractionPoints
()
{
if
(
super
.
getAttractionPoints
().
size
()
==
0
)
{
createAttractionPoints
();
}
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/RandomAttractionGenerator.java
View file @
26bd2c12
...
...
@@ -75,7 +75,7 @@ public class RandomAttractionGenerator extends AbstractAttractionProvider {
}
@Override
public
List
<
AttractionPoint
>
getAttractionPoints
()
{
public
Linked
List
<
AttractionPoint
>
getAttractionPoints
()
{
if
(!
numberOfAPsSet
)
{
throw
new
ConfigurationException
(
"Number of Attraction Points is not set in RandomAttractionGenerator!"
);
...
...
@@ -88,7 +88,7 @@ public class RandomAttractionGenerator extends AbstractAttractionProvider {
}
private
void
createAttractionPoints
()
{
List
<
AttractionPoint
>
result
=
new
LinkedList
<
AttractionPoint
>();
Linked
List
<
AttractionPoint
>
result
=
new
LinkedList
<
AttractionPoint
>();
// make a break counter to prevent more than 10 iterations and an infinity loop in general.
int
c
=
0
;
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/hostcount/HostAtAttractionPointCounter.java
View file @
26bd2c12
...
...
@@ -65,7 +65,7 @@ public class HostAtAttractionPointCounter {
* @param IAttractionPoint The {@link IAttractionPoint} to be checked.
* @return Integer
*/
public
static
int
getHostCountOfAttractionPoint
(
IAttractionPoint
attractionPoint
,
Set
<
SimLocationActuator
>
hostsToConsider
)
{
public
static
int
getHostCountOfAttractionPoint
(
IAttractionPoint
attractionPoint
,
LinkedHash
Set
<
SimLocationActuator
>
hostsToConsider
)
{
return
getHostsOfAttractionPoint
(
attractionPoint
,
hostsToConsider
).
size
();
}
...
...
@@ -75,9 +75,9 @@ public class HostAtAttractionPointCounter {
* @param IAttractionPoint The {@link IAttractionPoint} to be checked.
* @return Set<SimLocationActuator>
*/
public
static
Set
<
SimLocationActuator
>
getHostsOfAttractionPoint
(
IAttractionPoint
attractionPoint
,
Set
<
SimLocationActuator
>
hostsToConsider
)
{
public
static
LinkedHash
Set
<
SimLocationActuator
>
getHostsOfAttractionPoint
(
IAttractionPoint
attractionPoint
,
Set
<
SimLocationActuator
>
hostsToConsider
)
{
Set
<
SimLocationActuator
>
hosts
=
new
LinkedHashSet
<
SimLocationActuator
>();
LinkedHash
Set
<
SimLocationActuator
>
hosts
=
new
LinkedHashSet
<
SimLocationActuator
>();
for
(
SimLocationActuator
h
:
hostsToConsider
)
{
if
(
isHostInAttractionPointArea
(
h
,
attractionPoint
))
{
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/MovementGroupContainer.java
View file @
26bd2c12
...
...
@@ -22,13 +22,8 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.groups;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashSet
;
import
java.util.Map
;
import
java.util.Set
;
import
de.tud.kom.p2psim.api.topology.movement.SimLocationActuator
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.ISocialGroupMovementAnalyzer
;
import
de.tud.kom.p2psim.impl.util.Tuple
;
import
de.tudarmstadt.maki.simonstrator.api.Monitor
;
import
de.tudarmstadt.maki.simonstrator.api.Time
;
/**
...
...
@@ -40,15 +35,15 @@ import de.tudarmstadt.maki.simonstrator.api.Time;
public
class
MovementGroupContainer
{
private
static
MovementGroupContainer
instance
;
private
Set
<
SocialMovementGroup
>
groups
;
private
LinkedHash
Set
<
SocialMovementGroup
>
groups
;
// Mappings
private
Map
<
SimLocationActuator
,
Long
>
leftGroupAtTime
;
private
Map
<
SimLocationActuator
,
Boolean
>
hasMerged
;
private
Map
<
SimLocationActuator
,
Long
>
mergedAtTime
;
private
LinkedHash
Map
<
SimLocationActuator
,
Long
>
leftGroupAtTime
;
private
LinkedHash
Map
<
SimLocationActuator
,
Boolean
>
hasMerged
;
private
LinkedHash
Map
<
SimLocationActuator
,
Long
>
mergedAtTime
;
// Waiting Groups, used for encounter strategy Wait. Includes remaining waiting time and last update time
public
Map
<
SocialMovementGroup
,
Tuple
<
Long
,
Long
>>
waitingGroups
;
public
LinkedHash
Map
<
SocialMovementGroup
,
Tuple
<
Long
,
Long
>>
waitingGroups
;
private
MovementGroupContainer
()
{
groups
=
new
LinkedHashSet
<>();
...
...
@@ -282,15 +277,15 @@ public class MovementGroupContainer {
*
* @author Marcel Verst
*/
public
Set
<
SimLocationActuator
>
getGroupMembers
(
SimLocationActuator
host
){
public
LinkedHash
Set
<
SimLocationActuator
>
getGroupMembers
(
SimLocationActuator
host
){
return
getGroupOfHost
(
host
).
getMembers
();
}
public
Set
<
SocialMovementGroup
>
getGroups
()
{
public
LinkedHash
Set
<
SocialMovementGroup
>
getGroups
()
{
return
groups
;
}
public
void
setGroups
(
Set
<
SocialMovementGroup
>
groups
)
{
public
void
setGroups
(
LinkedHash
Set
<
SocialMovementGroup
>
groups
)
{
this
.
groups
=
groups
;
}
...
...
@@ -307,23 +302,23 @@ public class MovementGroupContainer {
}
}
public
void
setLeftGroupAtTime
(
Map
<
SimLocationActuator
,
Long
>
leftGroupAtTime
)
{
public
void
setLeftGroupAtTime
(
LinkedHash
Map
<
SimLocationActuator
,
Long
>
leftGroupAtTime
)
{
this
.
leftGroupAtTime
=
leftGroupAtTime
;
}
public
Map
<
SimLocationActuator
,
Boolean
>
getHasMerged
()
{
public
LinkedHash
Map
<
SimLocationActuator
,
Boolean
>
getHasMerged
()
{
return
hasMerged
;
}
public
void
setHasMerged
(
Map
<
SimLocationActuator
,
Boolean
>
hasMerged
)
{
public
void
setHasMerged
(
LinkedHash
Map
<
SimLocationActuator
,
Boolean
>
hasMerged
)
{
this
.
hasMerged
=
hasMerged
;
}
public
Map
<
SimLocationActuator
,
Long
>
getMergedAtTime
()
{
public
LinkedHash
Map
<
SimLocationActuator
,
Long
>
getMergedAtTime
()
{
return
mergedAtTime
;
}
public
void
setMergedAtTime
(
Map
<
SimLocationActuator
,
Long
>
mergedAtTime
)
{
public
void
setMergedAtTime
(
LinkedHash
Map
<
SimLocationActuator
,
Long
>
mergedAtTime
)
{
this
.
mergedAtTime
=
mergedAtTime
;
}
}
\ No newline at end of file
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/SocialMovementGroup.java
View file @
26bd2c12
...
...
@@ -22,7 +22,6 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.groups;
import
java.util.LinkedHashSet
;
import
java.util.Random
;
import
java.util.Set
;
import
java.util.UUID
;
import
de.tud.kom.p2psim.api.topology.movement.SimLocationActuator
;
...
...
@@ -39,6 +38,7 @@ public class SocialMovementGroup {
public
final
UUID
groupID
;
private
Random
rand
=
Randoms
.
getRandom
(
SocialMovementGroup
.
class
);
private
SimLocationActuator
leader
;
private
LinkedHashSet
<
SimLocationActuator
>
members
;
...
...
@@ -67,7 +67,7 @@ public class SocialMovementGroup {
* @param Set<SimLocationActuator> All participants of the group.
* @param int The ID of the group.
*/
public
SocialMovementGroup
(
Set
<
SimLocationActuator
>
participants
)
{
public
SocialMovementGroup
(
LinkedHash
Set
<
SimLocationActuator
>
participants
)
{
this
.
groupID
=
UUID
.
randomUUID
();
...
...
@@ -115,8 +115,7 @@ public class SocialMovementGroup {
*/
public
SimLocationActuator
getRandomMember
()
{
if
(
members
.
size
()
>
1
)
{
Random
rand
=
Randoms
.
getRandom
(
SocialMovementGroup
.
class
);
if
(
members
.
size
()
>
1
)
{
int
item
=
rand
.
nextInt
(
members
.
size
()
-
1
);
int
i
=
0
;
...
...
@@ -170,11 +169,11 @@ public class SocialMovementGroup {
return
members
.
size
();
}
public
Set
<
SimLocationActuator
>
getMembers
()
{
public
LinkedHash
Set
<
SimLocationActuator
>
getMembers
()
{
return
members
;
}
public
void
setMembers
(
Set
<
SimLocationActuator
>
participants
)
{
public
void
setMembers
(
LinkedHash
Set
<
SimLocationActuator
>
participants
)
{
this
.
members
=
new
LinkedHashSet
<>(
participants
);
}
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/groupencounter/AbstractGroupEncounter.java
View file @
26bd2c12
...
...
@@ -22,8 +22,6 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.groups.groupencounte
import
java.util.LinkedHashSet
;
import
java.util.Random
;
import
java.util.Set
;
import
de.tud.kom.p2psim.api.scenario.ConfigurationException
;
import
de.tud.kom.p2psim.api.topology.movement.SimLocationActuator
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.ISocialGroupMovementAnalyzer
;
...
...
@@ -100,14 +98,14 @@ public abstract class AbstractGroupEncounter implements IGroupEncounterBehavior
*
* @return
*/
private
Set
<
Pair
<
SocialMovementGroup
>>
getEncounteringGroups
()
{
private
LinkedHash
Set
<
Pair
<
SocialMovementGroup
>>
getEncounteringGroups
()
{
if
(!
enableGroupEncounters
)
return
null
;
Set
<
Pair
<
SocialMovementGroup
>>
encounteringGroups
=
new
LinkedHashSet
<>();
Set
<
SocialMovementGroup
>
alreadyProcessed
=
new
LinkedHashSet
<>();
LinkedHash
Set
<
Pair
<
SocialMovementGroup
>>
encounteringGroups
=
new
LinkedHashSet
<>();
LinkedHash
Set
<
SocialMovementGroup
>
alreadyProcessed
=
new
LinkedHashSet
<>();
Set
<
SocialMovementGroup
>
allGroups
=
groupCon
.
getGroups
();
LinkedHash
Set
<
SocialMovementGroup
>
allGroups
=
groupCon
.
getGroups
();
for
(
SocialMovementGroup
group1
:
allGroups
)
{
for
(
SocialMovementGroup
group2
:
allGroups
)
{
...
...
@@ -148,7 +146,7 @@ public abstract class AbstractGroupEncounter implements IGroupEncounterBehavior
if
(!
enableGroupEncounters
)
return
;
Set
<
Pair
<
SocialMovementGroup
>>
encounteringGroups
=
getEncounteringGroups
();
LinkedHash
Set
<
Pair
<
SocialMovementGroup
>>
encounteringGroups
=
getEncounteringGroups
();
if
(
encounteringGroups
==
null
||
encounteringGroups
.
isEmpty
())
{
return
;
...
...
@@ -269,7 +267,7 @@ public abstract class AbstractGroupEncounter implements IGroupEncounterBehavior
SocialMovementGroup
large
=
getLargerGroup
(
group1
,
group2
);
SocialMovementGroup
small
=
getSmallerGroup
(
group1
,
group2
);
Set
<
SimLocationActuator
>
toRemove
=
new
LinkedHashSet
<>(
small
.
getMembers
());
LinkedHash
Set
<
SimLocationActuator
>
toRemove
=
new
LinkedHashSet
<>(
small
.
getMembers
());
for
(
SimLocationActuator
participant
:
toRemove
)
{
small
.
removeHostFromGroup
(
participant
);
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/groupencounter/IGroupEncounterBehavior.java
View file @
26bd2c12
...
...
@@ -20,11 +20,9 @@
package
de.tud.kom.p2psim.impl.topology.movement.modularosm.groups.groupencounter
;
import
java.util.Set
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.SocialGroupMovementModel
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.groups.SocialMovementGroup
;
import
de.tudarmstadt.maki.simonstrator.api.common.datastructures.Pair
;
/**
* Handles group encounters. Check group encounters based on the leaders location of {@link SocialMovementGroup}s.
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/groupforming/AbstractGroupForming.java
View file @
26bd2c12
...
...
@@ -21,6 +21,7 @@
package
de.tud.kom.p2psim.impl.topology.movement.modularosm.groups.groupforming
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashSet
;
import
java.util.Map
;
import
java.util.Random
;
import
java.util.Set
;
...
...
@@ -199,7 +200,7 @@ public abstract class AbstractGroupForming implements IGroupFormingBehavior {
*
* @param Set<SimLocationActuator> The members which want to form a group.
*/
protected
void
createGroup
(
Set
<
SimLocationActuator
>
members
)
{
protected
void
createGroup
(
LinkedHash
Set
<
SimLocationActuator
>
members
)
{
SocialMovementGroup
group
=
new
SocialMovementGroup
(
members
);
// force a new attraction point assignment on the leader
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/groupforming/DefaultGroupForming.java
View file @
26bd2c12
...
...
@@ -23,12 +23,9 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.groups.groupforming;
import
java.util.Collections
;
import
java.util.LinkedHashSet
;
import
java.util.LinkedList
;
import
java.util.Set
;
import
de.tud.kom.p2psim.api.topology.movement.SimLocationActuator
;
import
de.tud.kom.p2psim.api.topology.movement.local.LocalMovementStrategy
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.ISocialGroupMovementAnalyzer
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction.IAttractionProvider
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction.hostcount.HostAtAttractionPointCounter
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.groups.SocialMovementGroup
;
import
de.tud.kom.p2psim.impl.topology.movement.modularosm.transition.IAttractionAssigmentStrategy
;
...
...
@@ -97,12 +94,12 @@ public class DefaultGroupForming extends AbstractGroupForming {
return
;
}
Set
<
SimLocationActuator
>
hostsAtAttractionPoint
=
HostAtAttractionPointCounter
.
getHostsOfAttractionPoint
(
apCandidate
,
movementModel
.
getAllLocationActuators
());
LinkedHash
Set
<
SimLocationActuator
>
hostsAtAttractionPoint
=
HostAtAttractionPointCounter
.
getHostsOfAttractionPoint
(
apCandidate
,
movementModel
.
getAllLocationActuators
());
int
numberOfHostsInAttractionPoint
=
hostsAtAttractionPoint
.
size
();
int
groupSize
=
this
.
rndGroupSize
(
numberOfHostsInAttractionPoint
);
Set
<
SimLocationActuator
>
groupCandidates
=
new
LinkedHashSet
<>();
LinkedHash
Set
<
SimLocationActuator
>
groupCandidates
=
new
LinkedHashSet
<>();
// shuffle the hosts at the attraction point (more randomness ftw!)
LinkedList
<
SimLocationActuator
>
randomShuffledHostsAtAttractionPoint
=
new
LinkedList
<>(
hostsAtAttractionPoint
);
...
...
@@ -169,9 +166,9 @@ public class DefaultGroupForming extends AbstractGroupForming {
LocalMovementStrategy
movementStrategy
=
movementModel
.
getMovementStrategy
();
IAttractionAssigmentStrategy
transition
=
movementModel
.
getAttractionAssignmentStrategy
();
Set
<
SocialMovementGroup
>
groupsToRemove
=
new
LinkedHashSet
<>();
LinkedHash
Set
<
SocialMovementGroup
>
groupsToRemove
=
new
LinkedHashSet
<>();
Set
<
SocialMovementGroup
>
groups
=
groupCon
.
getGroups
();
LinkedHash
Set
<
SocialMovementGroup
>
groups
=
groupCon
.
getGroups
();
for
(
SocialMovementGroup
group
:
groups
)
{
SimLocationActuator
leader
=
group
.
getLeader
();
...
...
src/de/tud/kom/p2psim/impl/topology/movement/modularosm/transition/AbstractAttractionBasedAssignmentStrategy.java
View file @
26bd2c12
...
...
@@ -22,8 +22,6 @@ package de.tud.kom.p2psim.impl.topology.movement.modularosm.transition;
import
java.util.LinkedHashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Random
;
import
de.tud.kom.p2psim.api.topology.movement.SimLocationActuator
;
...
...
@@ -45,10 +43,10 @@ public abstract class AbstractAttractionBasedAssignmentStrategy implements IAttr
protected
IAttractionProvider
attractionProvider
;
protected
Map
<
SimLocationActuator
,
IAttractionPoint
>
assignments
=
new
LinkedHashMap
<>();
protected
Map
<
SimLocationActuator
,
IAttractionPoint
>
lastAssignments
=
new
LinkedHashMap
<>();
protected
LinkedHash
Map
<
SimLocationActuator
,
IAttractionPoint
>
assignments
=
new
LinkedHashMap
<>();
protected
LinkedHash
Map
<
SimLocationActuator
,
IAttractionPoint
>
lastAssignments
=
new
LinkedHashMap
<>();
private
List
<
AttractionAssignmentListener
>
listeners
=
new
LinkedList
<>();
private
Linked
List
<
AttractionAssignmentListener
>
listeners
=
new
LinkedList
<>();
protected
long
defaultPauseTimeMin
=
0
;
protected
long
defaultPauseTimeMax
=
0
;
...
...
@@ -141,7 +139,7 @@ public abstract class AbstractAttractionBasedAssignmentStrategy implements IAttr
protected
IAttractionPoint
getNewAttractionPointAssignment
(
SimLocationActuator
host
)
{
double
score
=
rnd
.
nextDouble
();
List
<
IAttractionPoint
>
candidates
=
new
LinkedList
<>();
Linked
List
<
IAttractionPoint
>
candidates
=
new
LinkedList
<>();
for
(
IAttractionPoint
ap
:
attractionProvider
.
getAttractionPoints
())
{
// skip null values (should never occur!)
if
(
ap
==
null
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment