Android: Room dao returning null

I have a simple RecyclerView list of CardViews that is working fine. I am trying to filter the list when the user selects a specific “type” of CardView. The app is crashing with Logcat error saying the filteredList0 is a null object reference. However, I know from the full RecyclerView list View and from the database data that there are a number of the specific CardViews that should be showing up in the filtered View. I suspect that the AsyncTask() in the Repository is not returning a filtered List. What am I missing here?

public class MainActivity extends AppCompatActivity      private List<Card> filteredModelList0 = null;      ...     public void onClickFilterList(View view) {      final AlertDialog.Builder alertDialogFilter = new AlertDialog.Builder(MainActivity.this);     LayoutInflater inflaterFilter = getLayoutInflater();     final ViewGroup nullParent = null;     final View dialogLayoutFilter = inflaterFilter.inflate(layout.filter_main_aldialog, nullParent);     alertDialogFilter.setView(dialogLayoutFilter);     final AlertDialog dialogFilter = alertDialogFilter.create();     dialogFilter.show();      TextView allDos = dialogLayoutFilter.findViewById(id.AllDos);     allDos.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View v) {             filteredModelList0 = mViewModel.filterListCardTypeDo();             adapter.setFilter(filteredModelList0);                             dialogFilter.dismiss();   MainViewModel.java ... List<Card> filterListCardTypeDo() {     return repository.filterDo(); }   QuickcardRepository ...  public List<Card> filterDo() {      new FilterDoAsyncTask(quickcardDao).execute();     return null; *** is this the problem? }   private static class FilterDoAsyncTask extends AsyncTask<Void, Void, List<Card>> {      private QuickcardDao asyncTaskDao2;      FilterDoAsyncTask(QuickcardDao dao) {         asyncTaskDao2 = dao;     }      @Override     protected List<Card> doInBackground(Void... voids) {         return asyncTaskDao2.filterListCardTypeDo();     } }  CardDao ...  @Query("SELECT * FROM cards WHERE cardType IN ('Do')") List<Card> filterListCardTypeDo();       Adapter ... public void setFilter(List<Card> listItems) {     cardList = new ArrayList<>();     cardList.addAll(listItems);     notifyDataSetChanged(); }  

Magneto Shipping country ID is shown as NULL in the reports

I’m using PostgreSQL in my data ware house for my reporting purposes, for a certain report i have to show the sum of revenue for each month grouped by country.But when i pulled the report the shipping_country_id is showing as null for the last two months(previous months it seems fine – Facing the problem from 2019,April onwards).

When i cross checked there are about 36000 orders having the shipping country ID as null in the database side, but in the magento portal it is showing correctly.

So i’m not sure the table where which im taking the data is correct or not ? If there is any alternative tables or columns to look for?

Any help will be deeply appreciated ! Thanks in advance.

Note: currently using magento 1.7 (in the process of upgrading it to 2)

Below is the query i’m using,

select shipping_address_id,billing_address_id from  sales_flat_order  where entity_id=537273 ; --- The result of this query is      1074074(shipping_address_id),1074073(billing_address_id)  SELECT * FROM sales_flat_order_address    where entity_id =   1074074 or entity_id=1074073 ;  -- The above query is showing nothing. 

How to fix “java.lang.NullPointerException: null object reference”

I am creating a chat app in which users can chat in the form groups. when I open a group and send a messege/app recieves a message the error:”ava.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference at com.satyamedh.chitchatmessenger.messageAdapterForGroups$ override.onBindViewHolder(messageAdapterForGroups.java:75) at com.satyamedh.chitchatmessenger.messageAdapterForGroups$ override.access$ dispatch(Unknown Source:112) at com.satyamedh.chitchatmessenger.messageAdapterForGroups.onBindViewHolder(Unknown Source:23) at com.satyamedh.chitchatmessenger.messageAdapterForGroups.onBindViewHolder(messageAdapterForGroups.java:18)” pops up in the logcat and the app crashes

I have checked the code, no errors. I don’t think it’s a error in the class:messages.java. so I am not going to post that. I think it’s something to do with the message type, which is text because I have not implimented images ect.

I can’t find the error. so I am pasting everything in the class. sorry.

GroupChatActivity.java:

private String name, profileImage, recUID, currentUID;      private DatabaseReference rootRef;      private TextView usersname;     private CircleImageView profileImageView;      private ImageButton imageButtonsend;     private EditText editTextmessage;     private RecyclerView mRecyclerView;      private List<messages> messageList = new ArrayList<>();     private messageAdapterForGroups messageAdapterForGroups;       @Override     protected void onCreate(Bundle savedInstanceState)     {          super.onCreate(savedInstanceState);         setContentView(R.layout.activity_group_chat);          initializeFields();             recUID = getIntent().getExtras().get("groupUID").toString();         FirebaseDatabase.getInstance().getReference().child("Groups").child(recUID).child("Group info").addValueEventListener(new ValueEventListener() {             @Override             public void onDataChange(@NonNull DataSnapshot dataSnapshot)             {                 name = dataSnapshot.child("group name").getValue().toString();                 if (dataSnapshot.hasChild("group image")) {                 profileImage = name = dataSnapshot.child("group image").getValue().toString();                 }              }              @Override             public void onCancelled(@NonNull DatabaseError databaseError) {              }         });         name = FirebaseDatabase.getInstance().getReference().child("Groups").child(recUID).child("Group info").child("group name").toString();         getSupportActionBar().setTitle(name);               usersname.setText(name);         Picasso.get().load(profileImage).placeholder(R.drawable.profile_image).into(profileImageView);          View.OnClickListener imgbtnclcklisnerforsendmsgbtn = new View.OnClickListener() {             @Override             public void onClick(View v)             {                 sendMessage();             }         };         imageButtonsend.setOnClickListener(imgbtnclcklisnerforsendmsgbtn);               }            private void sendMessage()     {         String message = editTextmessage.getText().toString();         if (!TextUtils.isEmpty(message))         {               DatabaseReference userMessageKeyRef = rootRef.child("Groups")                     .child(recUID).child("Messages").push();              String key = userMessageKeyRef.getKey();             Calendar calForDate =  Calendar.getInstance();             @SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM, yyyy");             String currentDate =  simpleDateFormat.format(calForDate.getTime());              Calendar calForTime =  Calendar.getInstance();             @SuppressLint("SimpleDateFormat") SimpleDateFormat simpleTimeFormat = new SimpleDateFormat("hh:mm:ss a");             String currentTime =  simpleTimeFormat.format(calForTime.getTime());               Map<String, Object> messageTextBody = new HashMap<>();             messageTextBody.put("message", message);             messageTextBody.put("type", "text");             messageTextBody.put("from", currentUID);             messageTextBody.put("date", currentDate);             messageTextBody.put("time", currentTime);                  userMessageKeyRef.child(key).updateChildren(messageTextBody).addOnCompleteListener(new OnCompleteListener() {                 @Override                 public void onComplete(@NonNull Task task)                 {                     if (task.isSuccessful())                          Toast.makeText(GroupChatActivity.this, "Message sent successfully", Toast.LENGTH_SHORT).show();                     else                     {                         String error = task.getException().toString();                         Toast.makeText(GroupChatActivity.this, "Error: " + error, Toast.LENGTH_SHORT).show();                     }                     editTextmessage.setText("");                 }             });              }         else         {             Toast.makeText(this, "Please enter message first...", Toast.LENGTH_SHORT).show();         }     }       @Override     protected void onStart()     {         super.onStart();         updateUserStatus("online");           rootRef.child("Groups").child(recUID).child("Messages").addChildEventListener(new ChildEventListener() {             @Override             public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s)             {                    messages mess = dataSnapshot.getValue(messages.class);                  messageList.add(mess);                  messageAdapterForGroups.notifyDataSetChanged();                   mRecyclerView.smoothScrollToPosition(mRecyclerView.getAdapter().getItemCount());              }              @Override             public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s)             {              }              @Override             public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {              }              @Override             public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {              }              @Override             public void onCancelled(@NonNull DatabaseError databaseError) {              }         });         }      private void initializeFields()     {          mRecyclerView = findViewById(R.id.group_messages);          FirebaseAuth mAuth = FirebaseAuth.getInstance();         currentUID = mAuth.getCurrentUser().getUid();         rootRef = FirebaseDatabase.getInstance().getReference();           androidx.appcompat.widget.Toolbar mToolbar = findViewById(R.id.group_chat_bar_layout);         setSupportActionBar(mToolbar);         getSupportActionBar().setDisplayHomeAsUpEnabled(true);         getSupportActionBar().setDisplayShowCustomEnabled(true);          LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);         @SuppressLint("InflateParams") View customChatView = layoutInflater.inflate(R.layout.costom_chat_bar, null);          getSupportActionBar().setCustomView(customChatView);          usersname = findViewById(R.id.custom_name);         profileImageView = findViewById(R.id.customprofileimage);          imageButtonsend = findViewById(R.id.send_message_button);         editTextmessage = findViewById(R.id.input_group_message);            messageAdapterForGroups = new messageAdapterForGroups(messageList);          LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);         mRecyclerView.setLayoutManager(linearLayoutManager);         mRecyclerView.setAdapter(messageAdapterForGroups);            }        @Override     protected void onStop()     {         super.onStop();            updateUserStatus("offline");        }      @Override     protected void onDestroy()     {         super.onDestroy();           updateUserStatus("offline");        }       private void updateUserStatus(String state)     {         Calendar calForDate =  Calendar.getInstance();         @SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM, yyyy");         String  currentDate =  simpleDateFormat.format(calForDate.getTime());          Calendar calForTime =  Calendar.getInstance();         @SuppressLint("SimpleDateFormat") SimpleDateFormat simpleTimeFormat = new SimpleDateFormat("hh:mm:ss a");         String  currentTime =  simpleTimeFormat.format(calForTime.getTime());          HashMap<String, Object> onlineState = new HashMap<>();         onlineState.put("time", currentTime);         onlineState.put("date", currentDate);         onlineState.put("state", state);          rootRef.child("Users").child(currentUID).child("userState")                 .updateChildren(onlineState);       }      @Override     protected void onRestart()     {          super.onRestart();             mRecyclerView.removeAllViewsInLayout();         messageAdapterForGroups.notifyDataSetChanged();      } 

MessageAdapterForGroups:

private List<messages> userMessageList;     private FirebaseAuth mAuth;      public messageAdapterForGroups(List<messages> userMessageList) {         this.userMessageList = userMessageList;     }      public class messageViewHolder extends RecyclerView.ViewHolder {          public TextView receivermessage, recievertime, recieverdate, sendermessage, sendertime, senderdate;         public CircleImageView receiverProfileImage;           public messageViewHolder(@NonNull View itemView) {             super(itemView);              receivermessage = itemView.findViewById(R.id.reciever_message_text);             recieverdate = itemView.findViewById(R.id.reciever_message_date);             recievertime = itemView.findViewById(R.id.reciever_message_time);             sendermessage = itemView.findViewById(R.id.sender_message_text);             senderdate =  itemView.findViewById(R.id.sender_message_date);             sendertime =  itemView.findViewById(R.id.sender_message_time);             receiverProfileImage = itemView.findViewById(R.id.message_profile_image);             receiverProfileImage.setVisibility(View.INVISIBLE);          }      }      @NonNull     @Override     public messageAdapter.messageViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i)     {         View view = LayoutInflater                 .from(viewGroup.getContext())                 .inflate(R.layout.custom_messages_layout, viewGroup, false);           mAuth = FirebaseAuth.getInstance();          return new messageAdapter.messageViewHolder(view);     }      @Override     public void onBindViewHolder(@NonNull final messageAdapter.messageViewHolder messageViewHolder, int i)     {         String senderUserID = mAuth.getCurrentUser().getUid();         messages messagees = userMessageList.get(i);          String fromUserID = messagees.getFrom();         String fromMessageType = messagees.getType();              if (fromMessageType.equals("text"))         {             messageViewHolder.receivermessage.setVisibility(View.INVISIBLE);             messageViewHolder.recievertime.setVisibility(View.INVISIBLE);             messageViewHolder.recieverdate.setVisibility(View.INVISIBLE);             messageViewHolder.sendermessage.setVisibility(View.INVISIBLE);             messageViewHolder.senderdate.setVisibility(View.INVISIBLE);             messageViewHolder.sendertime.setVisibility(View.INVISIBLE);             messageViewHolder.sendermessage.setVisibility(View.INVISIBLE);               if (fromUserID.equals(senderUserID))             {                 messageViewHolder.senderdate.setVisibility(View.VISIBLE);                 messageViewHolder.sendertime.setVisibility(View.VISIBLE);                 messageViewHolder.sendermessage.setVisibility(View.VISIBLE);                 messageViewHolder.sendermessage.setBackgroundResource(R.drawable.sender_messages_layout);                 messageViewHolder.sendermessage.setText(messagees.getMessage());                 messageViewHolder.sendertime.setText(messagees.getTime());                 messageViewHolder.senderdate.setText(messagees.getDate());             }             else             {                   messageViewHolder.receivermessage.setVisibility(View.VISIBLE);                 messageViewHolder.recievertime.setVisibility(View.VISIBLE);                 messageViewHolder.recieverdate.setVisibility(View.VISIBLE);                  messageViewHolder.receivermessage.setBackgroundResource(R.drawable.reciever_messages_layout);                 messageViewHolder.receivermessage.setText(messagees.getMessage());                 messageViewHolder.recievertime.setText(messagees.getTime());                 messageViewHolder.recieverdate.setText(messagees.getDate());              }           }      }      @Override     public int getItemCount()     {         return userMessageList.size();     } 

it should show the messages but instead of that the error pops up. can anyone help me?

Multiple null Checks or try/catch NullPointerException

There is A LOT of information online stating that you should NEVER catch a NullPointerException. Generally I agree, but I am wondering about this one case.

I have inherited code that requires me to access data that I need in the following way

context.getGrandParent().getParent().getChild().isRequired() 

There is no guarantee that any of the objects in this hierarchy will not be null. I have to enter a block if isRequired() returns true. First, and what I initially wrote, with null checks:

if(context != null    && context.getGrandParent() != null    && context.getGrandParent().getParent() != null    && context.getGrandParent().getParent().getChild() != null     && context.getGrandParent().getParent().getChild().isRequired() ){    // continue with business logic } else {    LOG.error("Unable to determine if processing is required."); }     // continue with other inherited code 

Setting aside that I could refactor this, perhaps for readability, wouldn’t it make more sense to do the following?

boolean isRequired = false; try {    isRequired = context.getGrandParent().getParent().getChild().isRequired(); } catch (NullPointerException npe) {    LOG.error("Unable to determine if processing is required."); }  if(isRequired){    // continue with business logic } // continue with other inherited code 

Al interceptar la petición SOAP con AbstractSoapInterceptor el message.getContent() siempre es NULL

tengo un problema tratando de extraer el body de una petición SOAP para posteriormente mostrarla por consola, el problema es el siguiente:

Al momento de hacer @override del metodo handleMessage (AbstractSoapInterceptor) y hacer el message.getContent(); siempre es NULL.

El código que estoy implementando es el siguiente:

@Slf4j @Component public class MyClass extends AbstractSoapInterceptor {      @Autowired     private Tracer tracer;      public MyClass() {         super(Phase.MARSHAL);     }      @Override     public void handleMessage(SoapMessage message) throws Fault {         try {             SOAPMessage soapMessage = message.getContent(SOAPMessage.class);             } catch (IOException | SOAPException e) {             log.error("Error interceptando el request", e);         }      } } 

Condicional con include y null

Tipico juego de un grid y un elemento que se mueve por la matriz.

Tengo una función que chequea el array de dos dimensiones, en el cual, le paso 2 parámetros x e y.

El array donde tengo que mirar esos dos parametros es una matriz llamada `grid.

La función que chequea:

function canMove(x,y){   var direction = rovers[actualRover].direction;    switch(direction){     case 'N':     if(grid[x - 1][y] === 'obstacle'){       console.log('Ups! You can\'t forward in this direction, there is a obstacle.');       return false;     }else if(grid[x - 1][y].includes('rover')){       console.log('Ups! You can\'t forward in this direction, there is an another Rover.');       return false;     }else if(grid[x - 1] <= 0){       console.log('Ups! You can\'t exit outside of area!');       return false;     }else if(grid[x - 1][y] === null){       return true;     }   } } 

La función chequea si la dirección es ‘N’, tiene que mirar un valor por encima del array para ver si tiene o no obstáculo. Si tiene obstaculo o un rover no puede pasar o se sale del grid, no puede moverse. Sin embargo si me encuentro con un null, sí.

Me salta un error: Error en la consola: Cannot read property 'includes' of null

Dejo el código al completo para que se reproduzca el error.

var roverOne = {   direction: 'N',   x: 0,   y: 0,   travelLog: [],   nombre: 'roverOne' } var roverTwo = {   direction: 'N',   x: 9,   y: 9,   travelLog:[],   nombre: 'roverTwo' } var roverThree = {   direction: 'N',   x: 9,   y:0,   travelLog:[],   nombre: 'roverThree' } var roverFour = {   direction: 'N',   x: 0,   y: 9,   travelLog: [],   nombre: 'roverFour' }  var rovers = [roverOne, roverTwo, roverThree, roverFour]; var actualRover = 0;  function changeRover(){   actualRover++;   if(actualRover > rovers.length){     actualRover = 0;   } } var grid = [   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null],   [null, null , null , null, null, null, null, null, null, null], ]; function getRandomNum(){   return Math.floor(Math.random() * 10); }  function initGame(){   for(var i =0 ; i < 4; i++){ // Creamos 4 Rovers     var x = getRandomNum();     var y = getRandomNum();     grid[x][y] = rovers[i].nombre; // Movemos los nombres de los rovers a las coordenadas generadas     rovers[i].x = x; // cambiamos eje X e Y en la variable del rover, asignadoles las que están en el grid     rovers[i].y = y;    }   for(var i = 0; i < 8; i++){ // Creamos 8 obstaculos     grid[getRandomNum()][getRandomNum()] = 'obstacle';   }  } initGame(); // Iniciamos el juego, creando los rovers y los obstáculos  function turnLeft(roverDirection){   switch(roverDirection){     case 'N':     rovers[actualRover].direction = 'W';     break;      case 'W':     rovers[actualRover].direction = 'S';     break;        case 'S':     rovers[actualRover].direction = 'E';     break;      case 'E':     rovers[actualRover].direction = 'N'   } }  function turnRight(roverDirection){   switch(roverDirection){     case 'N':     rovers[actualRover].direction = 'E';     break;      case 'E':     rovers[actualRover].direction = 'S';     break;      case 'S':     rovers[actualRover].direction = 'W';     break;      case 'W':     rovers[actualRover].direction = 'N';     break;   } } // Función para comprobar si podemos movernos, si no tenemos ni obstáculos ni rovers en la dirección que apuntamos function canMove(x,y){   var direction = rovers[actualRover].direction;    switch(direction){     case 'N':     if(grid[x - 1][y] === 'obstacle'){       console.log('Ups! You can\'t forward in this direction, there is a obstacle.');       return false;     }else if(grid[x - 1][y].includes('rover')){       console.log('Ups! You can\'t forward in this direction, there is an another Rover.');       return false;     }else if(x - 1 < 0){       console.log('Ups! You can\'t exit outside of area!');       return false;     }else if(grid[x - 1][y] === null){       return true;     }   } }  // Función mover, justo antes de mover, llamamos la función canMove function moveForward(roverDirection){    var lastPosX = rovers[actualRover].x;   var lastPosY = rovers[actualRover].y;      //Comprobamos hacia donde mira el Rover, y movemos en esa dirección    switch(roverDirection){     case 'N':     if(canMove(rovers[actualRover].x, rovers[actualRover].y)){       rovers[actualRover].x = rovers[actualRover].x - 1;       grid[rovers[actualRover].y][rovers[actualRover].x] = rovers[actualRover].nombre;       grid[lastPosY][lastPosX] = null;     }     break;      case 'W':     if(esPosible([rovers[actualRover].x, rovers[actualRover].y])){       rovers[actualRover].x = rovers[actualRover].x - 1;              grid[rovers[actualRover].y][rovers[actualRover].x] = rovers[actualRover].nombre;       grid[lastPosY][lastPosX] = null;     }     break;      case 'S':     if(esPosible([rovers[actualRover].x, rovers[actualRover].y])){       rovers[actualRover].y = rovers[actualRover].y + 1;       grid[rovers[actualRover].y][rovers[actualRover].x] = rovers[actualRover].nombre;       grid[lastPosY][lastPosX] = null;     }     break;      case 'E':     if(esPosible([rovers[actualRover].x, rovers[actualRover].y])){       rovers[actualRover].x =rovers[actualRover].x + 1;        grid[rovers[actualRover].y][rovers[actualRover].x] = rovers[actualRover].nombre;       grid[lastPosY][lastPosX] = null;     }     break;   }      // Cambiamos de rover    changeRover();  }  function commands(commands){   for(var i = 0; i < commands.length; i++){       if(commands[i] !== 'l' && commands[i] !== 'r' && commands[i] !== 'b' && commands[i] !== 'f'){         console.log('Command not valid');       } else{       switch(commands[i]){       case 'l':       turnLeft(rovers[actualRover].direction);       break;        case 'r':       turnRight(rovers[actualRover].direction);       break;        case 'f':       rovers[actualRover].travelLog.push([rovers[actualRover].x , rovers[actualRover].y]);       moveForward(rovers[actualRover].direction);       break;        case 'b':       moveBackward();       rovers[actualRover].travelLog.splice((rovers[actualRover].travelLog.length - 1) ,1);       break;     }        }   }  /*if(rovers[actualRover].travelLog.length > 0){    console.log(rovers[actualRover].travelLog)  }*/ }

¿A que se puede deber que no se mueva en el grid?

Existence of transverse null vector bundle in a degenerate Lorentzian hypersurface

This question is cross-posted at https://math.stackexchange.com/questions/3234895/existence-of-transverse-null-vector-bundle

Let $ (M,g)$ be a Lorentzian manifold. Let $ dim(M)=d$ . Given a null hypersurface, i.e., a smooth embedding $ (H, \phi )$ of $ M$ s.t. $ dim(H)=d-1$ , $ h:= \phi ^* g$ over $ H$ is degenerate with $ rank(h_p)=d-2$ at each $ p \in H$ . Let $ \phi^*(TM)$ be the induced bundle of $ M$ over $ H$ .

Define the degenerate subspace as $ C_p H=\{X_p\in T_p H : h(X_p,Y_p) =0, \forall Y_p\in T_pH\}$ , and the corresponding $ CH= \sqcup_{p\in H} C_p H$ . It can be shown that this defines a vertical subbundle of $ TH$ . Consider the complementary bundle of $ \phi'(TH)$ in the induced bundle $ \phi ^*(TM)$ , as say $ RH$ . There is an arbitrary choice of such an $ RH$ ; they are all isomorphic to the normal bundle say $ NH$ , but the choice is by no means unique.

Now the question is about the existence of some specific kind of $ RH$ . Does there exist a choice of $ RH$ s.t. $ CH\oplus RH$ is non-degenerate with respect to the metric $ g$ induced over it? Further, can you make such a choice with the additional constraint that $ RH$ is itself degenerate w.r.t $ g$ induced over it? ([1] for details). I need the existence; the uniqueness I’m sure does not hold.

[1] By $ g$ induced over a vertical subbundle $ E$ of $ \phi^*(TM)$ , I mean the following: let $ \iota:E \rightarrow \phi^*(TM) $ denote the embedding map. Now, it is known that the map $ \phi’ :TH \rightarrow TM$ splits into a vertical and horizontal part over $ \phi^*(TM)$ . Use the horizontal part $ \phi’_h:\phi^*(TM) \rightarrow TM$ , to induce a metric on $ E$ as $ \iota^*(\phi_v^*g)$ . It is with respect to such induced metric that I say that $ RH\oplus CH$ should be non-degenerate, and $ RH$ should be degenerate.

Addendum. The corresponding statement on the level of linear subspaces is true, and I know how to do that. It’s at the level of bundles that it doesn’t seem to work.

Usar case en el select con registros que contienen null en sql server

Deseo una columna estatus creada por mi y esta columna sale tomando en cuenta que tenga 3 fechas diferentes en una sola tabla es decir fecha1,fecha2 y fecha3. Como nota el sql server no soporta el if Las restricciones son -si fecha 1 es diferente de null y fecha2 y fecha3 son null estatus es escriturado -si fecha2 es diferente de null y fecha1 y fecha 3 son null el estatus es en proceso. -si fecha 3 es diferente de null y fecha1 y fecha2 son null el estatus es cancelado -si todas las fechas son null el estatus es terminado

Intente hacer un case en el select pero me marcar error cuando comparo las fechas con is null o is not null. Despues use la funcion isnull() y si corre pero solo para uno o dos restricciones y las demas no las hace o marcar warnings

Saludos

Array.map returns cannot read property map of null

I want to display a list of elements I have in Json.

json is for example:

[{“res”: “1030-1130”},{“res”: “1200-14000”},{“res”: “1800-1930”}]

my code is :

render () {     const items = this.state.JsonList.map(item => <li>{item.res}</li> );     return (       <div>         <ul>           {items}         </ul>       </div> 

But I have the error TypeError: Cannot read property ‘map’ of null

But if I make a console.log of this.state.JsonList it is not empty. Do you know how to solve it ?