/** * Factory of the class * * @param id * id of the class PowerTransformer to create * @return the class created */ public static PowerTransformer create(final String id) { PowerTransformer newPowerTransformer = new PowerTransformer(); newPowerTransformer.setId(id); return newPowerTransformer; }
/** * Utility to set the "memberOf_PowerTransformerValue" * * @param memberOf_PowerTransformerValue * instance to set * @param setInverse * boolean to specify whether to set the inverse association * or not * @throws LinkageException */ public void setMemberOf_PowerTransformer( PowerTransformer memberOf_PowerTransformerValue, boolean setInverse) throws LinkageException { this.memberOf_PowerTransformer = memberOf_PowerTransformerValue; this.currentBitset.set(6); if (setInverse) { if (memberOf_PowerTransformerValue != null) { memberOf_PowerTransformerValue.addContains_TransformerWindings(this, false); } } }
/** * Utility to "clear" the content of a class when a subset is invalidated * * @param subset subset to clean */ @Override public void clearContent(Subset subset) { // First of all, we clear the associations: this.clearAssociations(subset); switch (subset) { default: // nothing to clear } }
message.append(this.getId()); message.append("\" is not consistent in this context:\n");
private void createTransfos(Network network, Set<String> noOperationalLimitInOperationalLimitSet, List<RatioTapChangerToCreate> ratioTapChangerToCreateList) { for (cim1.model.PowerTransformer pt : cimModel.getId_PowerTransformer().values()) { LOGGER.trace("Create power transformer {}", namingStrategy.getId(pt)); List<cim1.model.TransformerWinding> windings = pt.getContains_TransformerWindings(); if (windings.size() == 2) { cim1.model.TransformerWinding tw1 = windings.get(0); cim1.model.TransformerWinding tw2 = windings.get(1); create2WTransfos(pt, tw1, tw2, network, noOperationalLimitInOperationalLimitSet, ratioTapChangerToCreateList); } else if (windings.size() == 3) { List<cim1.model.TransformerWinding> sortedWindings = new ArrayList<>(3); sortedWindings.add(windings.get(0)); sortedWindings.add(windings.get(1)); sortedWindings.add(windings.get(2)); Collections.sort(sortedWindings, new Comparator<cim1.model.TransformerWinding>() { @Override public int compare(cim1.model.TransformerWinding tw1, cim1.model.TransformerWinding tw2) { return (int) (tw2.getRatedU() - tw1.getRatedU()); } }); cim1.model.TransformerWinding tw1 = sortedWindings.get(0); cim1.model.TransformerWinding tw2 = sortedWindings.get(1); cim1.model.TransformerWinding tw3 = sortedWindings.get(2); create3WTransfos(pt, tw1, tw2, tw3, network, noOperationalLimitInOperationalLimitSet, ratioTapChangerToCreateList); } else { throw new CIM1Exception("Inconsistent power transformer found (" + pt.getId() + "): only 2 or 3 windings are supported"); } } }
xmlsw.writeAttribute(CIMModel.rdfURI, "ID", getId()); errorMessage.append("PowerTransformer "); errorMessage.append("which ID has been initialized to : "); errorMessage.append(getId()); LOGGER.error(errorMessage.toString()); LOGGER.error(e.toString(), e); writeClass(xmlsw); super.write(xmlsw, false); errorMessage.append("PowerTransformer "); errorMessage.append("which ID has been initialized to : "); errorMessage.append(getId()); LOGGER.error(errorMessage.toString()); LOGGER.error(e.toString(), e); try { xmlsw.writeStartElement(CIMURI.CIMURI, "PowerTransformer"); xmlsw.writeAttribute(CIMModel.rdfURI, "ID", getId()); errorMessage.append("PowerTransformer "); errorMessage.append("which ID has been initialized to : "); errorMessage.append(getId()); errorMessage.append(" in the subset "); errorMessage.append("Equipment"); writeClass(xmlsw); super.write(xmlsw, subset, false);
PowerTransformer newPowerTransformer = new PowerTransformer(); PowerTransformer value = entry.getValue(); newPowerTransformer = value; this.id_PowerTransformer.put(newPowerTransformer.getId(), newPowerTransformer); this.allInstances.put(newPowerTransformer.getId(), newPowerTransformer); newMap.put(newPowerTransformer.getId(), newPowerTransformer); this.subsetsInstances.put( .put(newPowerTransformer.getId(), newPowerTransformer);
PowerTransformer attributeToSetFromBoundary = boundaryModel.searchPowerTransformer(idMemberOf_PowerTransformer); if(attributeToSetFromBoundary != null) { attributeToSetFromBoundary.setFromBoundary(true); try { model.createPowerTransformer(idMemberOf_PowerTransformer, attributeToSetFromBoundary); throw new LinkageException(e.getMessage()); attributeToSetFromBoundary.resolveLinks(model, boundaryModel); } else { StringBuilder errorMessage = new StringBuilder(
message.append(getMessageForConsistency(this.minBitsets.get(subset)));
/** * Utility returning a copy of the "base" of this instance * This utility does not copy the associations with other instances * * @return a clone of this instance */ public PowerTransformer clone() { PowerTransformer newInstance = new PowerTransformer(this); PowerTransformer newInstanceSP = newInstance; return newInstanceSP; }
/** * Copy constructor * The associations with other objects are not copied * * @param PowerTransformer * the reference to the class to copy * @return the class constructed */ private PowerTransformer(final PowerTransformer otherPowerTransformer) { // TODO : check exception safe this.copyBase(otherPowerTransformer); }
/** * Utility to resolve the links at the end of parsing * * @param model * the model this class belongs to * @param boundaryModel * the model that gather data about the boundarySet, used * as a resource force links resolving * @throws Linkage Exception */ @Override public void resolveLinks(CIMModel model, CIMModel boundaryModel) throws LinkageException { // TODO : implement vectors (not required according to CIM // specifications) super.resolveLinks(model, boundaryModel); removeFromUnresolved(); }
for (cim1.model.TransformerWinding tw : pt.getContains_TransformerWindings()) { cim1.model.Terminal t = tw.terminals.get(0); cim1.model.TopologicalNode tn = t.getTopologicalNode(); } else if (t.getConductingEquipment() instanceof cim1.model.TransformerWinding) { cim1.model.TransformerWinding tw = (cim1.model.TransformerWinding) t.getConductingEquipment(); if (tw.getMemberOf_PowerTransformer().getContains_TransformerWindings().size() != 2) { throw new CIM1Exception("XNODE connected to a 3 windings transformer not supported");
/** * Utility to return the content of this class into the CIM XML format * * @param xmlsw * the stream in which are stored the elements to write */ private void writeClass(XMLStreamWriter xmlsw) { if (currentBitset.get(0)) { for (TransformerWinding contains_TransformerWindings : this.contains_TransformerWindings){ try { xmlsw.writeEmptyElement(CIMURI.CIMURI,"PowerTransformer.Contains_TransformerWindings"); xmlsw.writeAttribute(CIMModel.rdfURI, "resource", "#" + contains_TransformerWindings.getId()); } catch (XMLStreamException e) { StringBuilder errorMessage = new StringBuilder( "Error while trying to write the reference to "); errorMessage.append("PowerTransformer "); errorMessage.append("which ID has been initialized to : "); errorMessage.append(getId()); errorMessage.append(" in the subset "); errorMessage.append("Equipment"); LOGGER.error(errorMessage.toString()); LOGGER.error(e.toString(), e); } } } return; }
message.append(getMessageForConsistency(this.minBitset));
this.idMemberOf_PowerTransformer = memberOf_PowerTransformerAssociation.getId();
if (tw2.ratioTapChangerIsSet()) { throw new CIM1Exception("Unsupported modelling: transformer with two ratio tap changer" + pt.getId()); if (tw2.phaseTapChangerIsSet()) { throw new CIM1Exception("Unsupported modelling: transformer with two phase tap changer" + pt.getId()); + pt.getId()); throw new CIM1Exception("Not supported: transformer '" + pt.getId() + "' connected to XNODE " + tn1.getId() + "(" + findUcteXnodeCode(tn1) + ")"); } else if (isXNode(tn2)) { throw new CIM1Exception("Not supported: transformer '" + pt.getId() + "' connected to XNODE " + tn2.getId() + "(" + findUcteXnodeCode(tn2) + ")"); } else {