package netbeans.views;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import netbeans.Controller;
import netbeans.models.User;
import netbeans.models.Project;
import netbeans.models.ProjectPlan;
import netbeans.utils.MessageResource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class PanelProjectplan extends javax.swing.JPanel {
private Controller cont;
private User user;
private Project pr;
private DefaultTableModel tableUserModel;
private static Log log = LogFactory.getLog(PanelProjectplan.class);
/** Creates new form PanelWorkitem */
public PanelProjectplan(Controller cont, User us, Project pr) {
this.cont=cont;
this.user=us;
this.pr=pr;
initComponents();
if(log.isDebugEnabled()) log.debug("Projectplan wurde erstellt");
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
labelFailedMessageUser = new javax.swing.JLabel();
titleUsermanagement = new javax.swing.JLabel();
labelProjectname = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
contentIntroduction = new javax.swing.JLabel();
labelProName = new javax.swing.JLabel();
labelLessons = new javax.swing.JLabel();
contentLessons = new javax.swing.JLabel();
labelUser = new javax.swing.JLabel();
labelObjectives = new javax.swing.JLabel();
contentObjectives = new javax.swing.JLabel();
contentUsersHeadline = new javax.swing.JLabel();
buttonEditModus = new javax.swing.JButton();
setBackground(new java.awt.Color(255, 255, 255));
setPreferredSize(new java.awt.Dimension(581, 513));
labelFailedMessageUser.setText("");
labelFailedMessageUser.setName("labelFailedMessageUser"); // NOI18N
titleUsermanagement.setFont(new java.awt.Font(cont.getProperties().getString("fontFamily"), 1, cont.getProperties().getInt("fontSizeMainmaskTitle")));
titleUsermanagement.setText("Projectplan");
titleUsermanagement.setName("Projectplan"); // NOI18N
labelProjectname.setText(""+pr.getProjectName());
labelProjectname.setName(""+pr.getProjectName());
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel1.setText("Introduction");
jLabel1.setName("jLabel1"); // NOI18N
contentIntroduction.setText("<html>"+pr.getProjectPlan().getIntroduction()+"</html>");
contentIntroduction.setName(pr.getProjectPlan().getIntroduction());
labelProName.setFont(new java.awt.Font("Tahoma", 1, 11));
labelProName.setText("Projectname");
labelProName.setName("Projectname"); // NOI18N
labelLessons.setFont(new java.awt.Font("Tahoma", 1, 11));
labelLessons.setText("Lessons Learned");
labelLessons.setName("Lessons Learned"); // NOI18N
contentLessons.setText("<html>"+pr.getProjectPlan().getLessonlearned()+"</html>");
contentLessons.setName("contentLessons"); // NOI18N
labelUser.setFont(new java.awt.Font("Tahoma", 1, 11));
labelUser.setText("Project organization");
labelUser.setName("Project organization"); // NOI18N
labelObjectives.setFont(new java.awt.Font("Tahoma", 1, 11));
labelObjectives.setText("Project milestones and objectives");
labelObjectives.setName("Project milestones and objectives"); // NOI18N
contentObjectives.setText("<html>"+pr.getProjectPlan().getObjectivesComment()+"</html>");
contentObjectives.setName("contentObjectives"); // NOI18N
contentUsersHeadline.setText("");
contentUsersHeadline.setName("contentUsersHeadline"); // NOI18N
buttonEditModus.setText("Edit Projectplan");
buttonEditModus.setEnabled(false);
buttonEditModus.setName("buttonEditModus"); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelFailedMessageUser)
.addComponent(labelProName)
.addComponent(labelProjectname)
.addComponent(jLabel1)
.addGroup(layout.createSequentialGroup()
.addComponent(titleUsermanagement)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 400, Short.MAX_VALUE)
.addComponent(buttonEditModus))
.addComponent(contentIntroduction)
.addComponent(labelUser)
.addComponent(labelLessons)
.addComponent(contentLessons)
.addComponent(labelObjectives)
.addComponent(contentObjectives)
.addComponent(contentUsersHeadline))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(titleUsermanagement, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(buttonEditModus))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(labelFailedMessageUser)
.addGap(28, 28, 28)
.addComponent(labelProName)
.addGap(8, 8, 8)
.addComponent(labelProjectname)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(contentIntroduction)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(labelUser)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(contentUsersHeadline)
.addGap(41, 41, 41)
.addComponent(labelObjectives)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(contentObjectives)
.addGap(41, 41, 41)
.addComponent(labelLessons)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(contentLessons)
.addContainerGap(155, Short.MAX_VALUE))
);
createOrganization(pr.getAllUser());
buttonEditModus.setVisible(false);
buttonEditModus.addActionListener(cont.getListener());
buttonEditModus.setActionCommand("editProjectplan");
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JButton buttonEditModus;
private javax.swing.JLabel contentIntroduction;
private javax.swing.JLabel contentLessons;
private javax.swing.JLabel contentObjectives;
private javax.swing.JLabel contentUsersHeadline;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel labelFailedMessageUser;
private javax.swing.JLabel labelLessons;
private javax.swing.JLabel labelObjectives;
private javax.swing.JLabel labelProName;
private javax.swing.JLabel labelProjectname;
private javax.swing.JLabel labelUser;
private javax.swing.JLabel titleUsermanagement;
// End of variables declaration
private void createOrganization(Vector<User> us) {
Vector<User> allUser =us;
String bgColor="#ffffff";
String header="<html><table border='0'><tr><td><table width='550' border='0'>" +
"<tr>" +
"<td width=150></td>" +
"<td>Manager</td>" +
"<td>Analyst</td>" +
"<td>Architect</td>" +
"<td>Developer</td>" +
"<td>Tester</td>" +
"<td>Any Role</td>" +
"</tr>";
String userContent="";
int i=0;
while (i<allUser.size()) {
String isPM="";
String isAnal="";
String isArch="";
String isDev="";
String isTester="";
String isAny="";
userContent=userContent+"<tr bgColor='"+bgColor+"'>" +
"<td>"+allUser.elementAt(i).getFirstname()+" "+allUser.elementAt(i).getLastname()+"</td>";
int roleCheck=0;
while(roleCheck<allUser.elementAt(i).getRoles().size()) {
if(2==allUser.elementAt(i).getRoles().elementAt(roleCheck).getRoleID()) {
isPM="X";
} else if(3==allUser.elementAt(i).getRoles().elementAt(roleCheck).getRoleID()) {
isAnal="X";
} else if(4==allUser.elementAt(i).getRoles().elementAt(roleCheck).getRoleID()) {
isArch="X";
} else if(5==allUser.elementAt(i).getRoles().elementAt(roleCheck).getRoleID()) {
isDev="X";
} else if(6==allUser.elementAt(i).getRoles().elementAt(roleCheck).getRoleID()) {
isTester="X";
} else if(7==allUser.elementAt(i).getRoles().elementAt(roleCheck).getRoleID()) {
isAny="X";
}
roleCheck++;
}
userContent=userContent+"" +
"<td>"+isPM+"</td>" +
"<td>"+isAnal+"</td>" +
"<td>"+isArch+"</td>" +
"<td>"+isDev+"</td>" +
"<td>"+isTester+"</td>" +
"<td>"+isAny+"</td>" +
"</tr>";
if (bgColor.equals("#ffffff")) {
bgColor="#f9efef";
} else {
bgColor="#ffffff";
}
i++;
}
contentUsersHeadline.setText(header+userContent+"</table></td></tr></html>");
}
public void setButtonEditVisibly(boolean vis) {
buttonEditModus.setEnabled(vis);
buttonEditModus.setVisible(vis);
}
public void setProject(Project pr) {
this.pr=pr;
}
public Project getProhect() {
return this.pr;
}
}