/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package edu.bellevue.its.migration.gui.frames.developer;
import edu.bellevue.its.migration.entities.Peerreview;
import edu.bellevue.its.migration.entities.Role;
import edu.bellevue.its.migration.global.AppGlobals;
import edu.bellevue.its.migration.global.AppHelper;
import edu.bellevue.its.migration.gui.MainApp;
import edu.bellevue.its.migration.gui.frames.UpdateableFrame;
import java.awt.Component;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
/**
*
* @author tslater
*/
public class EditPeerReviewFrame extends javax.swing.JInternalFrame {
/**
* Creates new form EditPeerReviewFrame
*/
private Peerreview review;
private UpdateableFrame owner;
private boolean readonly;
public EditPeerReviewFrame (UpdateableFrame o, Peerreview r, boolean ro)
{
initComponents();
owner = o;
review = r;
readonly = ro;
AppHelper.placeRightOfParent(this,((JInternalFrame)owner));
// Determine if a Reviewer is looking at this
Role reviewer = AppHelper.getRoleByName("PeerReviewer");
if (AppGlobals.getInstance().loggedInUser.getRoles().contains(reviewer) && ro == false)
{
r.setReviewer(AppGlobals.getInstance().loggedInUser.getIdUser());
}
if (ro)
{
for(Component c : chkCommentedCode.getParent().getComponents())
{
if (c instanceof JLabel == false)
{
c.setEnabled(false);
}
}
txtComments.setEditable(false);
btnDone.setEnabled(true);
}
}
private void initDisplay()
{
chkCommentedCode.setSelected(review.getCommentedCode().equals("Y"));
chkComplexModules.setSelected(review.getComplexModules().equals("Y"));
chkConforms.setSelected(review.getConformsToStandards().equals("Y"));
chkConsistentComments.setSelected(review.getConsistentComments().equals("Y"));
chkConsistentVariables.setSelected(review.getConsistentVariableTypes().equals("Y"));
chkLeftoverRoutines.setSelected(review.getLeftoverRoutines().equals("Y"));
chkMeaningfulNames.setSelected(review.getMeaningfulVariables().equals("Y"));
chkRedundantCode.setSelected(review.getRedundantUnused().equals("Y"));
chkRepeatedCode.setSelected(review.getRepeatedCode().equals("Y"));
chkReplaceableCode.setSelected(review.getReplacableCode().equals("Y"));
chkUnecessaryCode.setSelected(review.getUnnecessaryCode().equals("Y"));
chkWellStructured.setSelected(review.getWellStructured().equals("Y"));
chkUnitTested.setSelected(review.getUnitTested().equals("Y"));
txtComments.setText(review.getComments());
}
private void updateValues()
{
review.setCommentedCode(chkCommentedCode.isSelected()?"Y":"N");
review.setComplexModules(chkComplexModules.isSelected()?"Y":"N");
review.setConformsToStandards(chkConforms.isSelected()?"Y":"N");
review.setConsistentComments(chkConsistentComments.isSelected()?"Y":"N");
review.setConsistentVariableTypes(chkConsistentVariables.isSelected()?"Y":"N");
review.setLeftoverRoutines(chkLeftoverRoutines.isSelected()?"Y":"N");
review.setMeaningfulVariables(chkMeaningfulNames.isSelected()?"Y":"N");
review.setRedundantUnused(chkRedundantCode.isSelected()?"Y":"N");
review.setRepeatedCode(chkRepeatedCode.isSelected()?"Y":"N");
review.setReplacableCode(chkReplaceableCode.isSelected()?"Y":"N");
review.setUnnecessaryCode(chkUnecessaryCode.isSelected()?"Y":"N");
review.setWellStructured(chkWellStructured.isSelected()?"Y":"N");
review.setUnitTested(chkUnitTested.isSelected()?"Y":"N");
review.setComments(txtComments.getText());
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
chkConforms = new javax.swing.JCheckBox();
chkWellStructured = new javax.swing.JCheckBox();
chkUnecessaryCode = new javax.swing.JCheckBox();
chkReplaceableCode = new javax.swing.JCheckBox();
chkComplexModules = new javax.swing.JCheckBox();
chkCommentedCode = new javax.swing.JCheckBox();
chkConsistentComments = new javax.swing.JCheckBox();
chkMeaningfulNames = new javax.swing.JCheckBox();
chkConsistentVariables = new javax.swing.JCheckBox();
chkRedundantCode = new javax.swing.JCheckBox();
chkLeftoverRoutines = new javax.swing.JCheckBox();
chkUnitTested = new javax.swing.JCheckBox();
chkRepeatedCode = new javax.swing.JCheckBox();
jLabel1 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
txtComments = new javax.swing.JTextArea();
btnDone = new javax.swing.JButton();
setIconifiable(true);
chkConforms.setText("Conforms to Standards");
chkWellStructured.setText("Well Structured");
chkUnecessaryCode.setText("Unnecessary Code");
chkUnecessaryCode.setToolTipText("");
chkReplaceableCode.setText("Replaceable Code");
chkComplexModules.setText("Complex Modules");
chkCommentedCode.setText("Commented Code");
chkConsistentComments.setText("Consistent Comments");
chkMeaningfulNames.setText("Meaningful Variable Names");
chkConsistentVariables.setText("Consistent Variable Types");
chkRedundantCode.setText("Redundant / Unused Code");
chkLeftoverRoutines.setText("Leftover Test Routines");
chkUnitTested.setText("Unit Tested");
chkRepeatedCode.setText("Repeated Code");
jLabel1.setText("Comments");
txtComments.setColumns(20);
txtComments.setRows(5);
jScrollPane1.setViewportView(txtComments);
btnDone.setText("Done");
btnDone.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDoneActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jScrollPane1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(chkReplaceableCode)
.addComponent(chkRepeatedCode)
.addComponent(chkWellStructured)
.addComponent(chkUnecessaryCode)
.addComponent(chkComplexModules)
.addComponent(chkConforms))
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(chkCommentedCode)
.addComponent(chkConsistentComments)
.addComponent(chkConsistentVariables)
.addComponent(chkMeaningfulNames)
.addComponent(chkRedundantCode)
.addComponent(chkLeftoverRoutines)))
.addComponent(chkUnitTested)
.addComponent(jLabel1))))
.addGroup(layout.createSequentialGroup()
.addGap(123, 123, 123)
.addComponent(btnDone, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(30, 30, 30))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(chkConforms)
.addComponent(chkCommentedCode))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(chkWellStructured)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkUnecessaryCode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkReplaceableCode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkRepeatedCode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkComplexModules))
.addGroup(layout.createSequentialGroup()
.addComponent(chkConsistentComments)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkMeaningfulNames)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkConsistentVariables)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkRedundantCode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(chkLeftoverRoutines)))
.addGap(18, 18, 18)
.addComponent(chkUnitTested)
.addGap(18, 18, 18)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(btnDone)
.addContainerGap(30, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void btnDoneActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDoneActionPerformed
// TODO add your handling code here:
if (!readonly)
{
updateValues();
}
this.setVisible(false);
MainApp.getDesktop().remove(this);
}//GEN-LAST:event_btnDoneActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnDone;
private javax.swing.JCheckBox chkCommentedCode;
private javax.swing.JCheckBox chkComplexModules;
private javax.swing.JCheckBox chkConforms;
private javax.swing.JCheckBox chkConsistentComments;
private javax.swing.JCheckBox chkConsistentVariables;
private javax.swing.JCheckBox chkLeftoverRoutines;
private javax.swing.JCheckBox chkMeaningfulNames;
private javax.swing.JCheckBox chkRedundantCode;
private javax.swing.JCheckBox chkRepeatedCode;
private javax.swing.JCheckBox chkReplaceableCode;
private javax.swing.JCheckBox chkUnecessaryCode;
private javax.swing.JCheckBox chkUnitTested;
private javax.swing.JCheckBox chkWellStructured;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea txtComments;
// End of variables declaration//GEN-END:variables
}