Package edu.wpi.cs.wpisuitetng.modules.defecttracker.defect

Source Code of edu.wpi.cs.wpisuitetng.modules.defecttracker.defect.SaveDefectController

/*******************************************************************************
* Copyright (c) 2013 -- WPI Suite
*
* 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:
*    Chris Casola
*    JPage
*    Andrew Hurle
******************************************************************************/

package edu.wpi.cs.wpisuitetng.modules.defecttracker.defect;

import edu.wpi.cs.wpisuitetng.modules.defecttracker.defect.DefectPanel.Mode;
import edu.wpi.cs.wpisuitetng.network.Network;
import edu.wpi.cs.wpisuitetng.network.Request;
import edu.wpi.cs.wpisuitetng.network.RequestObserver;
import edu.wpi.cs.wpisuitetng.network.models.HttpMethod;

/**
* Controller to handle the saving of a defect
*
*/
public class SaveDefectController {

  /** The view object containing the request fields */
  protected DefectView view;

  /**
   * Construct a new handler for the given view
   * @param view the view containing the request fields
   */
  public SaveDefectController(DefectView view) {
    this.view = view;
  }

  /**
   * Save the view's Defect model to the server (asynchronous).
   */
  public void save() {
    final DefectPanel panel = (DefectPanel) view.getDefectPanel();
    final RequestObserver requestObserver = (panel.getEditMode() == Mode.CREATE) ? new CreateDefectRequestObserver(view) : new UpdateDefectRequestObserver(view);
    Request request;
    panel.getParent().setInputEnabled(false);
    request = Network.getInstance().makeRequest("defecttracker/defect", (panel.getEditMode() == Mode.CREATE) ? HttpMethod.PUT : HttpMethod.POST);
    request.setBody(panel.getEditedModel().toJSON());
    request.addObserver(requestObserver);
    request.send();
  }

}
TOP

Related Classes of edu.wpi.cs.wpisuitetng.modules.defecttracker.defect.SaveDefectController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.