package com.vst.service.impl;
import com.vst.dao.*;
import com.vst.dto.BuildingObjectTypeDTO;
import com.vst.model.*;
import com.vst.service.*;
import com.vst.util.MapConverter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import uk.ltd.getahead.dwr.WebContextFactory;
import com.vst.model.BuildingObject;
import com.vst.model.ObjectConstruction;
/**
* Created by IntelliJ IDEA. User: ALEXEI Date: 12.02.2008 Time: 11:35:01 To
* change this template use File | Settings | File Templates.
*/
public class AjaxSampleSvcImpl extends BaseManager implements AjaxSampleSvc {
private ConstructionTypeDao constructionTypeDao = null;
private DefectTypeDao defectTypeDao = null;
private DangerCategoryDao dangerCategoryDao = null;
private ReasonDao reasonDao = null;
private MaterialDao materialDao = null;
private MeasureDao measureDao = null;
private ParameterDao parameterDao = null;
private DefectVarityDao defectVarityDao = null;
private DefectZoneDao defectZoneDao = null;
private ObjectTypeDao objectTypeDao = null;
private AuthentificationElementDao authentificationElementDao = null;
private DefectCategoryDao defectCategoryDao = null;
private DefectCategoryNameDao defectCategoryNameDao = null;
private ReasonNameDao reasonNameDao = null;
private DefectVarityManager defectVarityManager = null;
private ReasonManager reasonManager = null;
private ParameterManager parameterManager = null;
private GostManager gostManager = null;
private RegionManager regionManager = null;
private DiameterManager diameterManager = null;
private ThicknessManager thicknessManager = null;
private DetailManager detailManager;
private ExpertManager expertManager = null;
private PipelineSubtypeManager pipelineSubtypeManager = null;
private ObjectExpertTypeManager objectExpertTypeManager = null;
private BuildingObjectManager buildingObjectManager = null;
private ConstructionExampleManager constructionExampleManager = null;
public void setConstructionExampleManager(
ConstructionExampleManager constructionExampleManager) {
this.constructionExampleManager = constructionExampleManager;
}
public void setBuildingObjectManager(
BuildingObjectManager buildingObjectManager) {
this.buildingObjectManager = buildingObjectManager;
}
public PipelineSubtypeManager getPipelineSubtypeManager() {
return pipelineSubtypeManager;
}
public void setPipelineSubtypeManager(
PipelineSubtypeManager pipelineSubtypeManager) {
this.pipelineSubtypeManager = pipelineSubtypeManager;
}
public ObjectExpertTypeManager getObjectExpertTypeManager() {
return objectExpertTypeManager;
}
public void setObjectExpertTypeManager(
ObjectExpertTypeManager objectExpertTypeManager) {
this.objectExpertTypeManager = objectExpertTypeManager;
}
public ExpertManager getExpertManager() {
return expertManager;
}
public void setExpertManager(ExpertManager expertManager) {
this.expertManager = expertManager;
}
public void setDetailManager(DetailManager detailManager) {
this.detailManager = detailManager;
}
public void setThicknessManager(ThicknessManager thicknessManager) {
this.thicknessManager = thicknessManager;
}
public void setDiameterManager(DiameterManager diameterManager) {
this.diameterManager = diameterManager;
}
public void setRegionManager(RegionManager regionManager) {
this.regionManager = regionManager;
}
public void setGostManager(GostManager gostManager) {
this.gostManager = gostManager;
}
// private ConstructionExampleManager constructionExampleManager=null;
// public void setConstructionExampleManager(ConstructionExampleManager
// constructionExampleManager) {
// this.constructionExampleManager = constructionExampleManager;
// }
public void setParameterManager(ParameterManager parameterManager) {
this.parameterManager = parameterManager;
}
public void setReasonManager(ReasonManager reasonManager) {
this.reasonManager = reasonManager;
}
public void setDefectVarityManager(DefectVarityManager defectVarityManager) {
this.defectVarityManager = defectVarityManager;
}
public void setDefectCategoryNameDao(
DefectCategoryNameDao defectCategoryNameDao) {
this.defectCategoryNameDao = defectCategoryNameDao;
}
public void setReasonNameDao(ReasonNameDao reasonNameDao) {
this.reasonNameDao = reasonNameDao;
}
public void setDefectCategoryDao(DefectCategoryDao defectCategoryDao) {
this.defectCategoryDao = defectCategoryDao;
}
public void setDangerCategoryDao(DangerCategoryDao dangerCategoryDao) {
this.dangerCategoryDao = dangerCategoryDao;
}
public void setReasonDao(ReasonDao reasonDao) {
this.reasonDao = reasonDao;
}
public void setAuthentificationElementDao(
AuthentificationElementDao authentificationElementDao) {
this.authentificationElementDao = authentificationElementDao;
}
public void setObjectTypeDao(ObjectTypeDao objectTypeDao) {
this.objectTypeDao = objectTypeDao;
}
public void setDefectZoneDao(DefectZoneDao defectZoneDao) {
this.defectZoneDao = defectZoneDao;
}
public void setDefectVarityDao(DefectVarityDao defectVarityDao) {
this.defectVarityDao = defectVarityDao;
}
public void setParameterDao(ParameterDao parameterDao) {
this.parameterDao = parameterDao;
}
public void setMeasureDao(MeasureDao measureDao) {
this.measureDao = measureDao;
}
public void setMaterialDao(MaterialDao materialDao) {
this.materialDao = materialDao;
}
public void setDefectTypeDao(DefectTypeDao defectTypeDao) {
this.defectTypeDao = defectTypeDao;
}
public void setConstructionTypeDao(ConstructionTypeDao constructionTypeDao) {
this.constructionTypeDao = constructionTypeDao;
}
public Integer getDangerCategoryByParameters(Integer constructionTypeId,
Integer defectZoneId, Integer defectTypeId, Integer defectVarityId,
List valueList, List idList) {
List parameterList = new ArrayList();
for (int i = 0; i < idList.size(); i++) {
Integer id;
Float parameterValue;
try {
id = (Integer) Integer.parseInt((String) idList.get(i));
parameterValue = Float.parseFloat((String) valueList.get(i));
} catch (Exception e) {
return new Integer(-1);
}
DefectParameter defectParameter = new DefectParameter();
defectParameter.setParameterValue(parameterValue);
Parameter parameter = new Parameter();
parameter.setParameterId(id);
defectParameter.setParameter(parameter);
defectParameter.setParameterValue(parameterValue);
parameterList.add(defectParameter);
}
return defectCategoryDao.getDangerCategoryByParameters(
constructionTypeId, defectZoneId, defectTypeId, defectVarityId,
parameterList);
}
public Integer getDangerCategoryByParametersZone(
Integer constructionTypeId, Integer defectZoneId,
Integer defectTypeId, Integer defectVarityId, List valueList,
List valueListSecond, List idList) {
List parameterList = new ArrayList();
for (int i = 0; i < idList.size(); i++) {
Integer id;
Float parameterValue;
Float parameterValueSecond;
try {
id = (Integer) Integer.parseInt((String) idList.get(i));
parameterValue = Float.parseFloat((String) valueList.get(i));
parameterValueSecond = Float
.parseFloat((String) valueListSecond.get(i));
} catch (Exception e) {
return new Integer(-1);
}
DefectParameterZone defectParameter = new DefectParameterZone();
defectParameter.setParameterValue(parameterValue);
defectParameter.setParameterValueSecond(parameterValueSecond);
Parameter parameter = new Parameter();
parameter.setParameterId(id);
defectParameter.setParameter(parameter);
defectParameter.setParameterValue(parameterValue);
defectParameter.setParameterValueSecond(parameterValueSecond);
parameterList.add(defectParameter);
}
return defectCategoryDao.getDangerCategoryByParameters(
constructionTypeId, defectZoneId, defectTypeId, defectVarityId,
parameterList);
}
public Map getConstructionTypes() {
List curList = constructionTypeDao.getConstructionTypes(null);
return MapConverter.getConstructionTypeMap(curList);
}
public Map getDefectTypes() {
List curList = defectTypeDao.getDefectTypes(null);
return MapConverter.getDefectTypeMap(curList);
}
public Map getMaterials() {
List curList = materialDao.getMaterials(null);
return MapConverter.getMaterialMap(curList);
}
public Map getMeasures() {
List curList = measureDao.getMeasures(null);
return MapConverter.getMeasureMap(curList);
}
public Map getParameters() {
List curList = parameterDao.getParameters(null);
return MapConverter.getParameterMap(curList);
}
public Map getDefectVarities() {
List curList = defectVarityDao.getDefectVaritys(null);
return MapConverter.getDefectVarityMap(curList);
}
public Map getDefectVaritiesByType(String defectTypeId) {
System.out.println("$$$$$$$$$$$$$$$$");
System.out.println("$$$$$$$ " + defectTypeId + " $$$$$$$");
if ("-1".equals(defectTypeId))
return MapConverter.getEmptyMap("defectVarity.choose");
List curList = defectVarityManager
.getDefectVaritiesByType(defectTypeId);
return MapConverter.getDefectVarityMap(curList);
}
public Map getDefectVaritiesByTypeInteger(Integer aInteger) {
System.out
.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
if (-1 == aInteger.longValue())
return MapConverter.getEmptyMap("defectVarity.choose");
List curList = defectVarityManager.getDefectVaritiesByType(String
.valueOf(aInteger));
return MapConverter.getDefectVarityMap(curList);
}
public Map getDefectZones() {
List curList = defectZoneDao.getDefectZones(null);
return MapConverter.getDefectZoneMap(curList);
}
public Map getObjectTypes() {
List curList = objectTypeDao.getObjectTypes(null);
return MapConverter.getObjectTypeMap(curList);
}
public Map getAuthentificationElements() {
List curList = authentificationElementDao
.getAuthentificationElements(null);
return MapConverter.getAuthentificationElementMap(curList);
}
public Map getDangerCategories() {
List curList = dangerCategoryDao.getDangerCategorys(null);
return MapConverter.getDangerCategoryMap(curList);
}
public Map getReasons() {
List curList = reasonDao.getReasons(null);
return MapConverter.getReasonMap(curList);
}
public List getDefectParametersByVarityId(Integer varityId) {
// loading defect parameters
System.out.println("Size = " + varityId);
List parameterList = parameterManager.getParametersByVarity(varityId
.toString());
System.out.println("Size list = " + parameterList.size());
List parameterDefectList = new ArrayList();
for (int i = 0; i < parameterList.size(); i++) {
com.vst.model.Parameter parameter = (Parameter) parameterList.get(i);
DefectParameter defectParameter = new DefectParameter();
defectParameter.setParameter(null);
parameterDefectList.add(defectParameter);
}
return parameterDefectList;
}
public List getDefectParametersZoneByVarityId(Integer varityId) {
System.out.println("// loading defect parameters");
List parameterList = parameterManager.getParametersByVarity(varityId
.toString());
System.out.println("// loading defect parameters"+parameterList);
List parameterDefectList = new ArrayList();
for (Object o:parameterList) {
com.vst.model.Parameter parameter = (com.vst.model.Parameter) o;
System.out.println(parameter+"parameter");
DefectParameterZone defectParameter = new DefectParameterZone();
defectParameter.setParameter(parameter);
parameterDefectList.add(defectParameter);
}
System.out.println("RESULT" + parameterDefectList);
return parameterDefectList;
}
public Map getReasonsByType(String defectTypeId, String defectVarityId,
String defectZoneId, String constructionType) {
List curList = reasonManager.getReasonsByType(defectTypeId,
defectVarityId, defectZoneId, constructionType);
return MapConverter.getReasonMap(curList);
}
public Map getDefectCategories() {
List curList = defectCategoryDao.getDefectCategorys(null);
return MapConverter.getDefectCategoryMap(curList);
}
public Map getDefectCategoryNames() {
List curList = defectCategoryNameDao.getDefectCategoryNames(null);
return MapConverter.getDefectCategoryNameMap(curList);
}
public Map getReasonNames() {
List curList = reasonNameDao.getReasonNames(null);
return MapConverter.geReasonNameMap(curList);
}
public String getGostOptions() {
List list = gostManager.getGostList();
String s = "<select name=\"gost.gostId\" id=\"gost.gostId\">";
for (int i = 0; i < list.size(); i++) {
Gost gost = (Gost) list.get(i);
s += "<option value=\"" + gost.getGostId() + "\">"
+ gost.getGostName() + "</option>";
}
s += "</select>";
return s;
}
public String getMaterialOptions() {
List list = materialDao.getMaterials(null);
String s = "<select name=\"material.materialId\" id=\"material.materialId\">";
for (int i = 0; i < list.size(); i++) {
Material gost = (Material) list.get(i);
s += "<option value=\"" + gost.getMaterialId() + "\">"
+ gost.getMaterialName() + "</option>";
}
System.out.println("MATERIALS ==== " + s);
s += "</select>";
return s;
}
public String getCustomerRegionList() {
List list = regionManager.getRegions(null);
/*
* <select id="customerRegion.regionId" name="customerRegion.regionId">
* <option value="1">Rfpfym</option> <option value="2">iiiii</option>
* <option value="3">gg</option> </select>
*/
String s = "<select name=\"customerRegion.regionId\" id=\"customerRegion.regionId\">";
for (int i = 0; i < list.size(); i++) {
Region r = (Region) list.get(i);
System.out.println("MATERIALS ==== " + r.getRegionId() + " ==="
+ r.getRegionName());
s += "<option value=\"" + r.getRegionId() + "\">"
+ r.getRegionName() + "</option>";
}
System.out.println("MATERIALS ==== " + s);
s += "</select>";
return s;
}
public String getDiameter(Integer gostId, Integer type, Integer detId,
Integer detailType) {
String s = "";
Integer realId = null;
if (!detId.equals(new Integer(-1)) && detId != null) {
if (detailType.equals(new Integer(1))) {
Pipe object = detailManager.getPipeById(detId);
System.out.println("Pipe = " + object);
gostId = object.getGost().getGostId();
realId = object.getDiametr().getDiametrId();
} else if (detailType.equals(new Integer(2))) {
Tap object = detailManager.getTapById(detId);
System.out.println("Tap = " + object);
gostId = object.getGost().getGostId();
realId = object.getDiametr().getDiametrId();
} else if (detailType.equals(new Integer(3))) {
Transition object = detailManager.getTransitionById(detId);
gostId = object.getGost().getGostId();
if (type.equals(new Integer(2))) {
realId = object.getFirstDiametr().getDiametrId();
} else if (type.equals(new Integer(3))) {
realId = object.getSecondDiametr().getDiametrId();
}
} else if (detailType.equals(new Integer(4))) {
Tee object = detailManager.getTeeById(detId);
gostId = object.getGost().getGostId();
if (type.equals(new Integer(2))) {
realId = object.getFirstDiametr().getDiametrId();
} else if (type.equals(new Integer(3))) {
realId = object.getSecondDiametr().getDiametrId();
}
} else if (detailType.equals(new Integer(5))) {
Zaglushka object = detailManager.getZaglushkaById(detId);
gostId = object.getGost().getGostId();
realId = object.getDiametr().getDiametrId();
} else if (detailType.equals(new Integer(6))) {
Flange object = detailManager.getFlangeById(detId);
gostId = object.getGost().getGostId();
realId = object.getDiametr().getDiametrId();
} else if (detailType.equals(new Integer(7))) {
Armature object = detailManager.getArmatureById(detId);
gostId = object.getGost().getGostId();
realId = object.getDiametr().getDiametrId();
} else if (detailType.equals(new Integer(8))) {
Oborudovanie object = detailManager.getOborudovanieById(detId);
gostId = object.getGost().getGostId();
realId = object.getDiametr().getDiametrId();
}
}
if (!gostId.equals(new Integer(-1))) {
if (type.equals(new Integer(1))) {
s = "<select name=\"diametr.diametrId\" id=\"diametr.diametrId\" onchange=\"getTh(document.getElementById('diametr.diametrId').value,1,-1,-1)\">";
} else if (type.equals(new Integer(2))) {
s = "<select name=\"firstDiametr.diametrId\" id=\"firstDiametr.diametrId\" onchange=\"getTh(document.getElementById('firstDiametr.diametrId').value,2,-1,-1)\">";
} else if (type.equals(new Integer(3))) {
s = "<select name=\"secondDiametr.diametrId\" id=\"secondDiametr.diametrId\" onchange=\"getTh(document.getElementById('secondDiametr.diametrId').value,3,-1,-1)\">";
} else if (type.equals(new Integer(0))) {
s = "<select name=\"diametr.diametrId\" id=\"diametr.diametrId\">";
}
List diameterList = diameterManager.getListByGostId(gostId);
if (detId == null || detId.equals(new Integer(-1))) {
s += "<option value=\"-1\">Выберите диаметр</option>";
}
for (int i = 0; i < diameterList.size(); i++) {
Diameter d = (Diameter) diameterList.get(i);
if (realId != null && realId.equals(d.getDiametrId())) {
s += "<option value=\"" + d.getDiametrId()
+ "\" selected=\"selected\">"
+ d.getDiametrCount() + "</option>";
} else {
s += "<option value=\"" + d.getDiametrId() + "\">"
+ d.getDiametrCount() + "</option>";
}
}
s += "</select>";
}
return s;
}
public String getThickness(Integer diamId, Integer type, Integer realId,
Integer detailType, String currentPath) throws SQLException,
IOException {
System.out.println("##################################### "
+ currentPath);
String s = "";
if (diamId != null && diamId.intValue() >= 0) {
if (type.equals(new Integer(1))) {
s = "<select name=\"thickness.thicknessId\" id=\"thickness.thicknessId\">";
} else if (type.equals(new Integer(2))) {
s = "<select name=\"firstThickness.thicknessId\" id=\"firstThickness.thicknessId\">";
} else if (type.equals(new Integer(3))) {
s = "<select name=\"secondThickness.thicknessId\" id=\"secondThickness.thicknessId\">";
}
List thList = diameterManager.getThListByDiameter(diamId,
currentPath);
if (realId == null || realId.equals(new Integer(-1))) {
s += "<option value=\"-1\">Выберите толщину</option>";
}
for (int i = 0; i < thList.size(); i++) {
Thickness th = (Thickness) thList.get(i);
if (realId != null && realId.equals(th.getThicknessId())) {
s += "<option value=\"" + th.getThicknessId()
+ "\" selected=\"selected\">"
+ th.getThicknessCount() + "</option>";
} else {
s += "<option value=\"" + th.getThicknessId() + "\">"
+ th.getThicknessCount() + "</option>";
}
}
s += "</select>";
}
return s;
}
public Map getGost() {
List l = gostManager.getGostList();
for (int i = 0; i < l.size(); i++) {
Gost gost = (Gost) l.get(i);
System.out.print(gost.getGostId() + "; ");
}
return MapConverter.getGostMap(l);
}
public Map getThickness1() {
List l = thicknessManager.getListThickness();
return MapConverter.getThicknessMap(l);
}
public Map getTrueExpert() {
List l = expertManager.getTrueExpert();
return MapConverter.getExpertMap(l);
}
public Map getFalseExpert() {
List l = expertManager.getFalseExpert();
return MapConverter.getExpertMap(l);
}
public Map getObjectExpertType() {
List l = objectExpertTypeManager.getObjectExpertTypeList();
return MapConverter.getObjectExpertTypeMap(l);
}
public Map getPipelineSubtype() {
List l = pipelineSubtypeManager.getPipelineSubtype();
return MapConverter.getPipelineSubtypeMap(l);
}
public Map getRegion() {
List l = regionManager.getRegions(null);
return MapConverter.getRegionMap(l);
}
public Map getDetails(Integer detailId) {
List l = new ArrayList();
if (detailId.equals(new Integer(1))) {
return MapConverter.getDetailMap(detailManager.getAllPipe());
} else if (detailId.equals(new Integer(2))) {
return MapConverter.getDetailMap(detailManager.getAllTap());
} else if (detailId.equals(new Integer(3))) {
return MapConverter.getDetailMap(detailManager.getAllTransition());
} else if (detailId.equals(new Integer(4))) {
return MapConverter.getDetailMap(detailManager.getAllTee());
} else if (detailId.equals(new Integer(5))) {
return MapConverter.getDetailMap(detailManager.getAllZaglushka());
} else if (detailId.equals(new Integer(6))) {
return MapConverter.getDetailMap(detailManager.getAllFlange());
} else if (detailId.equals(new Integer(7))) {
return MapConverter.getDetailMap(detailManager.getAllArmature());
} else if (detailId.equals(new Integer(8))) {
return MapConverter
.getDetailMap(detailManager.getAllOborudovanie());
}
return null;
}
public boolean testBuildingObject(Integer buildingObjectId,
String currentPath) throws IOException, SQLException {
boolean ok = true;
if (buildingObjectManager.haveNecessaryQuestionsWithOutAnswers(
buildingObjectId, currentPath)) {
ok = false;
}
if (!constructionExampleManager.isInspectionSpent(buildingObjectId,
currentPath)) {
ok = false;
}
return ok;
}
private List<?> groupByRegionNames(List<BuildingObject> buildingObjects){
List buildingObjectTypes = new ArrayList();
String currentRegion = "";
BuildingObjectTypeDTO buildingObjectTypeDTO = new BuildingObjectTypeDTO();
/////
for (int i = 0; i < buildingObjects.size(); i++) {
BuildingObject buildingObject = (BuildingObject) buildingObjects.get(i);
if (i == 0 || (!currentRegion.equals(buildingObject.getRegion()) && !(currentRegion == null) && !currentRegion.trim().equals(""))) {
if (i != 0) {
buildingObjectTypes.add(buildingObjectTypeDTO);
}
buildingObjectTypeDTO = new BuildingObjectTypeDTO();
currentRegion = buildingObject.getRegion();
buildingObjectTypeDTO.setObjectType(currentRegion);
}
buildingObjectTypeDTO.getBuildingObjects().add(buildingObject);
}
buildingObjectTypeDTO.setObjectType(currentRegion);
buildingObjectTypes.add(buildingObjectTypeDTO);
return buildingObjectTypes;
}
private void prepareForView(List<BuildingObject> buildingObjects){
for (int i = 0; i < buildingObjects.size(); i++) {
BuildingObject buildingObject = (BuildingObject) buildingObjects.get(i);
List<?> objectConstructionList = buildingObject.getConstructionTypes();
// OLD buildingObjectManager.getConstructionTypesForTree(buildingObject);
for (int j = 0; j < objectConstructionList.size(); j++) {
ObjectConstruction objectConstruction = (ObjectConstruction) objectConstructionList.get(j);
objectConstruction.setBriefDescription(reduceDescription(objectConstruction.getDescription()));
// objectConstruction.setConstructionExamples(
// constructionExampleManager.getConstructionExamplesLite(
// objectConstruction.getTypeId().toString(), "tree"));
}
// buildingObject.setConstructionTypes(objectConstructionList);
}
}
private String reduceDescription(String description){
if (description == null){
return null;
} else {
return description.length() > 10 ? description.substring(0, 9) + "..." : description;
}
}
@SuppressWarnings("unchecked")
public String[] expandTreeItem(String itemType, Integer itemId) {
/*
<ul class="header-main-links">
<li class="add3"><a target="mainFrame"
href="/vst/editConstructionExample.html?typeId=3479"> </a></li>
<li class="add4"><a target="mainFrame"
href="/vst/constructionDefectZoneForm.html?objectConstructionId=3481"></a>
</li>
<li class="add5"><a target="mainFrame"
href="/vst/editStrength.html?exampleId=357&docLocation=strengths.html?exampleId=701"></a>
</li>
<li class="add6"><a target="mainFrame"
href="/vst/report.html?objectId=4321"></a></li>
</ul>
<a href="#" class="question"></a> <a href="#" class="no-question"
style="display: none;"></a>
*/
// change expandable value
System.out.println("Start AJAX:"+itemType+itemId+"IS NEW");
String outputHtml = "<div class='navigation' >";
String mainMenu = "<ul class='header-main-links'> " +
""+
"<li class='add2'><a target='mainFrame'"+
"href=\"/vst/editBuildingObject.html?edited=1&docLocation=buildingObjects.html\""+
"></a></li>";
// outPutHtml +="<ul class='number-list'>";
//if(isNew){
if(itemType.equals("") || itemType.equals("list")){
itemType="list";
outputHtml += "</div><ul class='number-list'>";
}
if(itemId == null){
itemId=new Integer("-1");
}
List buildingObjects = buildingObjectManager.getBuildingObjectsForTree();
prepareForView(buildingObjects);
List buildingObjectTypes = groupByRegionNames(buildingObjects);
// httpServletRequest.getSession().setAttribute("buildingObjectTypes", buildingObjectTypes);
// }else{
// List buildingObjectTypes = (List) WebContextFactory.get()
// .getHttpServletRequest().getSession()
// .getAttribute("buildingObjectTypes");
// }
BuildingObjectTypeDTO bo = null;
List<BuildingObject> bolist = null;
// Second level selected
if (itemType.equals("buildingObject") || itemType.equals("list")) {
for (Object o : buildingObjectTypes) {
bo = (BuildingObjectTypeDTO) o;
bolist = bo.getBuildingObjects();
for (BuildingObject b : bolist) {
if (b.getObjectId().intValue() == (itemId.intValue())) {
String name = b.getName().trim().toUpperCase();
int k = name.length() / 15;
int l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
if (name.trim().equals(""))
outputHtml += "N/A";
else
outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId().intValue()+"' >"+name.substring(0, l)
+ "</a><br/><span class='next-step' onclick=\"location.href='index.html'\" ></span></div><ul class='number-list'>";
mainMenu += "<li class='add3'><a target='mainFrame'"+
"href='/vst/objectConstructions.html?form=new&objectId="+b.getObjectId()+"'> </a></li>";
List bol = b.getConstructionTypes();
if (bol.size() > 0) {
for (Object o2 : bol) {
ObjectConstruction ct = (ObjectConstruction) o2;
name = ct.getConstructionType().getName();
k = name.length() / 15;
l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
if (name.trim().equals(""))
name = "N/A";
else
name = name.substring(0, l);
outputHtml += "<li onclick=\"ajaxSampleSvc.expandTreeItem('constructionType',";
outputHtml += ct.getTypeId().intValue();
outputHtml += ", processItemChange);\" >";
outputHtml += "<a target='mainFrame' href='objectConstructions.html?objectId=";
outputHtml += ct.getObjectId() + "&typeId=" + ct.getTypeId();
outputHtml += "'>";
outputHtml += name;
outputHtml += "<span>"+ct.getNumberInObject()+"</span>";
outputHtml += "</a>";
// reverse expandable value
// b.setExpandable(!b.isExpandable());
// break;
outputHtml += "</li>";
}
} else {
outputHtml += "<li><a>No items present</a></li><br>";
}
}else if(itemType.equals("list")){
String name = b.getName().trim().toUpperCase();
int k = name.length() / 15;
int l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
if (name.trim().equals(""))
outputHtml += "N/A";
else
outputHtml += "<li onclick=\"ajaxSampleSvc.expandTreeItem('buildingObject',"+b.getObjectId()+", processItemChange);\">";
outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId()+"' >"+name.substring(0, l);
outputHtml += "</a></li>";
} /*
* else { String name = b.getName().trim(); int k =
* name.length() / 15; int l = 0; if (k <= 1) { l =
* name.length(); } else { l = 14; } outputHtml +=
* "<span onclick=\"ajaxSampleSvc.expandTreeItem('buildingObject',"
* ; outputHtml += b.getObjectId().intValue(); outputHtml +=
* ", processItemChange);\" >"; outputHtml +=
* b.getName().trim().substring(0, l); outputHtml +=
* "</span>"; outputHtml +=
* "<br><span class='next-step'></span>";
*
* }
*/
}
}
// Set changed item.
WebContextFactory.get().getHttpServletRequest().getSession()
.setAttribute("buildingObject", buildingObjectTypes);
} else if (itemType.equals("constructionType")) {
for (Object o : buildingObjectTypes) {
bo = (BuildingObjectTypeDTO) o;
bolist = bo.getBuildingObjects();
for (BuildingObject b : bolist) {
List ctl = b.getConstructionTypes();
if (ctl.size() > 0) {
for (Object o2 : ctl) {
ObjectConstruction ct = (ObjectConstruction) o2;
if (isConstructionTypeSelected(ct, itemId)) {
String name = b.getName().trim().toUpperCase();
int k = name.length() / 15;
int l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId().intValue()+"' >"+name.substring(0, l)
+ "</a><br/><span class='next-step' onclick=\"location.href='index.html'\" ></span>";
//outputHtml += "<a href='index.html'>"+name.substring(0, l);
//outputHtml += "</a><br/><span class='next-step'></span>";
outputHtml += "<a href=\"objectConstructions.html?objectId=";
outputHtml += ct.getObjectId().intValue()+ "&typeId=";
outputHtml += ct.getTypeId().intValue();
outputHtml += "\" target='mainFrame' > ";
outputHtml += ct.getConstructionType().getName() +"</a><br/>";
//outputHtml += "<a href='buildingObjects.html?type=one&objectId=";
//outputHtml += ct.getObjectId();
//outputHtml += "' target='mainFrame' >";
//outputHtml += ct.getConstructionType().getName();
outputHtml += "<span onclick=\"ajaxSampleSvc.expandTreeItem('buildingObject',";
outputHtml += ct.getObjectId().intValue();
outputHtml += ", processItemChange);\" class='next-step'></span></div><ul class='number-list'>";
mainMenu += "<li class='add3'><a target='mainFrame'"+
"href='/vst/objectConstructions.html?form=new&objectId="+b.getObjectId()+"'> </a></li>";
List eol = ct.getConstructionExamples();
if(eol.size() > 0){
for (Object ob : eol) {
ConstructionExample ce = (ConstructionExample) ob;
name = ce.getExampleName();
k = name.length() / 15;
l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
if (name.trim().equals(""))
name = "N/A";
else
name = name.substring(0, l);
outputHtml += "<li onclick=\"ajaxSampleSvc.expandTreeItem('constructionExample',";
outputHtml += ce.getExampleId().intValue() ;
outputHtml += ", processItemChange);\" >" ;
outputHtml += "<a target='mainFrame' href='constructionExamples.html?exampleId=";
outputHtml += ce.getExampleId();
outputHtml += "&typeId=";
outputHtml += ce.getObjectConstructionId();
outputHtml += "&objectId="+ct.getObjectId()+"'";
outputHtml += ce.getObjectId();
outputHtml += "'>";
outputHtml += name;
outputHtml += "</a>";
}
}//else{
// outputHtml += "<li><a>No items present</a></li><br>";
//}
}
}
}
}
}
} else if (itemType.equals("constructionExample")
|| (itemType.equals("exampleEdit"))) {
for (Object o : buildingObjectTypes) {
bo = (BuildingObjectTypeDTO) o;
bolist = bo.getBuildingObjects();
for (BuildingObject b : bolist) {
List ctl = b.getConstructionTypes();
if (ctl.size() > 0) {
for (Object o2 : ctl) {
ObjectConstruction ct = (ObjectConstruction) o2;
// if (isConstructionTypeSelected(ct, itemId)) {
List eol = ct.getConstructionExamples();
for (Object ob : eol) {
ConstructionExample ce = (ConstructionExample) ob;
// System.out.print("EID:"+ce.getExampleId());
if (isConstructionExampleSelected(ce, itemId)) {
// Bread Crump
String name = b.getName().trim()
.toUpperCase();
int k = name.length() / 15;
int l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
// + "<br><span class='next-step'></span>";
/*outputHtml + = "<a target='mainFrame' href='objectConstructions.html?objectId=";
outputHtml + = ct.getObjectId() + "&typeId="
+ ct.getTypeId();
outputHtml += "'>";*/
outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId().intValue()+"' >"+name.substring(0, l)
+ "</a><br/><span class='next-step' onclick=\"location.href='buildingObjects.html'\" ></span>";
outputHtml += "<a href=\"objectConstructions.html?objectId=";
outputHtml += ct.getObjectId().intValue()+ "&typeId=";
outputHtml += ct.getTypeId().intValue();
outputHtml += "\" target='mainFrame' > ";
outputHtml += ct.getConstructionType().getName() +"</a><br/><span onclick=\"ajaxSampleSvc.expandTreeItem('constructionType',";
outputHtml += ct.getTypeId().intValue();
outputHtml += ", processItemChange);\" class='next-step'></span></div><ul class='number-list'>";
mainMenu += "<li class='add3'><a target='mainFrame'"+
"href='/vst/objectConstructions.html?form=new&objectId="+b.getObjectId()+"'> </a></li>";
mainMenu += "<li class='add4'><a target='mainFrame'"+
"href='" +
"/vst/constructionDefectZoneForm.html?objectConstructionId=" +ct.getTypeId()+"&objectId="+b.getObjectId()+"&exampleId=" + ce.getExampleId() + "&docLocation=constructionDefects.html?exampleId=" + ce.getExampleId() + "'></a></li>";
name = ce.getExampleName();
k = name.length() / 15;
l = 0;
if (k <= 1) {
l = name.length();
} else {
l = 14;
}
/*if (name.trim().equals(""))
name = "N/A";
else
name = name.substring(0, l);
outputHtml += name;
outputHtml += "<br><span class='next-step'></span>";
*/
// name = ce.getExampleName();
// / Item
if (name.trim().equals(""))
name = "N/A";
else
name = name.substring(0, l);
outputHtml += "<li class='current' onclick=\"ajaxSampleSvc.expandTreeItem('exampleEdit',";
outputHtml += ce.getExampleId().intValue();
outputHtml += ", processItemChange);\" >";
outputHtml += "<a target='mainFrame' href=\"editConstructionExample.html?exampleId=";
outputHtml += ce.getExampleId() + "&typeId=";
outputHtml += ce.getObjectConstructionId() + "\"";
outputHtml += ">";
outputHtml += name;
outputHtml += "</a>";
}
}
}
}//else{
// outputHtml += "<li><a>No items present</a></li><br>";
//}
}
}
}
outputHtml += "</ul>";
mainMenu += "</ul>";
String a[]={"No Items","No Items"};
a[0]=outputHtml;
a[1]= mainMenu;
//System.out.println("AJAX:"+outputHtml);
return a;
}
boolean isConstructionTypeSelected(ObjectConstruction ct, Integer itemId) {
// check selected ID
if (ct.getTypeId().intValue() == (itemId.intValue())) {
return true;
}
return false;
}
boolean isConstructionExampleSelected(ConstructionExample ce, Integer itemId) {
// check selected ID
if (ce.getExampleId().intValue() == (itemId.intValue())) {
// System.out.println("true ");
return true;
}
return false;
}
}