Skip to content

Commit

Permalink
Asociar equipos
Browse files Browse the repository at this point in the history
  • Loading branch information
juansalinas-xyz committed Nov 27, 2015
1 parent 434bbc2 commit 1754c3f
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 37 deletions.
8 changes: 3 additions & 5 deletions src/Entities/Equipment/Equipment.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package Entities.Equipment;

import java.util.ArrayList;

import Entities.Network.IMessaging;
import Entities.Network.IPAddressV4;
import Exceptions.AssociateEquipmentError;

/**
* Created by efridman on 14/11/15.
Expand All @@ -21,11 +21,9 @@ public void setAssociatedIp(IPAddressV4 associatedIp) {
this.associatedIp = associatedIp;
}

public boolean associateEquipment(Equipment equipment)
{
public void associateEquipment(Equipment equipment) throws AssociateEquipmentError{
this.equipments.add(equipment);
equipment.equipments.add(this);
return true;
equipment.associateEquipment(this);
}

}
30 changes: 1 addition & 29 deletions src/Entities/Equipment/Hub.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,13 @@
/**
* Created by efridman on 14/11/15.
*/
public class Hub extends Equipment {

private int connectionsNumber;
public class Hub extends NetEquipment {

public Hub(int connectionsNumber) {
super();
this.connectionsNumber = connectionsNumber;
}

@Override
public boolean associateEquipment(Equipment equipment) {
boolean associated = false;
if(this.equipments.size() < connectionsNumber)
{
if(equipment.associateEquipment(this)){
this.equipments.add(equipment);
associated = true;
}

}
return associated;
}

@Override
public void sendPacket(Packet<PacketType> packet) {
for (Equipment equipment : equipments) {
Expand All @@ -39,18 +23,6 @@ public void sendPacket(Packet<PacketType> packet) {
@Override
public void receivePacket(Packet<PacketType> packet) {
this.sendPacket(packet);
}

public int getConnectionsNumber() {
return connectionsNumber;
}

public void setConnectionsNumber(int connectionsNumber) {
this.connectionsNumber = connectionsNumber;
}

private boolean isConnNumberExceeded(){
return this.equipments.size() > this.connectionsNumber;

}
}
40 changes: 40 additions & 0 deletions src/Entities/Equipment/NetEquipment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package Entities.Equipment;

import Entities.Packages.Packet;
import Entities.Packages.PacketType;
import Exceptions.AssociateEquipmentError;

public abstract class NetEquipment extends Equipment{

protected int connectionsNumber;

public int getConnectionsNumber() {
return connectionsNumber;
}

public void setConnectionsNumber(int connectionsNumber) {
this.connectionsNumber = connectionsNumber;
}

public abstract void sendPacket(Packet<PacketType> packet);

public abstract void receivePacket(Packet<PacketType> packet);

@Override
public void associateEquipment(Equipment equipment) throws AssociateEquipmentError{

if(this.isConnNumberExceeded())
{
throw new AssociateEquipmentError();
}else{
this.equipments.add(equipment);
equipment.associateEquipment(this);
}

}

private boolean isConnNumberExceeded(){
return this.equipments.size() > this.connectionsNumber;
}

}
6 changes: 3 additions & 3 deletions src/Entities/Equipment/Router.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@
/**
* Created by efridman on 14/11/15.
*/
public class Router extends Equipment {
public class Router extends NetEquipment {

private Map<Integer, IPAddressV4> routingTable;
private Integer defaultPort; // boca por defecto?
private int connectionsNumber;
private NetworkOs operatingSystem;

public void updateRoutingTable(Integer port, IPAddressV4 newIp) {
Expand Down Expand Up @@ -61,5 +60,6 @@ public void receivePacket(Packet packet) {
// TODO Auto-generated method stub


}
}

}
8 changes: 8 additions & 0 deletions src/Exceptions/AssociateEquipmentError.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package Exceptions;

public class AssociateEquipmentError extends Exception {

public AssociateEquipmentError(){
super("Can not associate equipment, connections numbers exceeded");
}
}

0 comments on commit 1754c3f

Please sign in to comment.