I'm doing a project for studying. There is an agent with 2 variables that take the value True or False using the randomTrue() function. The construction of the project does not reveal errors. At startup, it throws an error when executing a discrete event:NullPointerException. Not a single agent was entered into the system. On source 0. I tried to change agents, changed randomTrue() to randomFalse(), with no results. What are the options?
NullPointerException
java.lang.NullPointerException
at com.anylogic.engine.Utilities.randomTrue(Unknown Source)
at bank.Document.<init>(Document.java:78)
at bank.Main._doc_enter_newEntity_xjal(Main.java:978)
at bank.Main.access$0(Main.java:975)
at bank.Main$1.newEntity(Main.java:312)
at com.anylogic.libraries.processmodeling.Source.inject(Unknown Source)
at com.anylogic.libraries.processmodeling.Source.executeActionOf(Unknown Source)
at com.anylogic.engine.EventTimeout.execute(Unknown Source)
at com.anylogic.engine.Engine.i(Unknown Source)
at com.anylogic.engine.Engine.if(Unknown Source)
at com.anylogic.engine.Engine.e(Unknown Source)
at com.anylogic.engine.Engine$n.run(Unknown Source)
package bank;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Currency;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Locale;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Random;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.Stack;
import java.util.Timer;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Vector;
import java.awt.Color;
import java.awt.Font;
import com.anylogic.engine.connectivity.ResultSet;
import com.anylogic.engine.connectivity.Statement;
import com.anylogic.engine.elements.*;
import com.anylogic.engine.markup.Network;
import com.anylogic.engine.Position;
import com.anylogic.engine.markup.PedFlowStatistics;
import com.anylogic.engine.markup.DensityMap;
import static java.lang.Math.*;
import static com.anylogic.engine.UtilitiesArray.*;
import static com.anylogic.engine.UtilitiesCollection.*;
import static com.anylogic.engine.presentation.UtilitiesColor.*;
import static com.anylogic.engine.HyperArray.*;
import com.anylogic.engine.*;
import com.anylogic.engine.analysis.*;
import com.anylogic.engine.connectivity.*;
import com.anylogic.engine.database.*;
import com.anylogic.engine.gis.*;
import com.anylogic.engine.markup.*;
import com.anylogic.engine.routing.*;
import com.anylogic.engine.presentation.*;
import com.anylogic.engine.gui.*;
import com.anylogic.libraries.modules.markup_descriptors.*;
import com.anylogic.libraries.processmodeling.*;
import com.anylogic.libraries.material_handling.*;
import java.awt.geom.Arc2D;
public class Document extends Agent
{
// Parameters
// Plain Variables
public final
boolean
is_simple =
randomTrue(0.6)
;
public final
boolean
has_critical_errors =
randomTrue(0.1)
;
@AnyLogicInternalCodegenAPI
private static Map<String, IElementDescriptor> elementDesciptors_xjal = createElementDescriptors( Document.class );
@AnyLogicInternalCodegenAPI
@Override
public Map<String, IElementDescriptor> getElementDesciptors() {
return elementDesciptors_xjal;
}
@AnyLogicCustomProposalPriority(type = AnyLogicCustomProposalPriority.Type.STATIC_ELEMENT)
public static final Scale scale = new Scale( 10.0 );
@Override
public Scale getScale() {
return scale;
}
/** Internal constant, shouldn't be accessed by user */
@AnyLogicInternalCodegenAPI
protected static final int _STATECHART_COUNT_xjal = 0;
// View areas
public ViewArea _origin_VA = new ViewArea( this, "[Origin]", 0, 0, 1500.0, 600.0 );
@Override
@AnyLogicInternalCodegenAPI
public int getViewAreas(Map<String, ViewArea> _output) {
if ( _output != null ) {
_output.put( "_origin_VA", this._origin_VA );
}
return 1 + super.getViewAreas( _output );
}
@AnyLogicInternalCodegenAPI
protected static final Pair<String, Color>[] _person_customColors_xjal = new Pair[] {
new Pair<String, Color>( "Material__3__Surf", null ),
new Pair<String, Color>( "Material__5__Surf", null ),
new Pair<String, Color>( "Material__6__Surf", null ),
new Pair<String, Color>( "Material__2__Surf", null ),
new Pair<String, Color>( "Material__4__Surf", null ),
new Pair<String, Color>( "Material__1__Surf", null ),
};
@AnyLogicInternalCodegenAPI
protected static final int _person = 1;
/** Internal constant, shouldn't be accessed by user */
@AnyLogicInternalCodegenAPI
protected static final int _SHAPE_NEXT_ID_xjal = 2;
@AnyLogicInternalCodegenAPI
public boolean isPublicPresentationDefined() {
return true;
}
@AnyLogicInternalCodegenAPI
public boolean isEmbeddedAgentPresentationVisible( Agent _a ) {
return super.isEmbeddedAgentPresentationVisible( _a );
}
@AnyLogicInternalCodegenAPI
private void _initialize_level_xjal() {
level.addAll(person);
}
protected Shape3DObject person;
protected com.anylogic.engine.markup.Level level;
private com.anylogic.engine.markup.Level[] _getLevels_xjal;
@Override
public com.anylogic.engine.markup.Level[] getLevels() {
return _getLevels_xjal;
}
@AnyLogicInternalCodegenAPI
private void _createPersistentElementsBP0_xjal() {
person = new Shape3DObject(
Document.this, SHAPE_DRAW_2D3D, true, 0.0, 0.0, 0.0, 0.0,
1.0, true, "/bank/",
"3d/person.dae", OBJECT_3D_YZX_AXIS_ORDER, OBJECT_3D_INTERNAL_LIGHTING_OFF, false, -5.0, -4.0,
7.0, 7.0, null, _person_customColors_xjal );
}
@AnyLogicInternalCodegenAPI
private void _createPersistentElementsAP0_xjal() {
}
@AnyLogicInternalCodegenAPI
private void _createPersistentElementsBS0_xjal() {
}
// Static initialization of persistent elements
private void instantiatePersistentElements_xjal() {
level = new com.anylogic.engine.markup.Level(this, "level", SHAPE_DRAW_2D3D, 0.0, true, true);
_getLevels_xjal = new com.anylogic.engine.markup.Level[] {
level };
_createPersistentElementsBP0_xjal();
}
protected ShapeTopLevelPresentationGroup presentation;
protected ShapeModelElementsGroup icon;
@Override
@AnyLogicInternalCodegenAPI
public ShapeTopLevelPresentationGroup getPresentationShape() {
return presentation;
}
@Override
@AnyLogicInternalCodegenAPI
public ShapeModelElementsGroup getModelElementsShape() {
return icon;
}
/**
* Constructor
*/
public Document( Engine engine, Agent owner, AgentList<? extends Document> ownerPopulation ) {
super( engine, owner, ownerPopulation );
instantiateBaseStructureThis_xjal();
}
@AnyLogicInternalCodegenAPI
public void onOwnerChanged_xjal() {
super.onOwnerChanged_xjal();
setupReferences_xjal();
}
@AnyLogicInternalCodegenAPI
public void instantiateBaseStructure_xjal() {
super.instantiateBaseStructure_xjal();
instantiateBaseStructureThis_xjal();
}
@AnyLogicInternalCodegenAPI
private void instantiateBaseStructureThis_xjal() {
instantiatePersistentElements_xjal();
setupReferences_xjal();
}
@AnyLogicInternalCodegenAPI
private void setupReferences_xjal() {
}
/**
* Simple constructor. Please add created agent to some population by calling goToPopulation() function
*/
public Document() {
}
@Override
@AnyLogicInternalCodegenAPI
public void doCreate() {
super.doCreate();
// Assigning initial values for plain variables
setupPlainVariables_Document_xjal();
// Dynamic initialization of persistent elements
_createPersistentElementsAP0_xjal();
_initialize_level_xjal();
level.initialize();
presentation = new ShapeTopLevelPresentationGroup( Document.this, true, 0, 0, 0, 0 , level );
icon = new ShapeModelElementsGroup( Document.this, getElementProperty( "bank.Document.icon", IElementDescriptor.MODEL_ELEMENT_DESCRIPTORS ) );
icon.setIconOffsets( 0.0, 0.0 );
// Port connectors with non-replicated objects
// Creating replicated embedded objects
setupInitialConditions_xjal( Document.class );
// Dynamic initialization of persistent elements
_createPersistentElementsBS0_xjal();
}
@Override
@AnyLogicInternalCodegenAPI
public void doStart() {
super.doStart();
}
/**
* Assigning initial values for plain variables<br>
* <em>This method isn't designed to be called by user and may be removed in future releases.</em>
*/
@AnyLogicInternalCodegenAPI
public void setupPlainVariables_xjal() {
setupPlainVariables_Document_xjal();
}
/**
* Assigning initial values for plain variables<br>
* <em>This method isn't designed to be called by user and may be removed in future releases.</em>
*/
@AnyLogicInternalCodegenAPI
private void setupPlainVariables_Document_xjal() {
}
// User API -----------------------------------------------------
@AnyLogicInternalCodegenAPI
public static LinkToAgentAnimationSettings _connections_commonAnimationSettings_xjal = new LinkToAgentAnimationSettingsImpl( false, black, 1.0, LINE_STYLE_SOLID, ARROW_NONE, 0.0 );
public LinkToAgentCollection<Agent, Agent> connections = new LinkToAgentStandardImpl<Agent, Agent>(this, _connections_commonAnimationSettings_xjal);
@Override
public LinkToAgentCollection<? extends Agent, ? extends Agent> getLinkToAgentStandard_xjal() {
return connections;
}
@AnyLogicInternalCodegenAPI
public void drawLinksToAgents(boolean _underAgents_xjal, LinkToAgentAnimator _animator_xjal) {
super.drawLinksToAgents(_underAgents_xjal, _animator_xjal);
if ( _underAgents_xjal ) {
_animator_xjal.drawLink( this, connections, true, true );
}
}
public AgentList<? extends Document> getPopulation() {
return (AgentList<? extends Document>) super.getPopulation();
}
public List<? extends Document> agentsInRange( double distance ) {
return (List<? extends Document>) super.agentsInRange( distance );
}
}
[run model] : https://i.stack.imgur.com/8vGA4.jpg