-/**
- *
- */
package subastas;
+import java.util.Vector;
+
+import org.omg.CORBA.*;
+import org.omg.CORBA.ORBPackage.InvalidName;
+import org.omg.PortableServer.POA;
+import org.omg.PortableServer.POAHelper;
+import org.omg.PortableServer.POAManagerPackage.AdapterInactive;
+import org.omg.PortableServer.POAPackage.ServantNotActive;
+import org.omg.PortableServer.POAPackage.WrongPolicy;
+
+
+
/**
* @author danigm
*
*/
public class gestorSubastasImpl extends gestorSubastasPOA {
- /**
- *
- */
+ private Vector<coordinadorSubasta> subastas;
+ private ORB orb;
+ private POA poa;
public gestorSubastasImpl() {
- // TODO Auto-generated constructor stub
+ super();
+ subastas = new Vector<coordinadorSubasta>();
+
+ //inicializacion del orb
+ orb = ORB.init();
+
+ //creacion del poa raiz
+ try {
+ poa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
+ } catch (InvalidName e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ //crear y activar sirvientes
+ try {
+ poa.the_POAManager().activate();
+ } catch (AdapterInactive e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
}
- /* (non-Javadoc)
- * @see subastas.gestorSubastasOperations#crearSubasta(float, java.lang.String)
- */
- @Override
public coordinadorSubasta crearSubasta(float valor, String desc) {
- // TODO Auto-generated method stub
- return null;
+ coordinadorSubasta c = null;
+ coordinadorSubastaImpl coord = new coordinadorSubastaImpl(valor, desc);
+ org.omg.CORBA.Object obj;
+ try {
+ obj = poa.servant_to_reference(coord);
+ c = coordinadorSubastaHelper.narrow(obj);
+ subastas.add(c);
+ } catch (ServantNotActive e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (WrongPolicy e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return c;
}
- /* (non-Javadoc)
- * @see subastas.gestorSubastasOperations#destruirSubasta(subastas.coordinadorSubasta)
- */
- @Override
public void destruirSubasta(coordinadorSubasta cs) {
- // TODO Auto-generated method stub
-
+ if (cs.estado().equals("Cerrada")){
+ subastas.remove(cs);
+ }
}
- /* (non-Javadoc)
- * @see subastas.gestorSubastasOperations#localizarSubasta(java.lang.String)
- */
- @Override
public coordinadorSubasta[] localizarSubasta(String palabra) {
- // TODO Auto-generated method stub
- return null;
+ Vector<coordinadorSubasta> encontradas = new Vector<coordinadorSubasta>();
+ for(int i=0; i<subastas.size(); i++){
+ if (subastas.get(i).descripcion().contains(palabra)){
+ encontradas.add(subastas.get(i));
+ }
+ }
+ return (coordinadorSubasta[])encontradas.toArray();
}
}