diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java')
-rw-r--r-- | plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java | 186 |
1 files changed, 93 insertions, 93 deletions
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java index 0864a180e9..34d449adf3 100644 --- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java +++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java @@ -1,93 +1,93 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.buddies.internal.server.protocol;
-
-import org.eclipse.net4j.buddies.common.IBuddy;
-import org.eclipse.net4j.buddies.common.IFacility;
-import org.eclipse.net4j.buddies.common.ISession;
-import org.eclipse.net4j.buddies.internal.common.Collaboration;
-import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants;
-import org.eclipse.net4j.buddies.internal.server.BuddyAdmin;
-import org.eclipse.net4j.buddies.internal.server.bundle.OM;
-import org.eclipse.net4j.buddies.spi.common.ServerFacilityFactory;
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.container.IPluginContainer;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
-import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
-
-/**
- * @author Eike Stepper
- */
-public class InstallFacilityIndication extends IndicationWithResponse
-{
- private static final String FACILITY_GROUP = ServerFacilityFactory.PRODUCT_GROUP;
-
- private boolean success;
-
- /**
- * @since 2.0
- */
- public InstallFacilityIndication(BuddiesServerProtocol protocol)
- {
- super(protocol, ProtocolConstants.SIGNAL_INSTALL_FACILITY);
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws Exception
- {
- long collaborationID = in.readLong();
- String facilityType = in.readString();
-
- try
- {
- String description = String.valueOf(collaborationID);
- IFacility facility = (IFacility)IPluginContainer.INSTANCE.getElement(FACILITY_GROUP, facilityType, description);
-
- Collaboration collaboration = (Collaboration)BuddyAdmin.INSTANCE.getCollaboration(collaborationID);
- if (collaboration != null)
- {
- facility.setCollaboration(collaboration);
- collaboration.addFacility(facility, true);
-
- ISession session = (ISession)getProtocol().getInfraStructure();
- IBuddy initiator = session.getSelf();
-
- for (IBuddy buddy : collaboration.getBuddies())
- {
- if (buddy != initiator)
- {
- try
- {
- BuddiesServerProtocol protocol = (BuddiesServerProtocol)buddy.getSession().getProtocol();
- new FacilityInstalledNotification(protocol, collaborationID, facilityType).sendAsync();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- }
- }
- }
-
- success = true;
- }
- }
- catch (RuntimeException ex)
- {
- OM.LOG.error(ex);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws Exception
- {
- out.writeBoolean(success);
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.server.BuddyAdmin; +import org.eclipse.net4j.buddies.internal.server.bundle.OM; +import org.eclipse.net4j.buddies.spi.common.ServerFacilityFactory; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.container.IPluginContainer; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class InstallFacilityIndication extends IndicationWithResponse +{ + private static final String FACILITY_GROUP = ServerFacilityFactory.PRODUCT_GROUP; + + private boolean success; + + /** + * @since 2.0 + */ + public InstallFacilityIndication(BuddiesServerProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_INSTALL_FACILITY); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + long collaborationID = in.readLong(); + String facilityType = in.readString(); + + try + { + String description = String.valueOf(collaborationID); + IFacility facility = (IFacility)IPluginContainer.INSTANCE.getElement(FACILITY_GROUP, facilityType, description); + + Collaboration collaboration = (Collaboration)BuddyAdmin.INSTANCE.getCollaboration(collaborationID); + if (collaboration != null) + { + facility.setCollaboration(collaboration); + collaboration.addFacility(facility, true); + + ISession session = (ISession)getProtocol().getInfraStructure(); + IBuddy initiator = session.getSelf(); + + for (IBuddy buddy : collaboration.getBuddies()) + { + if (buddy != initiator) + { + try + { + BuddiesServerProtocol protocol = (BuddiesServerProtocol)buddy.getSession().getProtocol(); + new FacilityInstalledNotification(protocol, collaborationID, facilityType).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + + success = true; + } + } + catch (RuntimeException ex) + { + OM.LOG.error(ex); + } + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(success); + } +} |